我已经为Chrome(.crx文件),Mozilla Firefox(.xpi文件),Internet Explorer(.exe文件)创建了扩展工具栏。我现在只需要为所有这三个文件创建一个安装程序(EXE或MSI)。

请不要告诉CrossRider;我不知道如何将其用于已创建的第三方扩展。我不想将代码再次写入CrossRider。如果您知道如何使用我已经编写的代码,那就可以了。否则建议别的东西。

您还可以告诉我如何使用NSIS / Inno Setup / Advanced Installer创建用于浏览器扩展的安装程序包。

最佳答案

我们如何使用Inno Setup做到这一点。

;Create Directory for Mozilla and Chrome

[Dirs]
Name: "{pf}\[Directory Name]"
Name: "{reg:HKLM\Software\Google\Chrome\Extensions,Path|{pf}\[Directory Name]}"
Name: "{reg:HKLM\Software\Mozilla\Firefox\Extensions,Path|{pf}\[Directory Name]}"

;Add Files

[Files]
Source: "Sample.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "sample@sample.com.xpi"; DestDir: "{pf}\[Directory Name]"; Flags: ignoreversion
Source: "phogkfodcfpcnalkmlcjmlnhgjacapcf\sample_chrome.crx"; DestDir: "{pf}\[Directory Name]"; Flags: ignoreversion

;Create Registry

[Registry]
Root: "HKLM"; Subkey: "Software\Google\Chrome\Extensions\mefpokegaaknljjamcdfhnimiiogmogk"; ValueType: string; ValueName: "Path"; ValueData: "{pf}\[Directory Name]\sample_chrome.crx"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "Software\Google\Chrome\Extensions\mefpokegaaknljjamcdfhnimiiogmogk"; ValueType: string; ValueName: "Version"; ValueData: "1.4"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "Software\Mozilla\Firefox\Extensions"; ValueType: string; ValueName: "sample@sample.com"; ValueData: "{pf}\[Directory Name]\sample@sample.com.xpi"; Flags: uninsdeletekey

;Run Exe file

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

10-07 19:10
查看更多