Что означает условие «vsdfxavailable»? (Почему мой пользовательский .NET-SETUP терпит неудачу?)

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

Вопрос

В Visual Studio 2010 у меня есть проект «Visual Studio Installer». Он включает в себя пользовательское действие.

На моей машине разработки установщик работает так, как задумано.

На двух тестовых машинах (Windows 7 с установленной .NET 4.0) установка сбой.

Настройка запрашивает/пытается установить платформу .NET 4.0 (которая уже есть).

Используя msiexec installer.msi /l*v test.log i создал подробный журнал, выдержка ниже.

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

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.
Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top