Вопрос

Я пытаюсь создать общую надстройку, используя 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top