Типовая задача: наше приложение разработано на основе .NET Framework 4, и инсталлятор должен проверить установлен ли фреймворк на машине перед началом установки приложения.
Следующие шаги описаны в документации WIX, информация есть и на stackoverflow
Для реализации задуманного в проекте инсталлятора надо добавить ссылку на сборку WixNetFxExtension.dll (у меня он расположен в c:\Program Files (x86)\WiX Toolset v3.8\bin\)
После чего в файл Product.wxs (если, конечно, наш главный файл проекта называется так) добавляем строку
Следующие шаги описаны в документации 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