我有一個C#dll並使用regasm生成一個tlb。我已經給使用此tlb的用戶提供了實用程序電子表格。每次發佈我們的應用程序的新版本時,tlb都是未註冊和註冊的(使用regasm.exe)。發佈新版本的Tlb以及何時需要重新引用Tlb
但是,有時,當用戶在新版本之後使用電子表格時,它會拋出'activex組件無法創建實例'的錯誤,恰好在創建類型對象的代碼行上。我解決了這個問題,刪除並添加了tlb參考。 (在vba mode-tools-reference中取消選中tlb-save並再次添加)。然而,這是痛苦的,因爲我無法爲所有用戶做到這一點。
我做了幾個測試來複制場景。就像更改dll的版本號並重新註冊一樣,向接口添加新的方法並重新註冊。但在所有情況下,電子表格都可以正常工作,無需移除並重新添加tlb引用。
所以,我很困惑,在電子表格中必須重新添加tlb作爲參考,以及可能的原因是什麼。任何幫助表示讚賞。
感謝, 瑪尼
絕對有用,upvoting。 – 2012-10-08 16:10:24
並接受它作爲答案,因爲我看不到任何其他可能的原因,爲什麼會發生這種情況。該工具很有用,procmon很有幫助。但是,仍然不確定這一解決方案可以解決這個問題。 – 2012-10-08 16:25:38