【问题标题】:Cannot run default browser from WIX installation无法从 WIX 安装运行默认浏览器
【发布时间】:2014-12-17 16:42:55
【问题描述】:

From tutorial:

<Property Id="BROWSER">
  <RegistrySearch Id='DefaultBrowser' Type='raw' Root='HKCR' Key='http\shell\open\command' />
</Property>

<CustomAction Id='LaunchBrowser' Property='BROWSER' ExeCommand='www.something.com' Return='asyncNoWait' />

<InstallExecuteSequence>
  ...
  <Custom Action='LaunchBrowser' After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>

从安装跟踪中可以看出,属性 BROWSER 计算正确:

属性(S): BROWSER = "C:\Program Files (x86)\Internet Explorer\iexplore.exe" -nohome

但是安装后浏览器打不开。

MSI (s) (88:90) [18:38:30:331]:执行操作:LaunchBrowser MSI (s) (88:90) [18:38:30:331]: 注意: 1: 2205 2: 3: ActionText 动作开始 18:38:30:启动浏览器。行动于 18:38:30 结束:安装。返回值 1. 行动于 18:38:30 结束:LaunchBrowser。返回值 1631.
...
MSI (c) (64:6C) [18:38:30:409]:产品:WebPrintingService -- 安装成功完成。

可能出了什么问题?

Windows 7。 UAC - 默认。

更新:
作为一种解决方法,可以使用以下代码(但我不确定这是一个好的解决方法):

<Property Id="BROWSER">
  <RegistrySearch Id='DefaultBrowser' Type='raw' Root='HKCR' Key='http\shell\open\command' />
</Property>

<CustomAction Id="LaunchBrowser" Directory="INSTALLDIR" Impersonate="no" Execute="deferred" ExeCommand='[BROWSER] "test.html"' Return="check"/>

<InstallExecuteSequence>
  <Custom Action='LaunchBrowser' Before='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>

【问题讨论】:

    标签: wix windows-installer wix3.8


    【解决方案1】:

    我还没有制作一个可以在安装后运行默认浏览器的安装程序,但我已经制作了一个带有 WiX 的安装程序,它可以启动已安装的应用程序。据我所知, ExeCommand 属性必须包含可执行文件的文件路径。它可以是您计算机上的直接路径,也可以是您定义的包含文件路径的字符串属性。也许你可以告诉程序它应该打开哪个文件,在你的情况下是一个网站。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-28
      • 2011-05-28
      • 1970-01-01
      • 2013-03-13
      • 2012-05-17
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      相关资源
      最近更新 更多