2009-02-26 2 views
1

Я смог активировать пользовательские действия C# для переопределения этапов установки и коммиттов MSI. Однако при развертывании приложения ASP.NET я хочу иметь возможность выполнять проверки перед началом установки.Условия запуска MSI Пользовательские действия

Я знаю, что есть условия запуска, однако, я хотел бы иметь возможность подключить свой собственный код здесь, чтобы обрабатывать проверки при запуске себя, поскольку из того, что я вижу, условия запуска просто для проверки правильных версий IIS и т.д?

Может ли кто-нибудь указать мне в правильном направлении здесь, или даже если есть способ получить условия запуска для запуска некоторых C#?

ответ

1

Я думаю, что использование пользовательского действия для установки значения свойства и последующего запуска условия запуска для проверки значения свойства было бы одним способом. Однако это не относится к VS Installation Projects, так как пользовательские действия не запускаются до тех пор, пока не будут выполнены условия запуска. WiX обеспечит больший контроль и позволит выполнять пользовательские действия ранее.

Грубым способом сделать это было бы, чтобы пользовательское действие выкидывало исключение и откатывала установку, но это было бы уродливым взломом.

Я нашел forum thread, обсуждая, как проверить, работает ли определенная служба при установке, которая может привести вас в правильном направлении.

+1

ссылка 'forum thread' is dead –

1

Просто назначьте свое собственное действие немедленно после LaunchConditions. Результат одинаковый для всех целей и целей.

В InstallShield это просто вопрос выбора, когда он запускается через выпадающие меню. Или с помощью WiX, это было бы что-то вроде:

<Custom Action="BlahBlahBlah" After="LaunchConditions">1</Custom> 

Как всегда, для любого начала работы с MSI Я рекомендую прочитать The Definitive Guide to Windows Installer. Он предоставляет бесценные низкоуровневые знания (с использованием проектов установки Visual Studio и Orca), которые применяются независимо от того, используете ли вы WiX, InstallShield или какой-либо другой инструмент для создания файлов MSI.

Смежные вопросы