我的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"


这不起作用。
有任何想法吗?谢谢。

最佳答案

你试过了吗:

<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了,但是如果我没记错的话,如果您的自定义操作计划在安装过程中运行,在安装过程中对系统进行了更改,那么您必须使用特殊属性才能访问信息。

关于c# - Wix:CustomAction中二进制文件的路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4454535/

10-10 04:59