0

私は 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>

この $version number プロパティを Msbuild に渡しています。しかし、どういうわけか値は更新されません。

Msbuild ログ ファイルでは、これを追跡できません。バージョン番号が正しい場所から取得され、私が指定した値を持っているかどうかを確認する方法はありますか?

wixで渡された値を表示できるかどうか? wixproj Afterbuild target で試してみましたが、表示される数字(2.20.1.2)がMsiで更新されていません(2.20.1.1です)。

4

1 に答える 1