Puede actualizar el OutputName de su .wixproj y usar una variable MSBuild para pasar el número de versión o cualquier otra variable que desee.
Mi escritura de la estructura se parece a esto:
set PRODUCTVERSION=7.1.0.1
MSBuild.exe /p:Configuration=Debug /p:ProductVersion=%PRODUCTVERSION% Installer.wixproj
Y mi proyecto WiX se ve así:
<?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 salida sería:
Installer.7.1.0.1.msi
Ok, eso funcionaría probablemente. Voy a probar eso. Pero estaba buscando una forma más directa, ¿o crees que esto no es compatible con wix? He leído algo sobre las variables del vinculador aquí: http://n2.nabble.com/Types-of-variables-question-td3825142.html ! (Wix.Name) obtiene lo que se llama WixVariables (se puede definir en el código fuente con el elemento WixVariable, o pasado en la línea de comando de luz y/o iluminado de manera similar a las variables de preprocesador que se pasan a la vela). Pero eso no parece funcionar. – Jan
Lo mencioné de esta manera ya que es la forma más rápida y sencilla de manejarlo. Al igual que muchos otros problemas de desarrollo, siempre recuerde KISS. –
Renombrar el MSI es una mala idea. No lo hagas! http://blogs.msdn.com/b/robmen/archive/2004/12/08/278746.aspx – l33t