我有一个WIX项目,并希望在复制所有文件时执行.exe。但我不希望这个.exe被“安装”。我怎样才能做到这一点?原因是,我的安装程序将文件放在IIS中的虚拟文件夹中,并且在安装后将.exe放在那里不是一个选项。
答案 0 :(得分:0)
我选择将文件放在通过IIS无法访问的文件夹中,以便在安装过程中需要运行.exe的每个安装程序都指向该文件。例如:
<Property Id="EXEAPPLOCATION">
<DirectorySearch Id="mpfAppFolder" Depth="1" Path="C:\Program Files\mypath\Tools\">
<FileSearch Id="my.exe" Name="my.exe" />
</DirectorySearch>
</Property>
<CustomAction Id="RunExecutable"
Property="EXEAPPLOCATION"
ExeCommand='-source="c:\test.txt"'
Execute="deferred"
Return="check"
Impersonate="no"/>
答案 1 :(得分:0)
您可以使用SfxCa.exe将exe打包在自定义动作包装器DLL中。这会导致exe在安装期间被提取到临时目录并在之后被删除。然后,可以使用自定义操作在安装期间执行该文件。这对于运行临时exe来说是一种更清洁的方法。