Inno Setup – 如何告诉安装程序执行Google Chrome时,应该打开

通过以下方法: https : //!topic/chrome/8XnSOnhLBzA

这里是我的Inno Setup的代码,在第三点没有正确的做:

  1. 安装Google Chrome

  2. 安装后执行Google Chrome

  3. 但我怎么能告诉谷歌浏览器 – 执行第一个链接

; 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 "" #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 

Solutions Collecting From Web of "Inno Setup – 如何告诉安装程序执行Google Chrome时,应该打开"

以下可能会起作用,因为我提到的注册表键是在Chrome安装程序的official docs描述的。 有一个注册表键,它直接包含chrome.exe文件的路径,所以它是恕我直言最好的选择,以获得Chrome应用程序。 文件名。 这是关键:

 <root>\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe 


在下面的脚本中,我正在使用上面的关键字来获取Chrome应用程序。 文件名,但即使确定是否安装了Chrome:

 [Files] Source: "chrome_installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall [Run] Filename: "{tmp}\chrome_installer.exe"; Check: not IsChromeInstalled Filename: "{code:GetChromeFileName}"; Parameters: ""; \ 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;