2017-04-17 4 views
0

私は、インストールログをコピーするには、私の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を見ましたが、この問題では役に立ちません。

答えて

0

Windows Installer Formatted referenceによると、あなたのコマンドラインは次のようになります。あなたは環境変数の%接頭辞が欠けている

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