无论如何,要在Wix WXS文件中创建自定义MSBUILD属性



我的目标是在Wix 3.6项目中使用版本号自动使用输出MSI文件。我发现此链接:WIX的自动安装程序编号,重新访问,但我们的情况略有不同:我们不想通过引用任何汇编版本编号来控制我们的产品版本号。相反,我们只是想在Wix文件中分配它。具体来说,我有一个WXI文件,该文件定义了这样的属性:

<?define VersionNumber = "1.1.2000" ?>  

因此,我可以在我们的product.wxs文件中的任何地方使用此版本number变量。但是,由于将输出MSI文件重命名的最简单方法似乎是在MSBuild中添加了后建筑任务,因此我必须将此版本命名将其传递到MSBUILD项目文件中。这就是阻止我的原因。

我尝试了另一种方法,即,在MSBuild中定义了版本命名的常数,并在Wix内使用它。它可以正常工作,除非我必须保持相同的恒定,以进行不同的构建/平台组合。我们正在与IDE构建软件,这意味着,如果我们修改IDE窗口中的版本号,它将仅适用于特定的构建/平台组合,而其他组合将保持不变(我知道如果我从命令行构建,我可以可以只需传递版本号即可覆盖现有的版本)。这就是我不想看到的。我喜欢这个想法仅在一个地方定义版本编号,以避免任何可能的错误。

任何帮助将不胜感激!

在设置项目属性的"构建"选项卡中选择"所有配置"one_answers"所有平台"之后,定义预处理器变量。

您可以通过将.wixproj中的元素添加到一个只需保留版本编号的项目中来实现这一目标。您需要修改.wixproj,但只有一次。您可能可以使用合理的操作(无?)将此属性文件添加到.wixproj本身中,因此您可以从IDE中进行修改。

类似:

version.properties

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <WhateverTheVersionPropertyNameIs>x.x.x.x</WhateverTheVersionPropertyNameIs>
  </PropertyGroup>
</Project>

在您的.wixproj文件中,您要在结尾处添加

<Import Project="Version.properties"/>

相关内容

  • 没有找到相关文章