ClickOnce Deployment, требуется обновление системы Microsoft.mshtml

StackOverflow https://stackoverflow.com/questions/54770

  •  09-06-2019
  •  | 
  •  

Вопрос

У нас есть приложение, которое работает с MS Office и использует Microsoft.mshtml.dll.Мы используем ClickOnce для развертывания приложения.Приложение развертывается без проблем на большинстве компьютеров, но иногда мы получаем ошибки с надписью «Требуется обновление системы, Microsoft.mshtl.dll должен находиться в GAC».

Мы попытались установить PIA для Office, но безуспешно.Поскольку Microsoft.mshtml.dll является системно-зависимым файлом, мы не можем включать его в пакет и повторно распространять.Как лучше всего развернуть приложение?

Это было полезно?

Решение

Знаете ли вы, на какую версию MS Office вы ориентируетесь?Эти PIA очень специфичны для версии Office.Я помню, когда мы создавали интеллектуальное клиентское приложение, у нас были машины для сборки виртуальных машин, каждая из которых была ориентирована на определенную версию Outlook.

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

Другие советы

Ты можешь настроить предварительные условия в приложении clickonce, который будет проверять наличие определенных сборок в GAC, прежде чем разрешить пользователям установку.Вам все равно придется вручную установить приложение, содержащее необходимую офисную DLL, за пределами ClickOnce, но вы, по крайней мере, избежите возникновения ошибок.

Мы ориентируемся на Office 2003 и Office 2007, но используем библиотеки DLL Office 11 (2003), поскольку Office 2007 обратно совместим.

Проблема возникает только для файла Microsoft.mshtml.dll.Этот файл настраивается как необходимое условие в приложении ClickOnce.

В этой конкретной установке мы попытались установить PIA Office 2003 и Office 2007, но безрезультатно.

У меня тоже была эта пробема.

Решением этой проблемы является переход в папку «Ссылки» в обозревателе решений, затем щелкните правой кнопкой мыши Microsoft.mshtml и выберите «Свойства».

На странице «Свойства» отметьте «Копировать локально» как True.Это должно сработать.

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