我的wxs文件中有以下代码
<Directory Id="TempFolder" Name="Temp">
<Component Id="TempExes" Guid="DF92ED79-28AB-4E88-81F2-8B035D4B8A01" DiskId="1">
<File Id="CACLS_EXE" Name="CACLS.EXE" Source="Binary\CALCS.EXE" />
</Component>
</Directory>现在,当我从安装程序调用自定义操作时,我如何获得此exe的路径?我试过了
var pathToExe = session.GetTargetPath("TempFolder") + "CACLS.exe"这不管用。有什么想法吗?谢谢。
发布于 2010-12-16 05:41:15
你有没有尝试:
<Directory Id="TEMPFOLDER" Name="Temp">
<Component Id="TempExes" Guid="DF92ED79-28AB-4E88-81F2-8B035D4B8A01" DiskId="1">
<File Id="CACLS_EXE" Name="CACLS.EXE" Source="Binary\CALCS.EXE" />
</Component>
</Directory>和
var pathToExe = session.GetTargetPath("TEMPFOLDER") + "CACLS.exe"公共属性都是大写的。
我已经有一段时间没有使用wix了,但是如果我没记错的话,如果您的自定义操作计划在对系统进行更改的安装过程中运行,那么如果您希望能够访问这些信息,您必须使用一个特殊的属性。
发布于 2010-12-16 05:05:38
为什么您一开始就使用CACLS的自定义操作退出进程呢?WiX / MSI已具有built in permissions manipulation功能。保持声明性,而不是强制性的,你的安装程序的质量将大大提高,同时通过不重复发明轮子来节省你的时间。
https://stackoverflow.com/questions/4454535
复制相似问题