如何正确使用WIX的SetDirectory

问题描述

我有一个片段可以处理应用程序的安装位置,但是我想安装到自定义位置(C:\ PtecMonitor)vs程序文件(x86)...。

<Fragment>
   <Directory Id="TARGETDIR" Name="SourceDir">
       <Directory Id="WINDOWSVOLUME">
         <Directory Id="INSTALLLOCATION" Name="PtecMonitor" />
       </Directory>
     <Directory Id="ProgramMenuFolder">
       <Directory Id="ApplicationProgramsFolder" Name="Ptec Share Monitor"/>
     </Directory>
   </Directory>
   <SetDirectory Id="WINDOWSVOLUME" Name="[WindowsVolume]" />
</Fragment>

这将引发错误未找到SetDirectory / @ Value属性;这是必需的。

应该在哪里设置SetDirectory才能使其正常工作?

解决方法

<SetDirectory />没有名为“ 名称”的属性,您可能想设置为“ ”。 请参阅文档以获取更多信息 https://wixtoolset.org/documentation/manual/v3/xsd/wix/setdirectory.html

,

SetProperty和SetDirectory是语法糖,可以简化创作MSI Type 51(设置属性)和Type 35(设置目录)自定义操作的过程。通常,类型51应该在成本核算之前安排,类型35应该在成本核算之后安排。