2012-02-24 144 views
0

我已經在我的Visual Studio安裝項目中成功實現了自定義操作,以加密app.config文件,並通過文本框捕獲用戶輸入。但是我的項目有我想要合併的第三方dll引用。我已經使用redgate smart assembly進行了合併,之後當我使用合併的混淆程序集構建安裝項目時,在安裝過程中出現錯誤(無法獲取安裝程序類型,用於彙編錯誤1001)。visual studio/installshield設置項目

你能告訴我怎樣的app.config和捕捉用戶輸入通過使用InstallShield

回答

1

InstallerClass自定義操作(InstallUtil)的自定義對話框進行加密是很脆弱的,不應該被使用。您遇到的問題很可能是您的自定義操作程序集引用了一個程序集,因爲該程序集已合併到另一個程序集中,所以該程序集在磁盤上不再可以找到。

InstallUtil CA無論是由Visual Studio安裝項目還是由InstallShield Basic MSI項目調用,都會發生此問題,因爲問題不在MSI中,而是在您的CA中。

我建議你看看WiX部署工具框架(DTF)。這是實現託管代碼自定義操作的更簡潔的方式,以便CA及其所有依賴項作爲Windows Installer的單個本機DLL顯示。在運行時,本地存根提取所有文件,運行您的.NET代碼,併爲您編組雙方之間的所有MSI API調用。

它非常乾淨,可用於安裝項目,WiX,InstallShield和其他MSI創作工具,因爲輸出是一個帶有導出stdcall函數的簡單Win32 DLL。 (Msi Type 1定製動作規格)

+0

thx提醒WiX。我正在看它,並會告訴我們是否解決了我的問題 – jeff 2012-02-24 12:28:41

+0

FYI'dtf自定義操作'是一個很好的谷歌搜索。 – 2012-02-24 13:18:08