安装程序有条件地拾取文件

时间:2015-08-06 19:49:54

标签: wix windows-installer

我正在构建一个Wix安装程序,我需要两个不同版本的安装程序。一个可以获得项目的最新开发版本,另一个可以获得最新的版本。目前我的片段看起来像这样:

fetch

我对msi进行了转换,在构建后转换文件。但问题是文件是在编译时而不是安装时间拾取的,因此安装程序的两个版本最终都包含在其中的相同文件。知道如何在同一个wix项目中有条件地获取dev文件或rel文件吗?

1 个答案:

答案 0 :(得分:1)

如果要根据构建质量(调试版本)创建安装包,则可以使用两个产品配置并根据它选择源。这样,您可以运行两次msbuild,每个配置一个。我不明白你提到的转变的目的。

以下是您可以采取的步骤:

  1. 创建一个空的解决方案。
  2. 将wixproj添加到其中。
  3. 将csproj添加到其中。
  4. 将csproj的引用添加到wixproj。
  5. 修改您的File[Source]以使用项目参考:
  6. <File Source="$(var.MyProject.TargetPath)" Id="ProjectExe" />
    

    $(var.MyProject.TargetPath)将自动从正确的路径获取exe。

    1. 使用以下命令创建批处理文件以运行msbuild两次,每个配置一个:
    2. C:\> msbuild mySolution.sln /p:Configuration=Debug
      C:\> msbuild mySolution.sln /p:Configuration=Release
      

      结果将是两个安装包,每个配置一个。