我的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"
哪个不起作用。 有任何想法吗?感谢。
答案 0 :(得分:1)
为什么您首先要使用自定义操作停止使用CACLS? WiX / MSI已具有built in permissions manipulation功能。保持声明不是必要的,安装程序的质量将大大提高,同时通过不重新发明轮子节省您的时间。
答案 1 :(得分:1)
你有没有尝试过:
<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但是如果我没记错的话,如果您的自定义操作计划在安装过程中运行,系统会对系统进行更改,则必须使用特殊属性能够访问信息。