¿Qué significa la condición de “VSDFXAvailable” media? (¿Por qué mi costumbre .net-Setup?)

StackOverflow https://stackoverflow.com/questions/4588437

Pregunta

En Visual Studio 2010 He fijado un proyecto "instalador de Visual Studio" que incluye una acción personalizada.

En mi máquina de desarrollo del instalador funciona como está previsto.

En dos máquinas de prueba (Windows 7 con .NET 4.0 instalado) falla la instalación.

La configuración está solicitando / intentar la instalación de .NET Framework 4.0 (que ya está ahí).

usando msiexec Installer.msi / L * test.log V I produjo un registro detallado, extracto a continuación.

Este me lleva a creer que mi problema está relacionado con la evaluación fallido de la condición de inicio

VSDFXAvailable

Con Google Encuentro única referencia a los archivos de registro pegados.

Lo que esta condición es aún acerca? Alguien puede tener una mirada en el archivo de registro y confirmar que esta es la causa del error?

Gracias!

El registro completo está aquí: http://codetidy.com/359

Action start 17:19:49: VSDCA_VsdLaunchConditions.
INFO   : [01/01/2011 17:19:49:377] [VsdLaunchConditions                   ]: Custom Action is starting...
INFO   : [01/01/2011 17:19:49:378] [VsdLaunchConditions                   ]: CoInitializeEx - COM initialization Apartment Threaded...
INFO   : [01/01/2011 17:19:49:378] [VsdLaunchConditions                   ]: Enumerating table using SQL statement: 'SELECT * FROM `_VsdLaunchCondition`'
INFO   : [01/01/2011 17:19:49:379] [VsdLaunchConditions                   ]: Calling MsiGetActiveDatabase...
INFO   : [01/01/2011 17:19:49:379] [VsdLaunchConditions                   ]: MsiDatabaseOpenViewW - Prepare Database to view table...
INFO   : [01/01/2011 17:19:49:380] [VsdLaunchConditions                   ]: TMsiViewExecute - Open Database view on table...
INFO   : [01/01/2011 17:19:49:380] [VsdLaunchConditions                   ]: Checking a launch condition...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: Getting the condition to evaluate...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Fetching value...
INFO   : [01/01/2011 17:19:49:381] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Getting value from column '1'...
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: Evaluating condition 'VSDFXAvailable'...
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: RESULT:    Condition is false.
INFO   : [01/01/2011 17:19:49:382] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Fetching value...
INFO   : [01/01/2011 17:19:49:383] [VsdLaunchConditions                   ]: MsiRecordGetStringW - Getting value from column '2'...
This setup requires the .NET Framework version 4.0.  Please install the .NET Framework and run this setup again.  The .NET Framework can be obtained from the web.  Would you like to do this now?
INFO   : [01/01/2011 17:19:49:384] [VsdLaunchConditions                   ]: MsiSetPropertyW - Setting Property Value...
MSI (s) (24!FC) [17:19:49:384]: PROPERTY CHANGE: Adding HideFatalErrorForm property. Its value is 'TRUE'.
INFO   : [01/01/2011 17:19:49:384] [VsdLaunchConditions                   ]: MsiSetPropertyW - Setting property 'HideFatalErrorForm' to 'TRUE'.
ERROR  : [01/01/2011 17:19:49:385] [VsdLaunchConditions                   ]: Custom Action failed with code: '1603'
INFO   : [01/01/2011 17:19:49:385] [VsdLaunchConditions                   ]: Custom Action completed with return code: '1603'
CustomAction VSDCA_VsdLaunchConditions returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 17:19:49: VSDCA_VsdLaunchConditions. Return value 3.
Action ended 17:19:49: INSTALL. Return value 3.
¿Fue útil?

Solución

Esta propiedad parece ser utilizado por un .NET Framework condiciones de lanzamiento. Trate de ver tabla RegLocator en su MSI para ver si la condición de inicio utiliza una búsqueda de Windows Installer. Si lo hace, compruebe si existe la entrada de registro de destino en su máquina.

Además, asegúrese de que la instalación de .NET Framework coincide con la plataforma paquete. Por ejemplo, un instalador de 32 bits más probable es que no detectar un 64-bit .NET Framework.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top