缺少计算机范围的Outlook VSTO加载项



我通过在HKLM位置中注册成功注册了一个计算机范围的Outlook加载项

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOfficeOutlookAddinsMyAddIn

HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeMicrosoftOfficeOutlookAddinsMyAddIn

但是,在叮当作响并删除了我的addin的密钥后,即使在重新注册后,我也看不到它了。它没有列在";COM加载项";也不在禁用的加载项中

只有当我将插件安装到HKCU的蜂窝中时,它才能工作

HKEY_CURRENT_USERSOFTWAREMicrosoftOfficeOutlookAddinsMyAddIn

在另一台计算机上运行良好

更新:

我正在使用Wix工具集来创建MSI,并在我的测试机器上拥有完整的管理权限。我(松散地(跟着https://learn.microsoft.com/en-us/visualstudio/vsto/deploying-a-vsto-solution-by-using-windows-installer?view=vs-2022来创建我的MSI,它安装和卸载都很好,我的注册密钥是正确的

Wix片段创建注册表密钥

<DirectoryRef Id="TARGETDIR">
<Component Id="RegistryEntries" Guid="*">
<RegistryKey Root="HKLM" Key="SOFTWAREWOW6432NodeMicrosoftOfficeOutlookAddinsMyAddIn">
<RegistryValue Type="string" Name="Description" Value="MyAddIn" />
<RegistryValue Type="string" Name="FriendlyName" Value="My Add-in" />
<RegistryValue Type="integer" Name="LoadBehavior" Value="00000003" />
<RegistryValue Type="string" Name="Manifest" Value="file:///[INSTALLFOLDER]MyAddIn.vsto|vstolocal" />
</RegistryKey>
<RegistryKey Root="HKLM" Key="SOFTWAREMicrosoftOfficeOutlookAddinsMyAddIn">
<RegistryValue Type="string" Name="Description" Value="MyAddIn" />
<RegistryValue Type="string" Name="FriendlyName" Value="My Add-in" />
<RegistryValue Type="integer" Name="LoadBehavior" Value="00000003" />
<RegistryValue Type="string" Name="Manifest" Value="file:///[INSTALLFOLDER]MyAddIn.vsto|vstolocal" />
</RegistryKey>
</Component>
</DirectoryRef>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ProgramFiles)">
<Directory Id="INSTALLFOLDER" Name="$(var.ProductFolder)" />
</Directory>
</Directory>

如果我(保持一切原样(只更改注册表项设置";SOFTWARE\[WOW6432Node\]Microsoft\Office\Outlook\Addins\MyAddIn"至";软件\[WOW6432Node\]Microsoft\Office\Outlook\Addins\AnotherAddIn"Outlook在我的机器上拿起插件精细

我需要帮助理解的是什么可能导致Outlook忽略安装在HKLM中的加载项。从上面我认为我们可以安全地抛出注册密钥权限问题

不清楚外接程序是如何注册的,也不清楚它们是否有足够的权限将windows注册表项添加到HKLM配置单元。所以,我建议先创建一个插件安装程序。使用Windows Installer部署VSTO解决方案一文介绍了所有必要的步骤。

我想这是一个noob错误,但万一对其他人有帮助。在测试和开发过程中,我最终在ClickToRun中注册了我的加载项,这导致Outlook无法在HKLM配置单元中查找加载项

具体位置为HKLMSOFTWAREMicrosoftOfficeClickToRunREGISTRYMACHINESoftwareMicrosoftOfficeOutlookAddIns

Outlook能够拿起我的加载项后,我删除了在上述位置的流氓注册

最新更新