RoK*_*oKa 17 vsto ms-word ms-office word-addins
我们开发了一种标准VSTO插件的产品(Word 2010和Word 2013,仅限x86).默认情况下,安装它时,会为所有用户安装它(即,将插件注册表项插入HKLM - HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node]\Microsoft\Office\Word\Addins).
当该值LoadBehaviorREG键值设置为0x3(即"在启动时加载"),该插件工作完全正常,但是当我们设定的值LoadBehavior来0x10(即"按需加载"),该插件无法正常工作,我们会期望:
由于UAC(并且Word没有提升),LoadBehaviorHKLM中的值不会更改为0x10,0x9而是通过在HKCU配置单元中创建LoadBehavior密钥(带值0x9)来覆盖.
不幸的是,我们发现,这个HKCU重写值不考虑,除非清单关键是存在于HKCU蜂巢沿LoadBehavior).有关此相关主题的更多信息:https://social.msdn.microsoft.com/Forums/vstudio/en-US/3776734b-333e-423b-9c08-7c7a441c3e94/load-behavior-and-word-addin?forum=vsto
这个问题的"明显"补救措施是Manifest在安装时或每个用户第一次运行插件时为每个用户(以及HKLM)写入HKCU .但是这种方法有一些严重的缺点:
难道不是从HKLM获得清单中的错误,其中LoadBehavior适当地设置在HKCU?我认为如果LoadBehaviorHKLU中的HKLM可以被覆盖而不需要Manifest覆盖价值,那么这个问题就会得到解决.
有谁知道克服这个问题的方法?