WIX有条件地改变TARGETDIR

时间:2015-04-17 14:43:57

标签: wix

我需要能够更改TARGETDIR,以便在安装主程序的驱动器上创建我的'logs'文件夹(在本例中为Drive D)。通过搜索注册表,我可以获得主程序的位置:

<Directory Id="TARGETDIR" Name="SourceDir" >
    <Directory Id="LOGS" Name="logs" />
</Directory>

<Property Id="KBX_INSTALLED">
  <RegistrySearch Id="KBXRegistrySearch" Root="HKLM" Key="SOFTWARE\KBX" Name="InstallPath" Win64="no" Type="directory" />
</Property>

我尝试使用CA和vbscript更改TARGETDIR属性值,但仍然在C驱动器上创建logs文件夹

<CustomAction Id="CHANGE_TARGET" Script="vbscript">
  <![CDATA[  
    MsgBox(session.Property("TARGETDIR")) 'Returns C:\
    MsgBox(session.Property("KBX_INSTALLED")) 'Returns D:\Program Files\KBX\
    If session.property("KBX_INSTALLED") = "D:\Program Files\KBX\" Then
      session.property("TARGETDIR") = "D:\"
    End if   
    MsgBox(session.Property("TARGETDIR")) 'Returns D:\
    ]]>
</CustomAction>

<InstallExecuteSequence>
  <Custom Action="CHANGE_TARGET" After="InstallValidate">NOT Installed</Custom>
</InstallExecuteSequence>

任何建议都表示赞赏。

0 个答案:

没有答案