Inno设置Chrome的自定义网址

时间:2015-11-01 09:47:53

标签: google-chrome inno-setup custom-url

我正在使用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实现?

1 个答案:

答案 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