2011-08-02 90 views
2

我是WIX的新手,嘗試使用功能樹創建msi。WIX - 從環境變量路徑獲取源文件

  1. 安裝程序應該安裝文件夾C:\ProgramFile\MyDir\MyApp中的所有程序集。
  2. 從環境變量MyFolder讀取路徑。

    <WixVariable Id ="MyFolder" Value="[%MyFolder]"/> 
    
  3. 以下是從何處讀取程序集的代碼。

    <Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder" Name="ProgramFilesFolder"> 
    <Directory Id="ProgramFilesFolder.MyDIR" Name="MyDIR"> 
    <Directory Id="PROGRAMFILESFOLDER.MyDIR.MyApp" Name="MyApp"> 
    
    <Component Id="Component.aaa.dll" Guid="guid1"> 
        <File Id="aaa.dll" Source="..\..\OutPut\aaa.dll" /> 
    </Component> 
    
  4. 現在我想從它是一個環境變量的文件夾MyFolder獲得組件並將它添加到我的源

    <Directory Id="MyFolder" Name="MyFolder" SourceName="MyFolder"> 
        <Component Id="Component.bbb.exe" Guid="guid2"> 
        <File Id="bbb.exe" Name="bbb.exe" Vital="yes" Source=MyFolder + bbb.exe /> 
        </Component> 
    </Directory> 
    

我收到一個編譯錯誤,稱這是無法找到bbb.exe。

請讓我知道我要去哪裏錯了。

回答

5

查看Preprocessor文檔。我認爲你可以簡單地做到這一點,以獲得環境變量中定義的路徑bbb.exe:

<File Id="bbb.exe" Name="bbb.exe" Vital="yes" Source="$(env.MyFolder)bbb.exe" /> 
+0

我認爲這是做到這一點的正確方法。我將嘗試刪除我的答案,因爲它不起作用。 –

+0

非常感謝Wimmel,您的解決方案工作。 – user873888