我有一个 wix 项目,并且正在通过从 wixproj 文件传递的属性更改产品版本。
我的 wxs 文件会是这样的
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="7a224f9a-0627-4848-8b9e-f037cb409fc6" UpgradeCode="42c97588-6c36-40ef-aeb0-290aaffd6456" Version="$(var.ProductVersion)" Language="1033" Name="Myproj" Manufacturer="My Organization">
我将版本传递为 $(var.Productversion)。在我的 wixproj 中,我正在传递这个变量,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<Version Condition=" '$(Version)' == '' ">1.0.0.5</Version>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>ProductVersion=$(Version)</DefineConstants>
</PropertyGroup>
我通过 Msbuild 传递这个 $version number 属性。但不知何故,该值没有更新。
在 Msbuild 日志文件中,我无法跟踪这一点。有什么方法可以确定版本号是否取自正确的位置并具有我给定的值?
在 wix 中我们是否可以显示正在传递的值?我尝试使用 wixproj Afterbuild target ,显示的数字(2.20.1.2)在 Msi 中没有更新(它是 2.20.1.1)。