WIX - 从环境变量路径获取源文件

时间:2011-08-02 05:35:27

标签: wix

我是WIX的新手,尝试使用功能树创建一个msi。

  1. 安装程序应安装文件夹C:\ProgramFile\MyDir\MyApp
  2. 中的所有程序集
  3. 从名为MyFolder的环境变量中读取路径。

    <WixVariable Id ="MyFolder" Value="[%MyFolder]"/>
    
  4. 下面是读取程序集的代码。

    <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>
    
  5. 现在我想从文件夹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>
    
  6. 我收到编译错误,说它无法找到bbb.exe。

    请告诉我我哪里出错了。

1 个答案:

答案 0 :(得分:5)

请参阅Preprocessor文档。我想你可以简单地从环境变量中定义的路径中获取bbb.exe:

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