我有一个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目标,显示的数字(2.20.1.2)在Msi中没有更新(它是2.20.1.1)。
答案 0 :(得分:0)
如果您的项目中使用了AssemblyVersion.wxi
文件,则可以在此文件中的MSBuild文件中更新相同的产品版本。然后,通过引用$(var.ProductVersion)
将从该文件中引用相同内容。
如果您不太清楚,我可以根据需要详细说明。