Подтвердить что ты не робот

WiX устанавливает .NET 4.5 на компьютере с .NET 3.5, но не на компьютере с .NET 4.0

Я создал установщик WiX, который я хочу установить .NET 4.5, если он отсутствует.

Чтобы сделать это, я добавил <PackageGroupRef Id="NetFx45Web" /> в свою цепочку.

Странная проблема: на машине с .Net 3.5 (Windows Vista) все работает отлично, и WiX правильно устанавливает .NET 4.5, но на машине с .NET 4.0 (Windows 7) ничего не происходит, и установщик просто выполняет мое приложение, не устанавливая сначала .NET 4.5, а затем выдается из строя, потому что для него требуется .NET 4.5

Есть ли что-нибудь, что мне не хватает или это ошибка?

4b9b3361

Ответ 1

Я предполагаю, что вы используете пакет NetFx45Web из NetFxExtension, что означает, что вы используете WiX, встроенный для его обнаружения.

Я предполагаю, что по заявлению вы имеете в виду свою управляемую BA. Вы должны убедиться, что вы правильно настроили BootstrapperCore.config. Если вашему MBA требуется 4,5 или более поздней версии, убедитесь, что поддерживаемый элемент Runtime имеет 4.5, а не 4, то же самое с элементом поддерживаемойFramework.

Ответ 2

Если вы используете управляемое приложение Bootstrapper, вы должны убедиться, что supportedFramework, установленный в BA, совпадает с поддерживаемой базой вашего фактического приложения. В частности, если вашему приложению требуется полная версия .Net 4.5, убедитесь, что у вас нет версии профиля клиента, установленной в качестве поддерживаемой структуры, иначе BA не будет загружать и устанавливать полную версию, если она обнаружит установленный профиль клиента. Я лично считаю, что это ошибка в управляемом BA, однако он был отправлен в WiX и закрыт как "notabug" . Итак, удалите это из вас BootstrapperCore.config:

<supportedFramework version="v4.5\Client" />