我有一個Outlook Addin,它是在Visual Studio 2010中針對.NET Framework 4.0創建的。自定義操作中的RegAsm
此插件以前是用VB6編寫的(因此只針對x86 Outlook)。
但是,我現在遇到了問題,因爲有2個版本的Outlook。
我幾年前修改過這個版本,但有兩個獨立的MSI文件(一個針對x86,另一個針對x64 ...,每個都有相應的啓動條件以防止用戶在他們的Outlook上安裝不正確的MSI)。
但是現在我遇到了更大的問題......越來越多的用戶不斷下載不正確的版本,並且他們越來越惱火。
我希望能夠創建1個安裝程序文件並註冊以下文件。
- 沉86
- 沉64
我已經放在這些都在1個安裝文件(安裝瞄準X86),和我通過訂閱通過自定義操作上運行這些RegSvr32
到Commit
事件。
現在問題變成當我有一些.NET DLL。我基本上有一個DLL(它負責檢查用戶的註冊是否已經滿足)。
出於某種原因,即使我打個電話到以下幾點:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe
而且還用於基於x64的系統:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe
這個完整的呼籲我的激活DLL和我的主DLL是:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /tlb MyDll.dll /Codebase
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /tlb MyDll.dll /Codebase
代碼成功運行(至少我的假設是,它成功運行,因爲沒有在Try/Catch
引發的錯誤)。
但是,當我通過我的應用程序進行調試並撥打CreateObject
時,它只是返回一個錯誤,指出ActiveX Component cannot be created
。
所以現在,情況變得更加複雜(我現在很困惑),因爲當我通過提升的命令提示符運行命令時,代碼似乎工作。
所以,我有兩個主要問題:
- 我是否正確運行的命令(S)的自定義操作安裝程序?
- 爲什麼通過提升的命令提示符(當我以爲指揮工作微星在提升模式下運行反正?
我可以發佈更多的代碼,如果需要的話。