visual toolset studio wix .net-4.0 visual-studio-2010

toolset - ¿Cómo puedo hacer un instalador de WiX 3.5 con un instalador completamente autónomo de.NET 4.0?



wix visual studio 2015 (1)

La respuesta corta es cambiar

<ItemGroup> <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" > <ProductName>.NET Framework 3.5 SP1</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" > <ProductName>Windows Installer 3.1</ProductName> </BootstrapperFile> </ItemGroup> <Target Name="setup"> <GenerateBootstrapper ApplicationFile="myproduct.msi" ApplicationName="myproduct" BootstrapperItems="@(BootstrapperFile)" Path="C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/" ComponentsLocation="Relative" OutputPath="$(cddir)" Culture="en"/> </Target>

a

<ItemGroup> <BootstrapperFile Include=".NETFramework,Version=v4.0" > <ProductName>.NET Framework 4.0</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.Windows.Installer.3.1" > <ProductName>Windows Installer 3.1</ProductName> </BootstrapperFile> </ItemGroup> <Target Name="setup"> <GenerateBootstrapper ApplicationFile="myproduct.msi" ApplicationName="myproduct" BootstrapperItems="@(BootstrapperFile)" Path="C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/" ComponentsLocation="Relative" OutputPath="$(cddir)" Culture="en"/> </Target>

Lo descubrí yendo al directorio de arranque de SDK (C: / Archivos de programa / Microsoft SDKs / Windows / v7.0A / Bootstrapper) en mi máquina, para Visual Studios 2010. Debajo hay una lista de proyectos que pueden leerse Wix e incluido para el arranque. En cada carpeta hay un archivo llamado Product.xml. Después de ver la ayuda aquí para crear un instalador .NET 3.5, encontré que el atributo ProductCode en la etiqueta Product aparece para identificar el nombre del elemento boostrap, por lo que cuando cambié el valor al que se hace referencia en C: / Program Files / Microsoft SDKs / Windows / v7.0A / Bootstrapper / Packages / DotNetFX40 / Product.xml funcionó.

Continuando con una pregunta anterior que hice aquí , ahora necesito pasar a vs2010.

Obtuve la versión semanal más reciente de WiX 3.5, la versión del 5 de junio de 2010.

Aquí están las líneas relevantes de mi instalador:

<ItemGroup> <BootstrapperFile Include="Microsoft.Net.Framework.4.0"> <ProductName>.NET Framework 4.0</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.Windows.Installer.4.5"> <ProductName>Windows Installer 4.5</ProductName> </BootstrapperFile> </ItemGroup>

y

<GenerateBootstrapper ApplicationFile="MySetup.msi" ApplicationName="MyProgram" BootstrapperItems="@(BootstrapperFile)" Path="C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/" ComponentsLocation="Relative" OutputPath="$(OutputPath)" Culture="en" />

Sin embargo, simplemente no está funcionando. En vs2010, hay signos de admiración junto a los archivos .NET Framework 4.0 y Windows Installer 4.5, y la página de propiedades los enumera como ''Desconocido BuildAction BootstrapperFile'', y la compilación simplemente no parece instalar .NET 4.0 en absoluto. La advertencia relevante es:

C:/source/depot/project/vs2010/WiXSetup/WiXSetup.wixproj(68,5): warning MSB3155: Item ''Microsoft.Net.Framework.4.0'' could not be located in ''C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/'.