我正在使用Eclipse和Inno Setup来创建一个小应用程序。使用Ant进行编译。一切正常,我可以找到生成默认.iss的位置,将其放在我的Eclipse包中并修改它以使我的安装程序注入注册表项以使Windows支持我的应用程序自定义URL。
(project/build/package/windows/myapp.iss
,添加[Registry]
部分)
它可以在IE和Edge下运行,但遗憾的是不适用于Chrome,因为Google在自定义网址时决定不关注注册表...
您是否知道是否可以通过Inno Setup安装程序为Chrome安装自定义网址?
到目前为止我所知道的是我们需要修改%localappdata%/Google/Chrome/User Data/Local State
来添加协议,但它是否可以通过Inno Setup实现?
答案 0 :(得分:1)
Chrome的var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
headID.appendChild(newScript);
配置文件采用JSON格式。
Inno Setup不支持JSON。您可以尝试使用简单的字符串操作手动破解文件。
但是我建议你使用一些第三方库来解析JSON,比如TLama's Inno JSON Config library。
代码如下所示。
代码在JSON中添加/设置此键。我希望这就是你所追求的。
Local State
"protocol_handler": {
"excluded_schemes": {
"myprotocol": true
}
}
该代码需要Unicode版本的Inno Setup。
另见Inno Setup: Working with JSON。
还有另一种实现,JsonParser。