Что означает условие «VSDFXAvailable»?(Почему мой пользовательский .net-Setup терпит неудачу?) - PullRequest
1 голос
/ 04 января 2011

В Visual Studio 2010 я настроил проект «Установщик Visual Studio», который включает в себя настраиваемое действие.

На моем компьютере разработчика программа установки работает как положено.

На двух тестовых машинах (windows 7 с установленным .net 4.0) установка завершается неудачно.

Установка запрашивает/ попытка установки .net 4.0 framework (которая уже есть).

с использованием msiexec installer.msi / L * V test.log Я создал подробный журнал, выдержка ниже.

Это заставляет меня поверить, что моя проблема связана с ошибочной оценкой условия запуска

VSDFXAvailable

В Google я нахожу только ссылку на вставленные файлы журнала.

Что это за условие?Может кто-нибудь взглянуть на файл журнала и подтвердить, что это вызывает ошибку?

Спасибо!

Полный журнал находится здесь: 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.

1 Ответ

1 голос
/ 04 января 2011

Похоже, что это свойство используется в условиях запуска .NET Framework.Попробуйте проверить таблицу RegLocator в MSI, чтобы увидеть, использует ли условие запуска поиск установщика Windows.Если это так, проверьте, существует ли на вашем компьютере запись реестра.

Также убедитесь, что установка .NET Framework соответствует вашей платформе пакета.Например, 32-разрядный установщик, скорее всего, не обнаружит 64-разрядный .NET Framework.

...