Передать параметры MSI в класс установщика.NET
У меня есть упражнение для вас!:)
Мне нужно получить свойство MSI [INSTALLDIR] в моем классе Installer, реализованном в C#. Используя InstallShield 2010, я создал компонент со сборкой.NET, определенной как ключевой файл компонента. Указал, что компонент является классом.NET Installer, реализовал необходимый интерфейс и удостоверился, что он был вызван во время выполнения. Теперь мне нужно получить каталог установки MSI свойство. Ребята, у вас есть идеи?
Я знаю, что есть предопределенное настраиваемое действие для передачи свойств отложенным настраиваемым действиям, но на самом деле у меня нет настраиваемого действия для запуска класса Installer, это компонент установки. Есть несколько примеров для установщиков Visual Studio, но установка щита, кажется, немного отличается.
Большое спасибо!
1 ответ
В InstallShield | Свойства компонента, прямо под тем местом, где вы сказали.NET Installer Class = Да, вы указали в своих аргументах.NET Installer Class. Вы в основном делаете что-то вроде
/INSTALLDIR="[INSTALLDIR]\" /FOO=42
Внутри вашего контекста вы можете получить доступ к INSTALLDIR и FOO.
Но я бы хотел быть с вами по-настоящему честным: вы не хотите этого делать. Поверьте мне, WiX C# DTF - гораздо лучший шаблон, который устраняет многие проблемы с InstallUtil, с которыми вы в конечном итоге столкнетесь и пожалеете.
У меня есть примеры DTF в моем блоге. Просто ищите DTF.