Как упаковать надстройку VSTO Word для развертывания на 64-разрядной машине с Windows 10 под управлением Microsoft Office 64 bit с использованием WIX? - PullRequest
0 голосов
/ 30 октября 2019

Проблема

Я не могу получить 64-битный Word для загрузки (или подтверждения существования каким-либо образом) другого работающего Word VSTO add-in.

Обсуждение

У меня есть рабочий Word VSTO add-in, который я разработал с помощью Visual Studio 2017 на 64-разрядной машине с Windows 7 под управлением Microsoft Office 32-разрядной. Я использую WIX установщик для развертывания надстройки. Я успешно развернул надстройку на 64-разрядном «главном» золотом диске Windows 7, который работает под управлением 32-разрядного Office, т. Е. Надстройка доступна любому пользователю, который вызывает виртуальный рабочий стол с главного золотого диска. См. Nova Sys Eng SO ответ здесь для деталей.

Теперь моя организация заменяет 64-битные VDI с Win 7 под управлением 32-битного Office на 64-битные VDI с Win 10 под управлением 64-битного Office. Готовясь к этому, я создал 64-разрядную машину разработки Win 10, установил 64-разрядную версию Office, Visual Studio 2019, расширение WIX Votive2019 и набор инструментов WIX. На этой машине для разработки я собрал выпускную версию надстройки и установил MSI на эту машину для разработки. Когда я поднимаю Word на этой машине для разработки, она работает нормально.

Затем я перенес MSI, созданный на машине для разработки, на 64-битный компьютер с мастер-диском Win 10 master gold (опять же, с Office 64-bit) и успешно установил надстройку (т.е. установщик WIX завершил работу без ошибок). Я также установил VS 2010 Tools for Office Runtime (10.0.60828, выпущенный в 2018 году) на 64-битный компьютер с мастер-диском Win 10 master gold. Как и на 64-разрядном главном золотом диске Win 7 (32-разрядная версия Office), надстройка была установлена ​​на 64-разрядном главном золотом диске Win 10 в

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

Когда я запускаю Word на 64-битной машине с Win 10 master gold disk, надстройка не загружается, потому что Word не знает о его существовании, т. е. когда я смотрю на Параметры Word -> Надстройки, надстройки нет вообще. Когда я выбираю Надстройки COM -> GO, в диалоговом окне Надстройки COM также не отображается надстройка.

Еще один элемент:

На компьютере разработчика, Конфигурация сборкиДиспетчер выглядит следующим образом, т. Е. Для платформы программы установки WIX (FooAddInSetup) установлено значение x86, и другие доступные параметры отсутствуют.

enter image description here

Почему Word не признает существование моей надстройки?

Является ли тот факт, что надстройка установлена ​​в Program Files (x86), проблемой?

Является ли тот факт, чтоПлатформа для программы установки WIX является x86 проблемой?

1 Ответ

0 голосов
/ 30 октября 2019

Я наткнулся на Надстройки для программ Office могут быть зарегистрированы в \ Wow6432Node . Вот что мне помогло:

enter image description here

Несмотря на то, что я создал надстройку на 64-битной машине с 64-битным офисом,установщик WIX настроил все так, что когда я запускал MSI на 64-разрядном компьютере с золотым диском Win 10 (с 64-разрядным Office), он добавлял настройки reg в узел HKLM \ Software \ Wow6432node, как если бы на компьютере было 32бит офис. Я вручную создал те же настройки ключа reg в HKLM \ Software \ Microsoft, и надстройка загружена просто отлично.

Итак, я должен выяснить, что мне нужно сделать с настройками конфигурации WIX, чтобы сделать этопрямо для машины с 64-битным офисом.

Кстати, страница Microsoft Записи реестра для надстроек VSTO , похоже, имеют обратную сторону:

enter image description here

...