In Visual Studio 2010 habe ich ein Projekt "Visual Studio Installer" eingerichtet, das eine benutzerdefinierte Aktion enthält.Was bedeutet die Bedingung "VSDFXAvailable"? (Warum schlägt mein benutzerdefiniertes .net-Setup fehl?)
Auf meiner Entwicklungsmaschine funktioniert das Installationsprogramm wie vorgesehen.
Auf zwei Testmaschinen (Windows 7 mit der .net 4.0 installiert) schlägt die Installation fehl.
Die Installation fordert/versucht die Installation des .NET 4.0-Frameworks (das bereits vorhanden ist).
mithilfe von msiexec installer.msi/L * V test.log Ich erstellte ein ausführliches Protokoll, Auszug unten.
Dies führt mich mein Problem an den ausgefallenen Auswertung der Startbedingung
VSDFXAvailable
mit Google finde ich nur Bezug auf die eingefügten Protokolldateien verwandt ist zu glauben.
Worum geht es in diesem Zustand überhaupt? Kann jemand die Protokolldatei ansehen und bestätigen, dass dies den Fehler verursacht?
Danke!
Das vollständige Protokoll ist hier: 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.
Ich habe das MSI mit Orca überprüft, aber die RegLocator-Tabelle ist leer. Ich glaube Windows 32 Bit auf allen Rechnern zu haben, aber ich werde das nochmal überprüfen. – Cilvic
Ich habe das Installationsprogramm so geändert, dass ".net frame work 4.0" anstelle von ".net framework 4.0 Client Profile" erforderlich ist. – Cilvic