вторник, 30 декабря 2014 г.

Созданеи MSI для приложений .Net

В старых версиях Visual Studio был специальный тип проекта для создания инсталяторов. О том что на месте этого проекта сейчас и что делать, под катом.

Собственно, сейчас там вот так:
При попытке создать этот проект, открывается html страничка, которая предлагает перейти на сайт Flexera (кто это такие?) и отдав им ключи от квартиры получить возможность создавать инсталяторы:
Немножко поискав, я нашел два способа создания инсталяторов без предоставления ключей от квартиры. Вот о них и поговорим.
1. Расширение для студии Microsoft Visual Studio Installer Projects. После его установки, в окне новых проектов становится доступна новая ветка в дереве и четыре проекта в ней:
Проекты создаются с минимумом настроек:
Мы указываем что будет копироваться в папку приложения, что будет создаваться на рабочем столе, ну и в меню программ. Инсталятор при запуске запросит куда устанавливать приложение, пропишет себя корректно в списке программ доступных для удаления, ну и удалится все при необходимости.
2. Второе решение это WiX Toolset. Он ставится со своего инсталятора:
После установки, в дереве новых проектов добавляется ветка с семью типами проектов:

Проект выглядит не сложнее чем из пункта 1, содержит одну XML и папку для Reference:
Добавляем ссылку на проект или проекты которые должны инсталироваться, а вот дальше... Файлик с расширением wxs позволяет в очень широких пределах настраивать наш инсталятор. Самое простое, это прописать приложение для развертывания:

Прописав только эту строку и сбилдив проект мы получаем инсталятор который единственно чем отличается от описанного в предыдущем шаге, так это тем, что не спрашивает путь для установки приложения. Но вот если мы захотим наш инсталятор настроить, то вот здесь можно впасть в кому от возможностей (если не тыкнули по ссылке, то обратите внимание на скрол):
Но о примерах этих настроек как-нибудь в другой раз.

Выводы. Если нужно написать простенький инсталятор, то ставим Microsoft Visual Studio Installer Projects и не заморачиваемся с настройками. Если нужно или с высокой вероятностью нужно будет в будующем серьезные возможности по работе с реестром, настройке мастера и так далее, то WiX Toolset вам в помощь.

Комментариев нет:

Отправить комментарий