Приложение ClickOnce не работает с Office 2007 - PullRequest
0 голосов
/ 23 сентября 2008

Я разработчик приложения .net, которое использует ClickOnce для развертывания. Я развернул его более 60 раз, и у компьютеров не было проблем с загрузкой последней версии. Однако при развертывании сегодня утром возникает следующая ошибка, когда компьютеры с установленным Office 2007 пытаются запустить приложение:

Невозможно установить или запустить приложение. Приложение требует, чтобы сборка stdole версии 7.0.3300.0 была сначала установлена ​​в глобальный кэш сборок (GAC). Пожалуйста, свяжитесь с вашим системным администратором.

Однако компьютеры с Office 2003 могут без проблем запускать приложение.

У кого-нибудь есть рекомендации по решению этой проблемы?

Ответы [ 3 ]

2 голосов
/ 23 сентября 2008

Насколько я знаю, эта версия stdole удаляется при установке Office2k7. Вы можете установить его индивидуально через gacutil на всех целевых машинах или , так или иначе, включив его через загрузчик пакетов ClickOnce. На Mac сейчас, так что я не могу проверить.

0 голосов
/ 26 сентября 2008

У меня была точно такая же проблема, как только наша компания начала развертывание Office 2007. Моим первым быстрым решением было просто скопировать stdole в GAC двух компьютеров, вызывающих проблему.

После расследования я обнаружил, что наше приложение на самом деле не использует stdole. Он мог добавить ссылку, когда я тестировал COM DLL, которую я удалил после тестирования. Поэтому я решил просто исключить его из диалогового окна «Файлы приложения» на вкладке «Публикация». Поэтому сначала убедитесь, что вам это нужно.

Насколько я понимаю, это требуется, когда вы ссылаетесь на некоторые COM-библиотеки типа Office. Если это относится к вам, я обнаружил несколько сообщений о том, что проблема была решена путем изменения статуса публикации в диалоговом окне «Файлы приложения» с «Необходимые условия» на «Включить» и для группы загрузки с «Нет» на «Требуется». В моем случае stdole был добавлен по умолчанию как предварительное условие.

0 голосов
/ 23 сентября 2008

Я не уверен насчет вашей конкретной проблемы, но версия библиотеки stdole для Office 12 отличается (и, по моему опыту, не всегда имеет обратную совместимость) от той, которая есть у вас при использовании Office 2003.

Мы используем оболочку вокруг библиотек DLL Office, чтобы использовать функции Mailmerge, которые предлагает Office, и, верьте или нет, Microsoft изменила интерфейсы снова , поэтому нам нужно скомпилировать two различные обертки, связанные с двумя различными офисными версиями. Короче, PITA.

Я больше не буду кодировать MS Office, пока они не предоставят управляемую библиотеку.

Несмотря на напыщенную речь, я думаю, что вы должны установить Office 12 на свой компьютер и протестировать оттуда. Вы заметите, что все вещи Office разные. Если вы можете заставить его работать в Office 12, он может быть совместимым с компьютерами с Office 11 (также известным как 2003), но не рассчитывайте на это и тестируйте его перед развертыванием чего-либо.

Я не думаю, что это имеет какое-либо отношение к ClickOnce; это больше проблема GAC / OfficeVersion. Кроме того, проверьте возможные проблемы с Vista, поскольку UAC и DEP имеют тенденцию мешать работе «старых» приложений.

...