Передать параметры MSI в класс установщика .NET - PullRequest
2 голосов
/ 08 апреля 2010

У меня есть для тебя упражнение! :)

Мне нужно получить свойство MSI [INSTALLDIR] в моем классе Installer, реализованном в C #. Используя InstallShield 2010, я создал компонент со сборкой .NET, определенной как ключевой файл компонента. Указал, что компонент является классом .NET Installer, реализовал необходимый интерфейс и удостоверился, что он был вызван во время выполнения. Теперь мне нужно получить каталог MSI для установки. Ребята, у вас есть идеи?

Я знаю, что существует предопределенное настраиваемое действие для передачи свойств отложенным настраиваемым действиям, но у меня нет настраиваемого действия для запуска класса Installer, это компонент установки. Есть несколько примеров для установщиков Visual Studio, но установка экрана выглядит немного иначе.

Большое спасибо!

1 Ответ

2 голосов
/ 08 апреля 2010

В InstallShield | Свойства компонента, прямо под тем местом, где вы сказали .NET Installer Class = Да, вы указали в своих аргументах .NET Installer Class. Вы в основном делаете что-то вроде

/ INSTALLDIR = "[INSTALLDIR] \" / FOO = 42

Внутри вашего контекста вы можете получить доступ к INSTALLDIR и FOO.

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

У меня есть примеры DTF в моем блоге. Просто найдите DTF.

...