簡體   English   中英

在MSI安裝程序中使用C#創建自定義對話框

[英]Creating custom dialog using C# in MSI installer

我們(我的項目團隊)已經為VS 2010 Windows應用程序安裝了現有的MSI安裝程序。 我們正在使用一個許可證文件來驗證Windows安裝。 我們正在使用標准的VS安裝項目進行安裝。

當前,我們在MSI安裝中使用測試框來獲取許可證文件路徑,因此用戶必須手動復制並粘貼許可證文件路徑。 我想通過添加一個“瀏覽文件”按鈕來更改此設置,該按鈕顯示“瀏覽文件”對話框以選擇許可證文件,並在選擇文件時自動填充文本框。

我已經使用Orca工具來修改UI,以便在安裝UI中的現有文本框旁邊添加一個按鈕。

我的問題是:是否可以編寫一些C#托管代碼來顯示,例如說“打開文件”對話框以選擇許可證文件,然后填充文本框。 我知道可以通過編寫C / C ++代碼來實現。 我看到很多人使用WIX工具集來創建安裝文件。 現在,我無法創建新的安裝程序安裝程序項目,因為它涉及到學習WIX,並且我現在沒有時間。

我不認為有可能。
開箱即用的MSI不支持托管代碼,因此您將無法編寫托管對話框。
但是,您可以編寫引導程序以將自定義圖形界面附加到安裝程序。 但是,這非常復雜。

我知道您寫過您不能在此階段轉換為WIX,但我可以向您保證,如果您知道MSI結構,那么學習它將會非常容易。
而且,您可以使用SharpSetup為安裝程序創建C#GUI。

這是可能的(請參閱DTF之類的工具,該工具可以將.NET代碼包裝在非托管DLL中),但是對於調用GetOpenFileNameMsiSetProperty的自定義操作的復雜程度,我建議避免對.NET框架的額外依賴。

暫無
暫無

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

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