Vous pouvez mettre à jour le OutputName de votre fichier .wixproj et utiliser une variable MSBuild pour passer le numéro de version ou toute autre variable que vous aimez.
scénario
Mon construction ressemble à ceci:
set PRODUCTVERSION=7.1.0.1
MSBuild.exe /p:Configuration=Debug /p:ProductVersion=%PRODUCTVERSION% Installer.wixproj
Et mon projet WiX ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>1.0.0.0</ProductVersion>
<ProjectGuid>{b7415c44-8d59-4ac2-b698-03e399a305e3}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Installer.$(ProductVersion)</OutputName>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
<WixVariables>ProductVersion=$(ProductVersion)</WixVariables>
</PropertyGroup>
...
</Project>
La sortie serait:
Installer.7.1.0.1.msi
Ok, cela fonctionnerait probablement. Je vais essayer ça. Mais je cherchais un moyen plus direct - ou pensez-vous que ce n'est pas supporté par wix? J'ai lu quelque chose sur les variables de liens ici: http://n2.nabble.com/Types-of-variables-question-td3825142.html ! (Wix.Name) obtient ce qu'on appelle WixVariables (peut être défini dans le code source avec l'élément WixVariable, ou transmis sur la ligne de commande de la lumière et/ou allumé d'une manière similaire aux variables du préprocesseur sont passées à la bougie). Mais cela ne semble pas fonctionner. – Jan
Je l'ai mentionné de cette façon, car c'est le moyen le plus rapide et le plus simple de le gérer. Comme tant d'autres problèmes de développement, souvenez-vous toujours de KISS. –
Renommer le MSI est une mauvaise idée. Ne fais pas ça! http://blogs.msdn.com/b/robmen/archive/2004/12/08/278746.aspx – l33t