Pergunta

Temos um aplicativo que funciona com o MS Office e usa Microsoft.mshtml.dll.Usamos ClickOnce para implantar o aplicativo.O aplicativo é implantado sem problemas na maioria das máquinas, mas às vezes recebemos erros dizendo "Atualização do sistema necessária, Microsoft.mshtl.dll deve estar no GAC".

Tentamos instalar o PIA for Office sem sorte.Como Microsoft.mshtml.dll é um arquivo dependente do sistema, não podemos incluí-lo no pacote e redistribuí-lo.Qual seria a melhor maneira de implantar o aplicativo?

Foi útil?

Solução

Você sabe qual versão do MS Office você está almejando?Esses PIAs são muito específicos para a versão do Office.Lembro-me de quando estávamos construindo um aplicativo smart client, costumávamos ter máquinas Build VM, cada uma voltada para uma versão específica do Outlook.

Outro obstáculo foi não conseguir especificar essas PIAs como pré-requisitos ou agrupá-las com o aplicativo.Esses PIAs precisam ser instalados no cliente usando o Office CD (pelo menos para a versão 2003).

Outras dicas

Você pode configurar pré-requisitos em um aplicativo clickonce, que verificaria assemblies específicos no GAC antes de permitir a instalação dos usuários.Você ainda precisaria instalar manualmente um aplicativo que inclua a dll de escritório necessária fora do ClickOnce, mas pelo menos evitaria gerar erros.

Nosso objetivo é o Office 2003 e o Office 2007, mas usar as dlls do Office 11 (2003) como o Office 2007 é compatível com versões anteriores.

O problema ocorre apenas para o arquivo Microsoft.mshtml.dll.Este arquivo é configurado como pré-requisito no aplicativo ClickOnce.

Nesta instalação específica, tentamos instalar os PIAs do Office 2003 e do Office 2007 sem sucesso.

Eu tive esse problema também.

A solução para isso é ir para a pasta Referências no gerenciador de soluções, clicar com o botão direito em Microsoft.mshtml e em Propriedades.

Na página Propriedades, marque "Copiar Local" como Verdadeiro.Isso deve funcionar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top