Question

J'essaie de créer un complément partagé à l'aide de VS 2008 pour Office XP (Excel pour être précis). Cependant, après avoir créé le projet dans Visual studio et modifié les références à Office XP (mis à part Extensibility, il me semble impossible de trouver une copie pour office xp) et ajouté excel.exe aux références. Je ne parviens pas à installer le complément sur tous les ordinateurs.

Quelqu'un a-t-il des guides sur la rédaction de compléments Office XP à l'aide de VS 2008 (des compléments que je pourrais ajouter)?

Est-ce que quelqu'un connaît la référence que je suis censé avoir ou des choses antérieures que je suis censé avoir installée sur le PC?

J'ai trois ordinateurs de test, celui-ci a Office XP, 2003 et 2007 dessus et je peux écrire un add-in utilisant des références 2003 qui s’exécute sur cette case, mais aucune autre boîte. Un avec juste le xp de bureau là-dessus mais également les PIA de xp de bureau installés et .NET et un autre juste avec le xp de bureau dessus.

Toute aide serait très appréciée.

Était-ce utile?

La solution

J'ai finalement trouvé le problème avec cela.

Le problème provient d'une entrée de la base de connaissances 908002 . Malheureusement, pour exécuter le correctif, Visual Studio 2005 et Office 2003 doivent être installés, sinon le correctif ne sera pas déployé. C'est pourquoi je l'avais passé sous silence plusieurs fois. En fin de compte, j’ai trouvé une ancienne copie de VS2005 et Office 2003 sur une machine de rechange, installé le correctif, créé un programme d’installation et testé sur une machine dotée d’Office XP et tout fonctionnait correctement.

Deux correctifs sont nécessaires pour que cela fonctionne sur tout ordinateur doté d'Office XP:

extensibilityMSM.msi - installs the extensibility.dll
lockbagRegKey.msi    - adds a fix to a registry key

Je ne pouvais pas trouver ces fichiers à télécharger séparément du correctif KB908002, mais j'en ai des copies localement.

Après l’application de ces correctifs, il était facile d’utiliser COM Addins comme avec VSTO et cela m’a pris moins d’une heure pour écrire le code réel. Je ne cherche pas le moyen de les inclure dans mon installateur MSI en tant que prérequis.

Toutes les questions les jettent dans un commentaire et je vais essayer de mettre à jour dès que possible.

Autres conseils

Les PIA doivent être installés en tant que condition préalable. Est-ce que le complément s'installe ou échoue lors de l'installation? Un complément se comportant mal au démarrage peut être banni par l'application hôte (Excel). Vous pouvez le modifier dans la boîte de dialogue Paramètres du complément dans Excel.

@PintSizedCat - Voici est un lien vers un blog msdn qui montre comment extraire les msi sans que VS2005 soit installé.

Voir la section "Création du projet d'installation du complément COM partagé" " - utilisez la ligne de commande:

vs2005-kb908002-enu-x85.exe / T: & # 8221; C: \ Test & # 8221; / C

Pour nous, c’était Excel 2003 avec .Net 2.0 et l’extensibility.dll était manquant. Je ne pense pas que VS2008 / VS2010 ait ceci comme condition préalable. La DLL n'est pas redistribuable (selon cette blog - voir la section "La réponse"). - vous devez utiliser le MSI pour le redistribuer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top