2010-09-02 22 views
6

Estoy tratando de usar la tarea msbuild GenerateBootstrapper para distribuir una aplicación .net con el framework, sin la necesidad de conexión a internet para instalarlo.¿Cómo arrancar .NET 3.5 SP1 con msbuild? las siguientes instrucciones encontradas no funcionan

que he encontrado muchos puestos que todo se relaciona con las mismas instrucciones aquí:

Enable Samesite for the .NET Framework 3.5 SP1 bootstrapper

Después de seguir las instrucciones, todavía no pueden generar el programa previo. El problema más obvio que puedo ver es que la extracción de los archivos de dotNetFx35.exe no extrae la misma lista de archivos y carpetas que se muestra en el archivo Léame (por ejemplo, las carpetas HERRAMIENTAS no están allí).

¿Qué estoy haciendo mal? ¿Estoy siguiendo las viejas instrucciones?

errores msbuild son los siguientes:

C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_x64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_ia64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-x86-en-US.exe'. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-amd64-en-US.exe'. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX2.0-KB948609-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX3.0-KB948610-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX2.0-KB948609-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX3.0-KB948610-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 

Cualquier ayuda sería muy apreciada!

Respuesta

4

He resuelto el problema. El enlace proporcionado por la documentación de Microsoft para descargar el .NET Framework 3.5 SP1 completo no es correcto. El paquete de .NET Framework 3.5 SP1 full install package tiene los archivos esperados dentro.

+1

he encontrado que, además de la corrección 3.5SP1 que se ha mencionado en Mohsen, la respuesta es necesaria para tener ambos paquetes DotNetFX35 y DotNetFX35SP1 en la carpeta SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages de Microsoft – volody

2

echar un vistazo a este

Hola a todos,

Permítanme arrojar algo de luz sobre esta cuestión.

Aún estamos investigando por qué los de clave pública Fichas de los archivos reales son diferentes a lo que tenemos en los archivos product.xml . Huelga decir que algo resbaló a pesar de nuestra prueba . Tiene mis disculpas por eso.

La buena noticia es que el bootstrapper funciona bastante bien en esta situación. Cuando compilamos, comparamos la firma digital del archivo en disco con elPublicKeyToken enumerados en el product.xml o package.xml. Si son diferentes, entonces usamos el valor del archivo real en el disco, ya que este es lo que se copiará y/o publicará en un escenario de "Misma ubicación que mi aplicación" . De esta forma, el bootstrapper funciona correctamente.

Mostramos una advertencia de compilación, para alertar el desarrollador/constructor de que algo es diferente de lo esperado. Este tiene valor en la "descarga desde el sitio Web del de componentes de proveedores" escenario porque si el archivo que se descarga del proveedor de componentes es la misma al igual que en el disco, a continuación, la descarga se no pasan la prueba de certificado y ganó' t instalar. Afortunadamente, en este caso, en ese escenario, solo el archivo dotnetfx35setup.exe es realmente descargado de Microsoft, y esa clave es correcta.

Si desea deshacerse de la acumulación advertencias, puede actualizar su PublicKey en el product.xml con el siguiente valor : 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001

Use esto para ambos archivos XPSEPSC * .

Espero que esto ayude a aclarar las cosas, y vamos a continuar con de seguimiento. Gracias por informar esto, nos ayudará a evitar que más personas se topen con esto.

Sinceramente,

David Guyer Programa Manager - Configuración Proyectos de Visual Studio

-1

1For VS2015, aquí es una solución:

  1. descargar el instalador aquí: http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

  2. Extraer/abierto con 7zip o Winrar y extraer el contence a una carpeta

  3. Copiar/mover todo bajo la carpeta extraída "wcu \ dotNetFramework" camino a:

C: \ Archivos de programa (x86) \ Microsoft Visual Studio 14.0 \ SDK \ Bootstrapper \ Packages \ DotNetFX35SP1

  1. Publicar en VS2015
+0

Inferir la carpeta referenciada debe ser Microsoft Visual Studio 14.0 en lugar de Microsoft Visual Studio 4.0, probé esto sin éxito. Los archivos descargados coincidían exactamente con los suministrados con Visual Studio 2015. La siguiente advertencia desapareció en la compilación y reapareció en Publish: el valor del atributo 'PublicKey' en '.NET Framework 3.5 SP1' no coincide con el del archivo 'C: \ Program Archivos (x86) \ Microsoft Visual Studio 14.0 \ SDK \ Bootstrapper \ Packages \ DotNetFX35SP1 \ dotNetFX30 \ XPSEPSC - x86 - en - US.exe '. – BillVo

Cuestiones relacionadas