问题
I have the outlook add-in developed with VSTO and the add-in is installed using Visual Studio Installer. After installation I can see in the outlook that the custom add-in is installed (visible in File-Option-Add-Ins and of course its allowed) but its not showing in the ribbon. When I run the project in VS I can see that the outlook is being started and it stops at the debugger.
http://pastebin.com/cWrfUSa8 - this is the part when the ribbon, tab and the button is being initialized. The code stops there also when the debugger is on. Please note that the Ribbon was generated with designer way not an xml.
I have checked this question on SO and the LoadBehaviour regkey is being changed from 2 to 3 correctly. Not Showing Outlook Addin
I also enabled the environment variable according this Not Showing Outlook Addin but any errors are displayed.
After little bit of digging in event viewer Ive found this:
> Outlook disabled the following add-in(s):
> ProgID: Tieto.MRS.OutlookAddin2013
GUID: {00000000-0000-0000-0000-000000000000}
Name: Tieto.MRS.OutlookAddin2013
Description: Tieto.MRS.OutlookAddin2013
Load Behavior: 3
HKLM: 0
Location: file:///c:/_hg/tieto.meetingroomselector/main/source/tieto.mrs.outloookaddin2013/tieto.mrs.outlookaddin2013/tieto.mrs.outlookaddin2013/bin/release/tieto.mrs.outlookaddin2013.vsto|vstolocal
Threshold Time (Milliseconds): 1000
Time Taken (Milliseconds): 1063
Disable Reason: This add-in caused Outlook to start slowly.
Policy Exception (Allow List): 0
lets ignore the ridiculously short treshold time and continue with my story -> following this post https://support.microsoft.com/en-us/help/2733070/no-add-ins-loaded-due-to-group-policy-settings-for-office-2013-and-office-2016-programs Ive modified the regedit and the UI in outlook has changed in File -> Slow and Disabled COM Add-ins
but still no luck with showing the add-in in outlook. I am now out of idea.
EDIT: I was curious why event log is showing different Time Taken than an UI of outlook. Asuming that the eventlog is telling the truth I have added multithread on few spots(where ribbon is initialized, where the config is loaded etc.) and indeed the warning in eventlog disappeared.
But unfortunately, still no luck.
Outlook loaded the following add-in(s):
Name: Tieto.MRS.OutlookAddin2013
Description: Tieto.MRS.OutlookAddin2013
ProgID: Tieto.MRS.OutlookAddin2013
GUID: {00000000-0000-0000-0000-000000000000}
Load Behavior: 3
HKLM: 0
Location: file:///C:/_Hg/Tieto.MeetingRoomSelector/Main/Source/Tieto.MRS.OutloookAddin2013/Tieto.MRS.OutlookAddin2013/Tieto.MRS.OutlookAddin2013/bin/Release/Tieto.MRS.OutlookAddin2013.vsto|vstolocal
Boot Time (Milliseconds): 281
EDIT2
Created a new project following this simple guide Same scenario like before. Add-In installed, allowed but not showing.
EDIT3
Noticed that the GUID in event viewer are zeros and the HKLM is 0. Other add-ins have valid guid and HKLM: 1
回答1:
The not showing add-in was caused with missing override in ThisAddIn.cs
protected override Office.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
return new Ribbon1();
}
The ribbon needs to be generated using xml not with the designer to apply this solution. The nulls in guid wasnt solved, neither the HKLM: 0. However the add-in is showing in outlook now.
来源:https://stackoverflow.com/questions/42626342/custom-outlook-add-in-is-not-showing