2016-06-28 108 views
2

我見過很多可解決此問題的帖子和網站。我已經嘗試了我找到的每個解決方案,但沒有一個能夠工作(我一直試圖解決這個問題)。我看過很多帖子都有相同的聲音問題,但是這個解決方案對我來說並不適用,或者不適用。這就是說...VSTO Addin for Outlook無法正常工作

我有一個Outlook 2007加載項,旨在將文本添加到電子郵件的標題和正文中。它爲所有使用.msi文件的用戶安裝。有一個我去年部署的舊版本可以正常工作。我創建的新版本只有一些小的輸入/輸出變化,沒有什麼重大的變化。這個新版本在我的開發計算機上完全適用於Visual Studio調試和實際安裝。但是,我無法使它在非開發計算機上工作。以下是該計劃和目標計算機上的細節(開發計算機和目標計算機的細節比一個事實,即在目標計算機上沒有Visual Studio中的其它相同):

-Using Visual Studio Professional 2013 
-Written in Visual Basic 
-Target Framework is .NET 4.0 
-The add-in is only run once the "send" button on an email is clicked. 
-Outlook version is Outlook 2007 
-Operating system is Windows 7 Enterprise SP1 32-bit 

的問題是,在添加 - 在目標計算機上不會加載(是的,我知道,其他bazillion其他人也有同樣的問題)。正如我之前所說的,在調試和安裝版本中,它在我的電腦上都能正常工作。這讓我覺得其他計算機缺少一些東西,所以我嘗試將.NET 4.0框架安裝到目標計算機上,但它告訴我它已經安裝。我跑過了所有我能想到的事情,無濟於事。以下是它的表現:

-Installs fine with no errors. 
-HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office/Outlook/Addins/EmailMarkTool/LoadBehavior = 3 after installation. 
-VSTO_LOGALERTS = 1 
-VSTO_SUPPRESSDISPLAYALERTS = 0 
-Outlook opens with no apparent errors. 
-LoadBehavior = 0 immediately after Outlook is opened. 
-Shows up in the Add-ins under "Inactive Application Add-ins." 
-Never shows up under "Disabled Add-ins." 
-In the "COM Add-Ins" dialog where I can check which add-ins to use, it shows the correct directory and the Load Behavior is "Unloaded." 
-The add-in can be checked. When I click "OK" I don't get any errors. When I go back to the Add-ins, it is unchecked and "Unloaded" again. 
-Setting the LoadBehavior to 3 doesn't help because it goes back to 0 as soon as Outlook is started again. 
-I inserted a try-catch block into the New() function of the add-in that has a MsgBox pop-up and a Throw. 
-I get absolutely no errors anywhere. 
-No log file is generated. 

我試着卸載,重建,並重新安裝多次都具有相同的結果。我只是不知道爲什麼它可以在我的開發計算機上工作,但不是目標計算機。感謝您閱讀所有這些內容。我知道這很多,但我需要了解詳情。預先感謝您的任何意見!

[更新]:我剛剛創建了一個全新的最小插件,以測試它是否可以工作,但得到了相同的結果。

+0

不知道你是否看着這個http:// stackoverflow。com/questions/4668777/how-to-trouble-trouble-a-vsto-addin-that-does-not-load但它可能有幫助。 –

+0

@JimHewitt是的,我多次閱讀那一個。我的加載項從未顯示在禁用的加載項中。 – ajlampman

+0

我猜你已經看到這也https://www.outlook-apps.com/inactive-outlook-add-ins/,但以防萬一,有一節「啓用不活動的Outlook加載項繼續被卸載: –

回答

1

我發現問題了!

該問題對於Outlook 2007來說可能是獨一無二的。事實證明,Microsoft Office 2007 SP1和SP2有一個阻止它運行VSTO插件的錯誤。 Microsoft發佈了修復此問題的修補程序(https://support.microsoft.com/en-us/kb/976477)。這已添加到Microsoft Office SP3的發行版中。但是,要激活此修復程序,必須創建一個新的註冊表標誌,但不會自動使用該修復程序完成修復,直到您手動激活該修補程序(說明和下載here),修復程序纔會失效。所以......

爲了使VSTO加載項在Outlook 2007中,你有一個子項添加到此註冊表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\General\ 並添加一個DWORD「EnableLocalMachineVSTO」設置爲1

我這樣做的價值,重新啓動計算機以獲得更好的性能,第23次安裝了我的插件,並安裝並完美運行!不過,我不確定以前的版本是如何工作的。我們的系統管理員可能會刪除該子項以加強安全性。

0

您遇到的loadbehaviour關鍵問題很奇怪。雖然我認爲這可能不是你的解決方案,但它可能是,所以它值得一試。

目標計算機將需要安裝用於辦公室運行時的VSTO工具。 您可以下載這些工具是以下鏈接 - https://www.microsoft.com/en-GB/download/details.aspx?id=48217

+0

我也這麼想過。我嘗試手動安裝VSTO運行時,但我收到一條消息,說它已經安裝。考慮到我們的所有計算機上都安裝了附加組件,這很有意義。我無法讓這個新的工作。 – ajlampman

+1

嘗試在註冊表中添加一個Resiliency項,它將告訴Outlook始終加載並啓用加載項。 HKEY_CURRENT_USER/Software/Policies/Microsoft/office/15.0/outlook/resiliency/addinlist /(在此處添加字符串值= 1) 「字符串值」是您添加的名稱,它出現在項目中。 –

相關問題