Вопрос

Как я могу заставить свой пакет Wix загрузить необходимую .NET Framework, если он еще не установлен на компьютере клиента?У меня уже есть условие для проверки установленной.СЕТЕВАЯ версия, но я не уверен, как ее загрузить и установить, если она не найдена.

ClickOnce делает это автоматически, проверяя предварительные требования на страницах свойств.Мне просто нужно сделать это в Wix из-за некоторых других требований.

Спасибо!

Это было полезно?

Решение

Обновить Август 2017:Этот очень приятный ответ теперь кажется устаревшим.Пожалуйста, также прочтите другие ответы в "теме" для получения нескольких различных "параметров начальной загрузки".


Пакет MSI, созданный Wix, не способен этого сделать.Установщик Windows довольно ограничен, и одному файлу MSI (вашему установщику) не разрешается вызывать другой файл MSI (установщик .NET Framework).

Вам нужно будет создать так называемый загрузчик (файл setup.exe), который может проверять наличие указанных предварительных требований, загружать и устанавливать их по мере необходимости, а затем запускать программу установки MSI.

Одним из способов создания загрузчика является использование Visual Studio или задачи MSBuild GenerateBootstrapper.Вот ссылка, дающая более подробную информацию:

http://wix.mindcapers.com/wiki/Bootstrapper

Если вы хотите предоставить своим пользователям только один установщик, вы можете создать самообновляющийся установочный пакет, содержащий как файл setup.exe, так и ваш пакет MSI.Вы могли бы сделать это с помощью я выражаю, который поставляется вместе с Windows.

Вот еще одна ссылка, дающая пример: http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx

Другие советы

Wix будет содержать свой собственный загрузчик под названием burn .Взгляните на: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

Установщик dotNetInstaller также рекомендуется многими разработчиками как хороший и надежный загрузчик.

Обновить:обновленный URL для dotNetInstaller, август 2017.

Теперь это поддерживается начиная с версии WiX 3.6.Документация по-прежнему носит отрывочный характер, но для начала взгляните на Как сделать:Установите .NET Framework с помощью Burn.

В wix 3.6 с использованием bootstrapper все, что вам нужно добавить .net 4.0 в качестве предварительного условия для загрузки, если требуется, это..

a) Добавьте ссылку на файл WixNetFxExtension.dll в ваш проект Bootstrapper / управляемого приложения Bootstrapper

б) Добавьте следующее в качестве первого элемента в вашей цепочке..

<PackageGroupRef Id="NetFx40Web"/>

Это действительно так!

Дополнительная информация здесь : документация по расширению wixnetfx

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