Я работаю для упрощения использования шаблона InstallShield путем установки компонентов, параметров и переменных среды из .ini файла через интерфейс автоматизации. Я озадачен относительно правильного способа установить переменные среды, вызванные в проекте.
Часть переменных среды набора ISWiProperties, или есть ли некоторый другой интерфейс для доступа к ним? Я обошел список ISWiProperties, и ни один из него не казался релевантным.
В последнее время я много этим занимался (в основном писал свой собственный DSL с использованием XML и обрабатывал его с помощью вызова C # Linq-to-xml в ISAuto COM), и я нахожу отличный много мест, где объектная модель просто не предоставляет то, что вам нужно. В этих случаях я сохраняю проект в двоичном формате и использую WiX DTF (вставляю любимую библиотеку взаимодействия MSI для любого языка, на котором вы программируете), чтобы выполнять необработанную разработку MSI sql, аналогичную использованию прямого редактора.
Однако для того, о чем вы говорите, согласно документации, существует метод AddEnvironmentVar для объекта ISWiComponent, который возвращает объект ISWiEnvironmentVar.
Из справки:
m_ISWiFeature.ISWiComponents ("MyComponent"). AddEnvironmentVar "MyEnvironment"
Класс ISWiEnvironmentVar затем имеет ряд атрибутов для различных настроек.