C# WiX-从磁盘启动程序?
我有一个工作的WIX3.5安装程序。成功安装后,我知道如何让WiX启动刚刚安装的应用程序 但是,我还想在安装CD时附带一个从CD本身运行的小应用程序——我希望在主应用程序安装结束时弹出这个窗口。第二个应用程序必须从CD运行,这一点很重要 我的第一次尝试(在安装结束时启动了主应用程序)是:C# WiX-从磁盘启动程序?,c#,installation,wix,C#,Installation,Wix,我有一个工作的WIX3.5安装程序。成功安装后,我知道如何让WiX启动刚刚安装的应用程序 但是,我还想在安装CD时附带一个从CD本身运行的小应用程序——我希望在主应用程序安装结束时弹出这个窗口。第二个应用程序必须从CD运行,这一点很重要 我的第一次尝试(在安装结束时启动了主应用程序)是: <UI> <!-- <UIRef Id="WixUI_Minimal" /> --> <Publish Dialog="ExitDialog"
<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" />
WIXUI_EXITDIALOGOPTIONALCHECKBOX=1且未安装
但是,我想将其更改为启动类似于“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所在的位置。如果文件找不到,你可以考虑添加一个条件来做一些有用的事情。如果我尝试这段代码,我会得到“Property/@Id属性的值,'WixShellExecTarget',不能包含小写字符。因为这是一个搜索属性,它也必须是一个公共属性。这意味着Property/@Id值必须完全是大写的。”但是如果我将Id和其他所有内容更改为大写,则会出现相同的错误。有什么想法吗?