Wix и .NET Framework (предварительные требования)
Как я могу установить пакет Wix для загрузки требуемой .NET Framework, если он еще не установлен на клиентской машине? У меня уже есть условие проверить установленную версию .NET, но я не уверен, как ее загрузить и установить, когда ее не найти.
ClickOnce делает это автоматически, проверяя предварительные условия на страницах свойств. Мне просто нужно сделать это в Wix из-за некоторых других требований.
Спасибо!
Ответы
Ответ 1
ОБНОВЛЕНИЕ Август 2017:
Этот очень приятный ответ теперь устарел. Пожалуйста, также прочитайте другие ответы в разделе "thread" для нескольких разных параметров "начальной загрузки".
Пакет MSI, созданный Wix, не может этого сделать. Установщик Windows довольно ограничен, и одному файлу MSI (ваш установщик) не разрешено вызывать другой файл MSI (установщик .NET Framework).
Вам нужно будет создать так называемый bootstrapper (файл 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
Ответ 2
Wix будет содержать свой собственный bootstrapper, называемый burn. Посмотрите на: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn
Ответ 3
DotNetInstaller также рекомендуется многими разработчиками как хороший и надежный загрузчик.
UPDATE: обновленный URL-адрес для DotNetInstaller, август 2017 г.
Ответ 4
Теперь это поддерживается как WiX 3.6. Документация по-прежнему отрывочна, но для начала рассмотрим Как установить .NET Framework с помощью Burn.
Ответ 5
В wix 3.6, используя загрузчик, все, что вам нужно добавить .net 4.0 как необходимое условие для загрузки, если это необходимо..
a) Добавьте ссылку на файл WixNetFxExtension.dll в проект приложения Bootstrapper/управляемого Bootstrapper
b) Добавьте следующее в качестве первого элемента в цепочке.
<PackageGroupRef Id="NetFx40Web"/>
Это действительно так!
Дополнительная информация здесь: документация wixnetfxextension