Thursday, May 21, 2020

Outlook addin refuses to enable / load


Ran into a problem where no matter what I did, a specific Outlook addin, refused to load / enable.
Uninstall / reinstall... Reboot... blah, blah, blah...
The fix is a reghack.



This method should work for ANY Outlook addin...

In THIS Example: LiquidFiles

Close Outlook...


In THIS location - Find the name of the LiquidFiles addin -

  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Addins\
Right-Click and Rename - Copy (to the clipboard) the name of that key, and hit escape -
ie "LiquidFilesOLPlugin_Admin.AddinModule"

Then to THIS key (for Office 2016... Office 2019 will be in '17.0'):
  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\
Delete all entries IN the following keys - DO NOT DELETE THE KEYS:
  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\CrashingAddinList
  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\DisabledItems

And then in THIS key... Add a new DWORD...
  • HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList
Paste in the "LiquidFilesOLPlugin_Admin.AddinModule" from the clipboard...
Change its value to '1' (default is '0')
Click 'OK'

Another key that decides if a plug-in will load in single user installs (using this same example):

  • HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\LiquidFilesOLPlugin_Admin.AddinModule
"LoadBehavior" has to be '3' (else the plug-in wont auto-load)

Restart Outlook.

Any other plugins causing issues will eventually be repopulated in the 'CrashingAddinList', and 'DisabledItems' keys that were just emptied.
But the above DWORD entry, will exempt 'LiquidFiles' from being 'blacklisted.

Here is a PoSh version:

$UsersSAM = "UserName"
$Computer
= "HOSTNAME"

$PluginName
= "LiquidFiles" # No spaces

$ErrorActionPreference
= "Continue"
$SID
= (Get-ADUser $UsersSAM -Properties SID).SID
$BaseRegKey
= "HKU\$SID\Software\Microsoft\Office\16.0\Outlook\"
$DontDisable
= $BaseRegKey+"Addins"
$DontDisable
= (reg query "\\$Computer\$DontDisable" | ? {$_ -match $PluginName}).Split('\\')[-1]
$CrashingAddinList
= $BaseRegKey+"Resiliency\CrashingAddinList"
(
reg query "\\$Computer\$CrashingAddinList" | ? {$_ -NOTmatch "HKEY"}).Split("`n|`r",[System.StringSplitOptions]::RemoveEmptyEntries) | % {
$Value
= ((($_).Split(' ')) | ? { $_ -ne "" })[0]
reg
delete "\\$Computer\$CrashingAddinList" /v $Value /f
}
$DisabledItems
= $BaseRegKey+"Resiliency\DisabledItems"
(
reg query "\\$Computer\$DisabledItems" | ? {$_ -NOTmatch "HKEY"}).Split("`n|`r",[System.StringSplitOptions]::RemoveEmptyEntries) | % {
$Value
= ((($_).Split(' ')) | ? { $_ -ne "" })[0]
reg
delete "\\$Computer\$DisabledItems" /v $Value /f
}
$DoNotDisableAddinList
= $BaseRegKey+"Resiliency\DoNotDisableAddinList"
reg
ADD "\\$Computer\$DoNotDisableAddinList" /v $DontDisable /t REG_DWORD /d 1 /F


No comments:

Post a Comment