WiX - 从磁盘启动程序
本文关键字:启动 程序 磁盘 WiX | 更新日期: 2023-09-27 18:35:03
我有一个有效的WiX 3.5安装程序。成功安装后,我知道如何让WiX启动刚刚安装的应用程序。
但是,我还想随一个从 CD 本身运行的小应用程序一起提供我的安装 CD - 我希望在主应用程序安装结束时弹出它。第二个应用程序从 CD 运行非常重要。
我的第一次尝试 - 在安装结束时启动主应用程序 - 是这样的:
<UI>
<!-- <UIRef Id="WixUI_Minimal" /> -->
<Publish Dialog="ExitDialog"
Control="Finish"
Event="DoAction"
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch MyInstalledApp" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Property Id="WixShellExecTarget" Value="[#MyInstalledApp.exe]" />
<CustomAction Id="LaunchApplication"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="yes" />
但是,我想更改它以启动类似"D:''MyTinyApp.exe"的东西。如何使用 WiX 寻址源 CD?
试一试。假设您要执行的文件与 MSI 文件位于同一位置,您必须先找到它:
<Property Id='WixShellExecTarget'>
<DirectorySearch Id='DirSearch' Path='[SOURCEDIR]' Depth='0'>
<FileSearch Id='FileSearch' Name='MyFileToRun.exe'/>
</DirectorySearch>
</Property>
<CustomAction Id="LaunchApplication"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="yes" />
[SourceDir] 是关键。它应该是MSI所在的地方。您也可以考虑添加一个条件,以便在找不到文件时执行一些有用的操作。