В моем Defines.wxi у меня есть:
<?define MajorVersion="1" ?>
<?define MinorVersion="08" ?>
<?define BuildVersion="11" ?>
В моем MyProject.Setup.wixproj у меня есть:
<OutputName>MyProject</OutputName>
<OutputType>Package</OutputType>
Можно ли каким-либо образом включить переменные версии в имя файла, чтобы мой файл можно было назвать MyProject.1.08.11.msi?
Это не сработало (такая переменная не определена):
<OutputName>MyProject-$(MajorVersion)</OutputName>
<OutputType>Package</OutputType>
Это не сработало (такая переменная не определена):
<Target Name="AfterBuild" Condition="'$(Configuration)' == 'Release'">
<Copy SourceFiles="$(OutputPath)$(OutputName).msi" DestinationFiles="C:\$(OutputName)-$(MajorVersion).msi" />
</Target>
Мне кажется очень понятным, что $(MajorVersion) не является правильным способом получения определения из файла Defines.wxi. Что такое?
Обновление
Я попытался поместить это в MyProject.Setup.wixproj:
<InstallerMajorVersion>7</InstallerMajorVersion>
<InstallerMinorVersion>7</InstallerMinorVersion>
<InstallerBuildNumber>7</InstallerBuildNumber>
...
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>PrebuildPath=..\..\obj\prebuild\web\;InstallerMajorVersion=$(InstallerMajorVersion);InstallerMinorVersion=$(InstallerMinorVersion);InstallerBuildNumber=$(InstallerBuildNumber)</DefineConstants>
</PropertyGroup>
И это в Defines.wxi:
<?define MajorVersion="$(var.InstallerMajorVersion)" ?>
<?define MinorVersion="$(var.InstallerMinorVersion)" ?>
<?define BuildVersion="$(var.InstallerBuildNumber)" ?>
<?define Revision="0" ?>
<?define VersionNumber="$(var.InstallerMajorVersion).$(var.InstallerMinorVersion).$(var.InstallerBuildNumber)" ?>
Не работает. Получили эти сообщения об ошибках:
- Значение атрибута Product/@Version, '..', не является допустимой версией. Значение юридической версии должно выглядеть так: "x.x.x.x", где x - целое число от 0 до 65534.
- Атрибут Product/@Version не найден; это требуется.