卸载完成后Wix打开网页

Oha*_*esh 14 windows-installer wix wix3

我正在使用Wix3.我需要在用户卸载产品时打开网页.
有什么想法可以做到吗?

谢谢.

sas*_*ont 21

这是我们使用的代码的示例,我们实际上并没有在编译时设置URL,而是在MSI后期构建中更新属性,因此这可能看起来有点"过度设计".我们使用WiXShellExec CA并具有附加条件,以便网页仅在卸载期间显示,而不是在主要升级期间显示.

<Fragment>
    <Property Id="MyURL"><![CDATA[http://www.blah.blah.blah/]]></Property>
    <CustomAction Id="SetOpenURL" Property="WixShellExecTarget" Value="[MyURL]" />
    <CustomAction Id="OpenURL" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" Return="ignore" />

    <InstallExecuteSequence>
        <!-- Launch webpage during full uninstall, but not upgrade -->
        <Custom Action="SetOpenURL" After="InstallFinalize"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
        <Custom Action="OpenURL" After="SetOpenURL"><![CDATA[REMOVE ~= "ALL" AND NOT UPGRADINGPRODUCTCODE]]></Custom>
    </InstallExecuteSequence>
</Fragment>
Run Code Online (Sandbox Code Playgroud)


Wim*_*nen 5

在元素下的某处添加这些 XML 元素<Product>

  <CustomAction Id="LaunchBrowser"
        ExeCommand="explorer.exe http://www.google.com"
        Directory="INSTALLDIR"
        Return="asyncNoWait" >
     REMOVE="ALL"
  </CustomAction>

  <InstallExecuteSequence>
     <Custom Action="LaunchBrowser" After="InstallValidate"/>
  </InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

REMOVE="ALL"条件将确保只有在产品被完全移除时才会执行自定义操作。

After="InstallValidate"确保自定义操作执行后马上让REMOVE属性值变为已知。

  • @PhonicUK:对我来说,显示的解决方案已经使用默认浏览器,它在我的系统上是 chrome。请注意 explorer.exe(文件管理器)和 iexplore.exe(IE 浏览器)之间的区别。 (2认同)