Общая надстройка Office XP против 2008
-
03-07-2019 - |
Вопрос
Я пытаюсь создать общую надстройку, используя VS 2008 для Office XP (точнее, Excel).Однако после создания проекта в Visual Studio и изменения ссылок на Office XP (кроме расширяемости, которую я, похоже, не могу найти копию для Office XP) и добавления excel.exe к ссылкам.Кажется, теперь я не могу установить надстройку ни на один компьютер.
Есть ли у кого-нибудь руководства по написанию надстроек Office XP с использованием VS 2008 (надстройки Com, которые я мог бы добавить)?
Кто-нибудь знает ссылку, которую я должен иметь, или что-то до того, что я должен был установить на компьютер?
У меня есть три тестовых компьютера, на этом установлен Office XP, 2003 и 2007, и я могу написать надстройку, используя ссылки на 2003, которая работает на этом, но не на другом компьютере.Один только с Office XP, но также установлены PIA Office XP и .NET, а другой - только с Office XP.
Любая помощь будет очень признательна.
Решение
В конце концов я нашел проблему с этим.
Проблема возникла из записи в базе знаний 908002.К сожалению, для запуска исправления вам необходимы установленные Visual Studio 2005 и Office 2003, иначе исправление не будет развернуто, и поэтому я несколько раз умалчивал об этом.В конце концов я нашел старую копию VS2005 и Office 2003 на запасной машине, установил исправление, создал установщик и попробовал его на машине с Office XP, и все заработало нормально.
Чтобы это работало на любом компьютере с Office XP, необходимо внести два исправления:
extensibilityMSM.msi - installs the extensibility.dll
lockbagRegKey.msi - adds a fix to a registry key
Мне не удалось найти их для загрузки отдельно от исправления KB908002, но у меня есть копии локально.
После применения этих исправлений стало легко использовать надстройки COM, как при использовании VSTO, и на написание фактического кода у меня ушло меньше часа.Я не ищу способ включить их в свой установщик MSI в качестве предварительных требований.
Если у вас возникнут вопросы, оставляйте их в комментариях, и я постараюсь обновить их как можно скорее.
Другие советы
Вам необходимо установить PIA в качестве предварительного условия.Устанавливается ли надстройка вообще или происходит сбой при установке?Надстройка, неправильно работающая при запуске, может быть заблокирована ведущим приложением (Excel).Вы можете повторно включить его в диалоговом окне настроек надстройки в Excel.
@PintSizedCat - Здесь это ссылка на блог msdn, в котором показано, как извлечь MSI-файлы без установки VS2005.
См. раздел «Создание проекта установки надстройки Shared COM» — используйте командную строку:
vs2005-kb908002-enu-x85.exe /T:»C: est» /C
У нас это был Excel 2003 с .Net 2.0, и extensibility.dll отсутствовал.Я не думаю, что в VS2008/VS2010 это является обязательным условием.DLL не подлежит распространению (согласно этому блог - см. раздел «Ответ») - для его распространения необходимо использовать MSI.