Создание установщика для надстройки ДНК Excel с помощью расширенного установщика

я создал несколько новых пользовательских функций для excel с помощью надстройки excel dna, и когда я добавляю надстройку вручную, чтобы она работала, теперь я хочу создать установщик для автоматического развертывания этой надстройки в excel, я скачал расширенный установщик и создал новый проект установщика, укажите имя, версию и издателя в интерфейсе сведений о продукте, в предварительных условиях я выбрал .Net Framework 4.5 (веб-установщик), в условиях запуска / Программное обеспечение я выбрал Установленное приложение Office / Microsoft Excel, в файлах и папки я добавил свою библиотеку классов (.dll)/мой xll-файл и мой файл ДНК, наконец, я выбираю тему => построить и запустить свой проект, но когда я выполняю настройку, сгенерированную при запуске этого проекта, и пытаюсь проверить свои функции из Excel , я их не нашел, созданный мной установщик не добавил эту надстройку в Excel, есть ли какие-то пропущенные шаги, пожалуйста?


person Gtari Abir    schedule 24.04.2018    source источник


Ответы (3)


Вам нужно добавить настраиваемое действие для регистрации надстройки, например:

On Error Resume Next
Dim oXL, oAddin
Set oXL = CreateObject("Excel.Application")
oXL.Workbooks.Add
Set oAddin = oXL.AddIns.Add(Session.property("CustomActionData") & "MyAddin.xll", False)
oAddin.Installed = True
oXL.Quit
Set oXL = Nothing

В этой статье, как упоминалось в ответе Говерта, объясняется, как настроить настраиваемые действия: https://jiripik.com/2017/02/25/use-advanced-installer-excel-dna-project/

Я выполнил шаги, описанные в статье, и создал надежный установщик для моей надстройки на основе ДНК Excel, она работает очень хорошо. Единственная проблема заключается в том, что вам нужно создать 2 установщика: один для 32-битного Excel, а другой для 64-битного Excel. К сожалению, я не могу найти надежный способ определить, какая версия Excel установлена.

Надеюсь это поможет.

person Andy Sinclair    schedule 26.04.2018
comment
Разве этот реестр не предоставляет необходимую вам информацию о разрядности? advancedinstaller.com/forums/viewtopic.php?t=23212 - person Bogdan Mitrache; 29.04.2018
comment
Я попробовал метод реестра, описанный в этой статье, но он больше не работает с более поздней версией Office. Я не могу найти надежный способ определить, установлена ​​ли 32-битная или 64-битная версия Office, может быть, мне следует спросить StackOverflow ?? - person Andy Sinclair; 29.04.2018

Для надстройки Excel в формате .xll (например, созданной с помощью Excel-DNA) вам потребуются некоторые записи реестра, которые установщик Office обычно не добавляет. Они называются OPEN, OPEN1, OPEN2 и т. д. под одной из клавиш Excel.

Для расширенного установщика вы можете прочитать очень подробную статью здесь: https://jiripik.com/2017/02/25/use-advanced-installer-excel-dna-project/

Другой альтернативой является использование стандартного набора инструментов WiX для создания установщика. Для этого вы можете начать с Excel-DNA WiXInstaller в качестве шаблона проекта: https://github.com/Excel-DNA/WiXInstaller У него есть проект настраиваемых действий для создания установщика для этих дополнительных ключей реестра.

person Govert    schedule 24.04.2018

Расширенный установщик предоставляет мастер для надстроек Office, как показано на видео связанной статьи.

Этот мастер настраивает некоторые записи реестра, согласно документам MSDN, этот реестр — это то, как Office обнаруживает вашу надстройку. Если у вас их нет, ваш установщик неполный.

Вам необходимо создать проект с помощью этого мастера, после чего вы сможете дополнительно настроить все параметры проекта, которые вы указали в своем вопросе (сведения о продукте, условия запуска и т. д.).

person Bogdan Mitrache    schedule 24.04.2018