2008-09-10 7 views
1

Nous avons une application qui fonctionne avec MS Office et utilise Microsoft.mshtml.dll. Nous utilisons ClickOnce pour déployer l'application. L'application se déploie sans problèmes sur la plupart des machines, mais parfois nous obtenons des erreurs disant "Mise à jour système requise, Microsoft.mshtl.dll devrait être dans le GAC".ClickOnce Deployment, mise à jour système requise Microsoft.mshtml

Nous avons essayé d'installer le PIA pour Office sans avoir de chance. Puisque Microsoft.mshtml.dll est un fichier dépendant du système, nous ne pouvons pas l'inclure dans le paquet et le redistribuer. Quel serait le meilleur moyen de déployer l'application?

Répondre

1

Savez-vous quelle version de MS Office vous ciblez? Ces PIA sont très spécifiques à la version d'Office. Je me souviens que lorsque nous construisions une application client intelligente, nous avions des machines Build VM, chacune ciblant une version spécifique d'Outlook.

Un autre obstacle n'était pas de pouvoir spécifier ces PIA comme pré-requis ou de les regrouper avec l'application. Ces assemblys PIA doivent être installés sur le client à l'aide du CD Office (at least for 2003 version).

0

Vous pouvez set up prerequisites in a clickonce app, qui vérifie les assemblys spécifiques dans le GAC avant d'autoriser l'installation des utilisateurs. Vous devez toujours installer manuellement une application qui inclut le dll de bureau requis en dehors de ClickOnce, mais vous évitez au moins de lancer des erreurs.

0

Nous ciblons Office 2003 et Office 2007, mais l'utilisation des dll Office 11 (2003) comme Office 2007 est rétrocompatible.

Le problème se produit uniquement pour le fichier Microsoft.mshtml.dll. Ce fichier est configuré comme prérequis dans l'application ClickOnce.

Lors de cette installation particulière, nous avons essayé d'installer les PIA Office 2003 et Office 2007 en vain.

0

J'ai aussi eu ce problème.

La solution à ceci est d'aller au dossier de références dans l'explorateur de solution, puis faites un clic droit sur Microsoft.mshtml, puis Properties.

Dans la page Propoerties, marquez "Copy Local" comme True. Cela devrait fonctionner.