У меня есть упражнение для вас! :)Передайте параметры MSI в .NET installer class
Мне нужно получить свойство [INSTALLDIR] MSI в моем классе Installer, реализованном на C#. Используя InstallShield 2010, я создал компонент с сборкой .NET, определенный как ключевой файл компонента. Указывает, что компонент является .NET Installer Class, реализовал необходимый интерфейс и удостоверился, что он был вызван во время потока выполнения. Теперь мне нужно получить установочный каталог MSI. У вас есть идеи?
Я знаю, что существует предопределенное пользовательское действие для передачи свойств для отложенных пользовательских действий, но на самом деле у меня нет специального действия для запуска класса Installer, это компонент установки. Есть несколько примеров для инсталляторов Visual Studio, но установка экрана кажется немного отличающейся.
Спасибо большое!
Крис, спасибо большое! Этот подход работает до сих пор, но я обязательно прочитаю о WiX C# DTF. Какие проблемы, по вашему мнению, могут возникать при передаче параметров в класс установщика .NET? –
http://robmensching.com/blog/posts/2007/4/19/Managed-Code-CustomActions-no-support-on-the-way-and-heres В принципе, что-то плохое в отношении InstallUtil, что лучше в DTF 1) Когда это не удается, вы получаете таинственные 1001 всплывающие окна; даже в бесшумном режиме. 2) У него нет доступа к дескриптору MSI, поэтому он не может устанавливать свойства MSI или записывать в журнал MSI. 3) Первая версия CLR, сшитая, является stickey. Если запускается 1.1 CA, то срабатывает 2.0 CA, вы получаете исключение. –