Как запустить RegAsm / codebase с проектом InstallScript? - PullRequest
0 голосов
/ 27 января 2020

Я попробовал этот вопрос на форуме InstallShield, и он не получил никакой любви. У моей компании есть проект InstallScript (не MSI), и нам нужно запустить RegAsm / codebase в одной из наших DLL. Для этого я нашел в Интернете несколько учебных пособий, но они, похоже, не относятся к нашему типу проекта. То есть нужные мне параметры просто не существуют в пользовательском интерфейсе. Это включает в себя как предложения здесь (https://www.iwasdot.com/installshield-execute-a-batch-script/), так и все, что связано с пользовательскими действиями (как я понимаю из документации, что пользовательские действия не применяются к проектам InstallScript). Как я могу выполнить sh это с помощью InstallScript? Я использую InstallShield 2013, и я очень мало знаю об этом.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Кристофер Пейнтер прав. Я пришел к такому же выводу и смог заставить это работать. Если это кому-нибудь поможет в будущем, вот более конкретно то, что я сделал:

Я перешел в папку «Поведение и логика c» на вкладке «Конструктор установки» и выбрал «InstallScript». Затем на правой панели я выбрал функцию, с которой связана моя DLL, а затем выбрал обработчик событий «Installed». Следующий скрипт зарегистрировал мою DLL для COM-взаимодействия:

LaunchApplication("C:/Windows/Microsoft.NET/Framework/v4.0.30319/RegAsm.exe", "../path/to/my.dll /codebase", "", SW_HIDE, 0, LAAW_OPTION_NOWAIT);

И затем я сделал нечто подобное для обработчика событий Uninstalled:

LaunchApplication("C:/Windows/Microsoft.NET/Framework/v4.0.30319/RegAsm.exe", "/unregister ../path/to/my.dll", "", SW_HIDE, 0, LAAW_OPTION_NOWAIT);

0 голосов
/ 29 января 2020

Я не использовал проекты InstallScript почти 20 лет, но мне показалось, что вы бы написали функцию InstallScript для вызова LaunchAppAndWait для вызова Regasm.

Если я правильно помню, типы проектов InstallScript имеют такие события, как After File Скопируйте его, чтобы вставить код.

...