Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms word 如何打包VSTO Word加载项以部署到使用WIX运行Microsoft Office 64位的64位Windows 10计算机?_Ms Word_Wix_64 Bit_Vsto - Fatal编程技术网

Ms word 如何打包VSTO Word加载项以部署到使用WIX运行Microsoft Office 64位的64位Windows 10计算机?

Ms word 如何打包VSTO Word加载项以部署到使用WIX运行Microsoft Office 64位的64位Windows 10计算机?,ms-word,wix,64-bit,vsto,Ms Word,Wix,64 Bit,Vsto,问题 我无法让64位Word加载(或以任何方式确认存在)一个正常工作的Word加载项 讨论 我有一个可用的Word VSTO插件,是我在运行Microsoft Office 32位的64位Windows 7机器上使用Visual Studio 2017开发的。我使用WIX安装程序来部署外接程序。我成功地将外接程序部署到运行32位Office的Windows 7 64位“主”黄金磁盘,即,任何从主黄金磁盘启动虚拟桌面的用户都可以使用该外接程序。有关详细信息,请参见Nova系统工程的S.O.答案 现

问题

我无法让64位
Word
加载(或以任何方式确认存在)一个正常工作的
Word加载项

讨论

我有一个可用的
Word VSTO插件
,是我在运行Microsoft Office 32位的64位Windows 7机器上使用Visual Studio 2017开发的。我使用
WIX
安装程序来部署外接程序。我成功地将外接程序部署到运行32位Office的Windows 7 64位“主”黄金磁盘,即,任何从主黄金磁盘启动虚拟桌面的用户都可以使用该外接程序。有关详细信息,请参见Nova系统工程的S.O.答案

现在,我的组织正在将运行32位Office的Win 7 64位VDIs替换为运行64位Office的Win 10 64位VDIs。为此,我创建了一台64位Win 10开发机器,安装了Office 64位、Visual Studio 2019、WIX Votive2019扩展和WIX工具集。在这台开发机器上,我构建了外接程序的发布版本,并在这台开发机器上安装了MSI。当我在这个开发机器上调出
Word
时,它工作得很好

接下来,我将开发机器上构建的MSI带到64位Win 10 master gold disk机器上(同样运行Office 64位),并成功地安装了加载项(即,
WIX
安装程序无误完成)。我还在64位Win 10 master gold disk机器上安装了VS 2010 Office运行时工具(10.0.60828,2018年发布)。与64位Win 7 master gold disk(Office 32位)上的插件一样,该插件安装在64位Win 10 master gold disk机器上

C:\Program Files (x86)\FooAddIn
注册表设置为

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\Word\AddIns\FooAddIn]
"FriendlyName"="Foo Add-In"
"Description"="Foo Word Add-In"
"Manifest"="C:\\Program Files (x86)\\FooAddIn\\FooAddIn.vsto|vstolocal"
"LoadBehavior"=dword:00000003
当我在64位Win 10 master gold disk机器上启动Word时,加载项不会加载,因为Word显然不知道它的存在,即,。当我查看Word选项->加载项时,加载项根本不存在。当我选择COM加载项->GO时,COM加载项对话框也不会显示加载项

还有一项:

在开发机器上,构建配置管理器如下所示,即WIX安装程序(FooAddInSetup)的平台设置为x86,没有其他可用选项

为什么Word不承认我的外接程序的存在

外接程序安装在
程序文件(x86)
中是否存在问题

WIX
安装程序的平台是
x86
这一事实是一个问题吗?

我偶然发现。帮助我的部分是:

尽管我在一台64位计算机上构建了外接程序,该计算机具有64位office,但WIX安装程序的设置使我在Win 10 64位黄金磁盘计算机(具有64位office)上运行MSI时,它将注册表设置添加到HKLM\Software\WOW6432节点,就好像该计算机具有32位office一样

我在HKLM\Software\Microsoft下手动创建了相同的注册表项设置,加载的加载项很好。

所以,我必须弄清楚我需要对WIX配置设置做些什么,才能使它适合于一台有64位office的机器

顺便说一句,微软的页面似乎有倒退: