通过以下方法: https : //productforums.google.com/forum/#!topic/chrome/8XnSOnhLBzA
去http://ninite.com/chrome/得到他们的铬安装程序(但这不是帮助我,因为我需要在最终打开一个特定的网站,一旦谷歌浏览器安装)
现在我正在尝试使用Inno Setup,以确保我和Ninite几乎一样
一旦Inno安装完成了Google Chrome的安装,我怎样才能确保使用Google Chrome打开www.stackoverflow.com?
这里是我的Inno Setup的代码,在第三点没有正确的做:
安装Google Chrome
安装后执行Google Chrome
但我怎么能告诉谷歌浏览器 – 执行第一个链接:www.stackoverflow.com?
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "My Program" #define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "ChromeSetup (1).exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FCF7940A-D96F-4A7A-9C69-C9DFE8BB308A} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputDir=C:\Users\sun\Desktop\Nieuwe map OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Users\sun\Downloads\ChromeSetup (1).exe"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
以下可能会起作用,因为我提到的注册表键是在Chrome安装程序的official docs
描述的。 有一个注册表键,它直接包含chrome.exe
文件的路径,所以它是恕我直言最好的选择,以获得Chrome应用程序。 文件名。 这是关键:
<root>\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe
其中<root>
是HKEY_LOCAL_MACHINE
或HKEY_CURRENT_USER
注册表根,取决于Chrome是为当前用户安装还是为整个系统全局安装。
在下面的脚本中,我正在使用上面的关键字来获取Chrome应用程序。 文件名,但即使确定是否安装了Chrome:
[Files] Source: "chrome_installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall [Run] Filename: "{tmp}\chrome_installer.exe"; Check: not IsChromeInstalled Filename: "{code:GetChromeFileName}"; Parameters: "www.stackoverflow.com"; \ Check: IsChromeInstalled [Code] const ChromeAppRegKey = 'Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe'; function IsChromeInstalled: Boolean; begin { check if there's the Chrome app registration entry under the HKCU, or } { HKLM root key, return the result } Result := RegKeyExists(HKEY_CURRENT_USER, ChromeAppRegKey) or RegKeyExists(HKEY_LOCAL_MACHINE, ChromeAppRegKey); end; function GetChromeFileName(Value: string): string; var S: string; begin { initialize returned value to an empty string } Result := ''; { first attempt to read the Chrome app file name from the HKCU root key; } { if that fails, try to read the same from HKLM; if any of that succeed, } { return the obtained registry value } if RegQueryStringValue(HKEY_CURRENT_USER, ChromeAppRegKey, '', S) or RegQueryStringValue(HKEY_LOCAL_MACHINE, ChromeAppRegKey, '', S) then Result := S; end;