2008-12-30 6 views
1

J'essaie de créer un Addin partagé en utilisant VS 2008 pour Office XP (Excel pour être précis). Cependant, après avoir créé le projet en Visual Studio et en changeant les références à Office XP (à part Extensibility qui ne semble pas pouvoir trouver une copie pour le bureau xp) et en ajoutant excel.exe aux références aussi bien. Je ne semble pas pouvoir obtenir l'addin pour installer sur n'importe quel ordinateur.Office XP Shared Addin VS 2008

Est-ce que quelqu'un a des guides sur l'écriture d'addins Office XP en utilisant VS 2008 (Addins Com que je pourrais ajouter)?

Est-ce que quelqu'un sait la référence que je suis censé avoir ou les choses avant que je suis censé avoir installé sur le PC?

J'ai trois PC de test, celui-ci a le bureau xp, 2003 et 2007 dessus et je peux écrire un addin en utilisant les références 2003 qui s'exécutent sur ce mais pas d'autre boîte. Un avec juste le bureau xp là-dessus mais aussi le bureau xp PIAs installé et .NET et un autre juste avec le bureau xp sur.

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

Répondre

1

J'ai trouvé le problème avec ceci à la fin.

Le problème provient d'une entrée de la base de connaissances 908002. Malheureusement, pour exécuter le correctif, vous avez besoin de Visual Studio 2005 et Office 2003, sinon il ne déploiera pas le correctif et j'ai donc passé ce test plusieurs fois. À la fin j'ai trouvé une vieille copie de VS2005 et d'Office 2003 sur une machine de rechange, ai installé le correctif, ai créé un installateur et l'ai essayé sur une machine avec Office XP et tout a fonctionné bien.

Il y a deux correctifs qui sont nécessaires pour que cela fonctionne sur toute machine avec Office XP:

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

Je ne pouvais pas trouver ces à télécharger le correctif de séparement de KB908002 mais j'avoir des copies sur place. Après l'application de ces correctifs, il était facile d'utiliser COM Addins comme avec VSTO et il m'a fallu moins d'une heure pour écrire le code réel. Je ne cherche pas un moyen de les inclure dans mon programme d'installation MSI comme prérequis.

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

0

Vous devez avoir installé les assemblys PIA comme condition préalable. L'addin s'installe-t-il ou échoue-t-il à l'installation? Un comportement incorrect au démarrage peut être interdit par l'application hôte (Excel). Vous pouvez le renommer dans la boîte de dialogue des paramètres Add-in dans Excel.

0

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

Voir la section "Construire le projet d'installation complément COM partagé" - utiliser la ligne de commande:

VS2005-KB908002-enu-x85.exe/T: » C: \ Test »/C

Pour nous, c'était Excel 2003 avec .Net 2.0 et l'extensibility.dll manquait. Je ne pense pas que VS2008/VS2010 ait ceci comme condition préalable. La dll n'est pas redistribuable (d'après le blog - voir la section «La réponse») - vous devez utiliser le msi pour la redistribuer.