我的WiX脚本中有自定义操作来复制安装日志:
<CustomAction Id="CopyLogFile" Execute="immediate"
ExeCommand="cmd /c copy [MsiLogFileLocation] "\"[APPLICATIONFOLDER]Install.log\"""
Directory="TARGETDIR"
Impersonate="no"
Return="asyncNoWait" />
<InstallExecuteSequence>
<Custom Action="CopyLogFile" OnExit="success" />
</InstallExecuteSequence>
问题是APPLICATIONFOLDER环境变量。无论我如何尝试使用它都无效。我试过单&amp; quot,double&amp; quot,no&amp; quot等等。没有任何帮助。
如果我像这样硬编码目的地:
ExeCommand="cmd /c copy [MsiLogFileLocation] c:\temp\Install.log"
它工作正常。
但是,我需要将安装日志复制到用户计算机上的某个已知位置。
我查看了WiX CustomAction ExeCommand failing?和Not able to send Wix SourceDir path with spaces to custom action ExeCommand,但这对此问题没有帮助。
答案 0 :(得分:0)
根据Windows Installer Formatted reference,您的命令行应该是:
cmd /c copy [MsiLogFileLocation] "\"[%APPLICATIONFOLDER]Install.log\""
^
您缺少环境变量的%
前缀。