【问题标题】:Accessing variable in Wix CustomAction ExecCommand在 Wix CustomAction ExecCommand 中访问变量
【发布时间】:2017-04-17 17:04:33
【问题描述】:

我的 WiX 脚本中有一个自定义操作来复制安装日志:

<CustomAction Id="CopyLogFile" Execute="immediate"
            ExeCommand="cmd /c copy [MsiLogFileLocation] &quot;\&quot;[APPLICATIONFOLDER]Install.log\&quot;&quot;"
            Directory="TARGETDIR"
            Impersonate="no"
            Return="asyncNoWait" />
    <InstallExecuteSequence>
      <Custom Action="CopyLogFile" OnExit="success" />
    </InstallExecuteSequence>

问题在于 APPLICATIONFOLDER 环境变量。无论我如何尝试使用它都不起作用。我尝试了单“,双”,没有“等。没有任何帮助。

如果我像这样对目的地进行硬编码:

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,但对这个问题没有帮助。

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    根据Windows Installer Formatted reference,您的命令行应该是:

    cmd /c copy [MsiLogFileLocation] &quot;\&quot;[%APPLICATIONFOLDER]Install.log\&quot;&quot;
                                                   ^
    

    您缺少环境变量的 % 前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 2012-04-19
      • 1970-01-01
      • 2018-07-27
      相关资源
      最近更新 更多