簡體   English   中英

如何使用 InstallScript 項目運行 RegAsm /codebase?

[英]How to run RegAsm /codebase with an InstallScript project?

我在 InstallShield 論壇上嘗試過這個問題,但沒有得到任何人的喜愛。 我的公司有一個 InstallScript 項目(非 MSI),我們需要在我們的一個 DLL 上運行 RegAsm /codebase。 我在網上找到了一些用於執行此操作的教程,但它們似乎不適用於我們的項目類型。 也就是說,我需要的選項根本不存在於 UI 中。 這包括這里的兩個建議( https://www.iwasdot.com/installshield-execute-a-batch-script/ )以及任何涉及自定義操作的內容(正如我從文檔中解釋的那樣,自定義操作不適用於 InstallScript 項目)。 如何使用 InstallScript 完成此操作? 我正在使用 InstallShield 2013,但我對它知之甚少。

我已經將近 20 年沒有使用 InstallScript 項目了,但我想象您會編寫一個 InstallScript 函數來調用 LaunchAppAndWait 來調用 Regasm。

如果我沒記錯的話,InstallScript 項目類型具有諸如 After File Copy 之類的事件,可用於將代碼放入其中。

克里斯托弗畫家是正確的。 我得出了同樣的結論,並且能夠讓它發揮作用。 如果它對將來的任何人有幫助,那么更具體地說是我所做的:

我轉到“安裝設計器”選項卡的“行為和邏輯”文件夾並選擇了“InstallScript”。 然后在右側窗格中,我選擇了與我的 DLL 關聯的功能,然后選擇了“已安裝”事件處理程序。 以下腳本為 COM 互操作注冊了我的 DLL:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM