Wix и.NET Framework (предварительные условия)

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

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

Спасибо!

5 ответов

Решение

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


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

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

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

https://web.archive.org/web/20120326095055/http://wix.mindcapers.com/wiki/Bootstrapper

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

Вот еще одна ссылка с примером: https://web.archive.org/web/20090411122211/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 с помощью загрузчика все, что вам нужно, - это добавить.net 4.0 в качестве обязательного условия для загрузки, если требуется.

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

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

<PackageGroupRef Id="NetFx40Web"/>

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

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

Другие вопросы по тегам