Я пытаюсь изменить существующий сценарий Wix, чтобы проверить, что .NET 4.0, а не .NET 2.0, установлен перед продолжением. Это в настоящее время осуществляется с помощью пользовательских действий в файле WXS:Проверьте .NET 4.0 с помощью Wix
<InstallUISequence>
<Custom Action="VSDCA_VsdLaunchConditions" Before="ValidateProductID">NOT Installed</Custom>
</InstallUISequence>
Я не могу найти настройку, чтобы изменить таким образом, что он проверяет .NET 4.0, а не 2.0. Кажется, он жестко закодирован, возможно, он связан с версией Wix или установщика Windows? В настоящее время мы используем Wix 3.0. Если на компьютере установлен только .NET 4.0, то в журнале установщика появляется следующая ошибка:
Начало действия 15:53:36: VSDCA_VsdLaunchConditions. Информация 2898. Для текстового стиля VSI_MS_Sans_Serif13.0_0_0 система создала шрифт «MS Sans Serif», в наборе 0 символов, высотой 13 пикселей. DEBUG: ошибка 2835: элемент управления ErrorIcon не найден в диалоговом окне ErrorDialog Установщик столкнулся с непредвиденной ошибкой при установке этого пакета. Это может указывать на проблему с этим пакетом. Код ошибки: 2835. Аргументы: ErrorIcon, ErrorDialog, Для этой установки требуется версия .NET Framework 4.0 Действие завершено 15:53:39: VSDCA_VsdLaunchConditions. Возвращаемое значение 3. Действие завершено 15:53:39: УСТАНОВКА. Возвращаемое значение 3.
Если установлен .NET 2.0, он продолжит установку.
Вы явно используете WiX v3.0 или используете на самом деле 3.x? Если вы используете <3.5, вы не сможете использовать свойства 'WixNetfxExtension', которые позволяют вам проверять .NET 4.0. –
. Я пытаюсь выяснить, почему/как VSDCA_VsdLaunchConditions проверяет .NET 2.0. Я не могу найти какую-либо конфигурацию для ее управления. –
[Посмотрите в документации] (http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/check_for_dotnet.html), и здесь у вас есть [свойства] (http://wixtoolset.org/documentation/manual/v3 /customactions/wixnetfxextension.html). – Buzka91