我已經制作了一個C#類庫,它使用公司其他人制作的其他dll,用於COM互操作。它與MS Excel 2013一起使用,在我的開發機器上正常工作。使用安裝程序部署C#COM DLL
要在其他機器上測試它,我已將輸出(dll和.tlb文件)複製到我的系統32文件夾中。然後,我使用regasm註冊了dll(使用/ codebase參數)。最後,我在Excel VBA編輯器中添加了對.tlb的引用。雖然這對6個dll來說有些乏味,但是regasm工作正常。
下一步是將Excel工作表分發給公司中的相關用戶,其中大多數用戶位於世界不同地區的不同部門。這意味着我不知道需要安裝哪些程序(例如.net 4.5)。另外,由於公司大多數人對命令行知之甚少,使用上述過程不僅有點乏味,而且令人不安。因此我想做一個安裝程序。
由於我使用VS2013,我有installed a plug在那允許我做一個安裝文件。
我發現了this的問題,這與我的問題幾乎相同,但我不需要GAC部分。我如何根據需要修改程序? - 我試圖按照給定的程序,但我得到一個錯誤,說明我自己使用的DLL之一,沒有強大的名稱,不能在GAC中。因此構建失敗。我如何糾正上述情況? - 我是否需要修復dll,還是可以在沒有GAC部分的情況下執行此操作?
如何自動執行我的dll(s)的安裝過程? - 現在的替代方案是將VS2013推廣給用戶,讓他們運行項目並以此方式註冊(VS表達是否足夠?)。
在此先感謝 - 我從沒有經驗的項目開始這個項目,所以學習曲線有點陡峭。
使用ILSpy,我可以看到安裝程序內部失敗的dll有publictoken = Null。我認爲這是我的問題的根源。也許我可以讓它工作,如果我得到修復,並嘗試再次建立一個安裝程序。 – Anima