Настройка проекта с управляемыми настраиваемыми действиями. Большая головная боль - PullRequest
0 голосов
/ 02 июля 2010

Я пытаюсь создать проект установки, и я не могу поверить, насколько это болезненно.Ни один из инструментов, которые я пытался использовать, не удовлетворил меня.Как так?Что ж, давайте посмотрим:

Первый и самый простой вариант: программа установки, встроенная в Visual Studio.Легко и быстро.Вы можете легко реализовать пользовательские действия, даже если ваш код был написан на c # или vb.net.Именно то, что я хотел.Но у этого подхода есть некоторые недостатки, и основным из них является невероятно болезненный способ реализации пользовательских диалогов.Например, если мне нужно запросить учетные данные БД, авторизуйте пользователя и продолжите установку.Но нет.В VS нет способа создать пользовательский диалог настройки.На самом деле есть способ , но он не легкий.Я имею в виду что, ты издеваешься надо мной?Мне пришлось потратить один день, чтобы создать пару простых диалогов?

Второй вариант: использовать какой-нибудь инструмент.Как и InstallShield.Вы должны заплатить за это, да, к счастью, это чертовски дешево.Всего 5500 долларов.Ничего страшного, правда?Ну, может быть, но для меня это как "чувак, забудь об этом"

Третий вариант: использовать WIX Хорошо, есть много вариантов.Не так прост в использовании, как встроенная VS, но имеет много гораздо лучших функций.Единственная проблема - я провожу несколько часов, пытаясь убедить эту вещь запустить мой код, написанный на c #.Я провалил.Ничего не помогло, и я сдаюсь.

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

Скажите, есть ли лучший способ редактирования файлов .wid.Использование инструмента Orca - непростое решение.Или покажите мне реальный пример проекта установки, созданного с использованием WIX, который может запускать управляемый код c #.

Спасибо!

Ответы [ 2 ]

1 голос
/ 04 июля 2010

Я не предлагаю использовать «Setup Projects» (также называемые Visual Studio Deployment Projects) или «Managed Custom Actions» (в вашем контексте вы имеете в виду «CustomUtil»).

Для управляемых настраиваемых действий я использую установщик Windows XML-DTF (Deployment Tools Framework). Это создает и упаковывает ваш CA, чтобы он выглядел и чувствовал MSI как CA C ++, что означает, что вы можете использовать его с помощью InstallShield, WiX, Wise и т.

Я также не предлагаю использовать CA в качестве поддельных диалогов. Если вы хотите более интересный пользовательский интерфейс, напишите внешний обработчик пользовательского интерфейса (не простая задача). Я подозреваю, что ваша настоящая проблема в том, что VDRPOJ не очень хорошо это демонстрирует, что WiX много пишет в XML. InstallShield предоставляет интегрированную среду разработки для работы с пользовательскими диалоговыми окнами. Но тогда это было бы одной из многих причин, почему это не бесплатно.

1 голос
/ 02 июля 2010

Я реализовал пользовательский диалог, просто отобразив форму в своем пользовательском действии. Это простая вещь.

...