Tuesday, 15 April 2014

WIX: проверяем установлен ли .NET Framework перед установкой приложения

Типовая задача: наше приложение разработано на основе .NET Framework 4, и инсталлятор должен проверить установлен ли фреймворк на машине перед началом установки приложения.

Следующие шаги описаны в документации WIX, информация есть и на stackoverflow

Для реализации задуманного в проекте инсталлятора надо добавить ссылку на сборку WixNetFxExtension.dll (у меня он расположен в c:\Program Files (x86)\WiX Toolset v3.8\bin\)

После чего в файл Product.wxs (если, конечно, наш главный файл проекта называется так) добавляем строку

<PropertyRef Id="NETFRAMEWORK40FULL" />

Это свойство доступно только в версии WIX  не ниже 3.5.

Затем на основе этого свойства формируем условие продолжения установки, задавая сообщение об ошибке: 

<Condition Message='This setup requires Microsoft .NET Framework 4.0 Full package or greater needs to be installed for this installation to continue.'>
  <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>

Осталось только найти машину без установленного четвёртого фреймворка и проверить наш новый инсталлятор. 

То же самое работает и с другими версиями фреймворка, соответствующие свойства расширения описаны по ссылке на документацию WIX.

Проект с этими изменениями доступен в моём Git-овском хранилище учебных проектов на BitBucket.


No comments:

Post a Comment