Ошибка индекса вне диапазона при загрузке Word - VSTO - PullRequest
0 голосов
/ 02 октября 2019

Я работал над проектом, конечным результатом которого является надстройка слова, и это совместная работа надстройки VSTO (лента Word) + C # dll set + шаблон с поддержкой макросов (MyProject.dotm).

Разработка проекта была завершена и теперь работает над продвинутой частью установщика (делает другой человек). У нас есть код вызова в VSTO addin из VBA (MyProject.dotm) согласно этой статье . Будут созданы два отдельных установщика для 32-битной и 64-битной систем.

Теперь моя проблема в том, что мы получаем ошибку времени выполнения Visual Basic, Runtime error '9' : Subscript out of range при загрузке слова после установки продукта (64-разрядная машина с 64-разрядной версией Word).

Я искал наошибка и нашла эту статью , и смогла исправить ошибку с помощью

Установка Действие при запуске (в свойствах отладки - проекта) для проекта VSTO как Запустите внешнюю программу и ее значение как C: \ Program Files \ Microsoft Office \ root \ Office16 \ WINWORD.exe и соберите проект, замените набор DLL установщика (C: \Программа Files \ MyProject) с новыми библиотеками проекта и загрузкой слова.

Теперь мой вопрос:

Я хочу найти глобальное исправление, которое будет работать как с 32-битными, так и с 64-битными машинами, а также с 32-битным и 64-битным офисом. Есть ли какое-либо исправление, которое я могу применить к проекту, чтобы исправить эту ошибку? или это нужно исправить в установщике?

Заранее спасибо.

1 Ответ

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

Обнаружил эту статью от Microsoft.

При развертывании надстроек VSTO, созданных с помощью Visual Studio, необходимо создать определенный набор записей реестра. Эти записи реестра предоставляют информацию, которая позволяет приложению Microsoft Office обнаруживать и загружать надстройку VSTO.

При создании проекта Visual Studio создает эти записи реестра на компьютере разработчика, чтобы вы могли легко запускать иотладка надстройки VSTO. Если вы используете ClickOnce для развертывания надстройки VSTO, записи реестра автоматически создаются на компьютере конечного пользователя. Если для развертывания надстройки VSTO используется установщик Windows, необходимо настроить проект InstallShield Limited Edition для создания записей реестра на компьютере конечного пользователя.

, и я должен добавить требуемое значение реестрасогласно статье, она решает ошибку Runtime '9': ошибка индекса ниже диапазона .

...