我开发了一个Wix Setup来为所有用户安装Excel插件。我想为所有用户安装适用于Excel 2007,2010和2013的VSTO Excel插件。但我能够在所有用户的Excel 2010中安装它 我无法在Excel 2007和2013中为所有用户安装。我正在使用以下注册表组件。我错过了什么吗?
<Component Id="Registry_FriendlyName">
<RegistryValue Id="RegKey_FriendlyName" Root="HKLM"
Key="Software\Microsoft\Office\Excel\AddIns\AddIn"
Name="FriendlyName"
Value="Add In"
Type="string" KeyPath="yes" />
</Component>
<Component Id="Registry_Description">
<RegistryValue Id="RegKey_Description" Root="HKLM"
Key="Software\Microsoft\Office\Excel\AddIns\AddIn"
Name="Description"
Value="Excel Add-In"
Type="string" KeyPath="yes" />
</Component>
<Component Id="Registry_Manifest">
<RegistryValue Id="RegKey_Manifest" Root="HKLM"
Key="Software\Microsoft\Office\Excel\AddIns\AddIn"
Name="Manifest" Value="[INSTALLFOLDER]AddIn.vsto|vstolocal"
Type="string" KeyPath="yes" />
</Component>
<Component Id="Registry_LoadBehavior">
<RegistryValue Id="RegKey_LoadBehavior" Root="HKLM"
Key="Software\Microsoft\Office\Excel\AddIns\AddIn"
Name="LoadBehavior" Value="3"
Type="integer" KeyPath="yes" />
</Component>
答案 0 :(得分:0)
这更像是一个VSTO问题,而不是WiX问题。
您要为其安装哪种特定版本的Excel?在那里,我相信只有2007 SP3和更新的支持插件来自HKLM蜂巢。在此之前,由于安全问题,他们没有支持HKLM插件。
最后,你确定addin加载器本身没有被禁用吗?有时,如果您未能加载插件,则插件加载器本身将被禁用。确保仍然启用。
此外,在安装并测试插件后,请确保从命令提示符启动Excel并设置以下环境变量:
SET VSTO_SUPPRESSDISPLAYALERTS=0
SET VSTO_LOGALERTS=1
这将确保Excel在启动期间显示您的加载错误,以便您可以调试正在发生的事情。
答案 1 :(得分:0)
我们在工作中有类似的情况,但使用Word插件。
我发现在2007年,您需要一个额外的注册表项来“启用”vstolocal功能,如下所述:http://support.microsoft.com/kb/976811
供参考(如果将来URL丢失):
应用修补程序包976477(2007 Office system修补程序包(Mso-x-none.msp)的说明:2009年10月27日) 启用此修补程序包。为此,请按照下列步骤操作: 在注册表中,找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\General\ On the Edit menu, point to New, and then click DWORD Value. Type EnableLocalMachineVSTO, and then press ENTER. Right-click EnableLocalMachineVSTO, and then click Modify. In the Value data box, type 1, and then click OK. Exit Registry Editor.
我用“\ Word \”替换了注册表路径中的“\ Office \”,因此如果它不能按照该URL所描述的那样使用“\ Excel \”,您可能会找到成功。
编辑:有关信息,我相信上面提到的URL中的修补程序已包含在最新的Office 2007 Service Pack中,因此您可能不需要单独安装它。