Wix и .NET Framework (предварительные условия) - PullRequest
29 голосов
/ 09 января 2009

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

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

Спасибо!

Ответы [ 5 ]

37 голосов
/ 09 января 2009

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


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

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

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

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

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

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

11 голосов
/ 21 сентября 2009

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

9 голосов
/ 15 июня 2010

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

ОБНОВЛЕНИЕ : обновлен URL-адрес DotNetInstaller, август 2017 г.

7 голосов
/ 20 марта 2013

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

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

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

<PackageGroupRef Id="NetFx40Web"/>

Вот и все!

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

7 голосов
/ 11 сентября 2012

Это теперь поддерживается с WiX 3.6. Документация все еще схематична, но для начала посмотрите на Как: установить .NET Framework с помощью Burn .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...