通过以下方式:
https://productforums.google.com/forum/#!topic/chrome/8XnSOnhLBzA
>去http://ninite.com/chrome/获得他们的chrome安装程序(但这并没有帮助我,因为我需要在安装Google Chrome后最终打开一个特定的网站)
>现在我正在尝试自己使用Inno Setup,以确保我和Ninite几乎相同
>一旦Inno Setup完成Google Chrome安装,我如何确保使用Google Chrome打开www.stackoverflow.com?
这是我的Inno Setup代码,在第3点没有正确执行:
>安装谷歌浏览器
>安装执行谷歌浏览器后
>但我怎么能告诉谷歌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
以下可能有用,因为我所指的注册表项在
原文链接:https://www.f2er.com/windows/371812.htmlofficial docs
中针对Chrome安装程序进行了描述.有一个注册表项直接包含chrome.exe文件的路径,因此它是恕我直言,是获取Chrome应用程序的最佳选择.文件名.这是关键:
<root>\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe
其中< root>是HKEY_LOCAL_MACHINE还是HKEY_CURRENT_USER注册表根目录,具体取决于是为当前用户安装了Chrome还是为整个系统安装了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,S) then Result := S; end;