Comment dépanner un VSTO addin qui ne se charge pas?
mon VSTO Outlook Add-in a brusquement cessé de fonctionner sur une machine client (il ne charge pas, aucun message d'erreur) et je suis coincé avec le dépannage. La machine est Windows 7 x86, Outlook 2007. L'add-in est écrit avec Visual Studio 2008 et utilise VSTO 2005 avec les PIAs 2003 (parce que nous devons soutenir Outlook 2003 ainsi). Il fonctionne parfaitement sur d'autres machines.
voici ce que j'ai essayé d'obtenir la sortie de dépannage utile:
- ajouter la
VSTO_SUPPRESSDISPLAYALERTS
variable d'environnement (définie à0
) . - commencer Outlook avec les autorisations administratives.
- regardez dans le journal des événements.
rien. L'add-in ne se chargera tout simplement pas sans donner n'importe quel indication de la raison. J'ai aussi vérifié les "usual suspects" (Politique CAS, PIAs installé, LoadBehavior dans le registre, réinstaller VSTO et l'add-in).
quelques autres observations:
-
LoadBehavior
dans le registre reste à3
. - l'add-in apparaît comme" désactivé " dans Outlook. La vérification de sa case à cocher dans "COM add-ins" ne fait rien (aucune erreur, la case à cocher est effacée à nouveau lors de la saisie du formulaire une deuxième fois).
- Il fonctionne parfaitement bien sur d'autres ordinateurs client, et cela a fonctionné parfaitement bien sur ce machine. (Non, le client ne peut pas me dire ce qui a changé sur sa machine.)
- j'ai un message
Trace.WriteLine
en haut de mon code (première ligne du handlerThisAddIn_Startup
), qui n'est pas atteint (j'ai coché DebugView ). Ainsi, la raison pour ne pas charger n'est pas une exception dans mon add-in, mais plutôt un échec de VSTO de charger l'add-in ou de Outlook de charger VSTO.
au lieu de débogage aléatoire ("de l'essayer...", "essayez que..."), J'aimerais vraiment forcer Outlook et / ou VSTO pour me dire ce qui ne va pas , i.e. pour me donner un message d'erreur utile au lieu de juste ne rien faire en essayant d'activer l'add-in. Des idées?
7 réponses
avez-vous essayé d'activer l'add-in à nouveau? Il ne va pas courir après son dans la file d'attente handicapés. Après l'avoir réactivé à partir de l'écran d'ajout désactivé, vous pouvez alors cocher la case dans L'écran COM-AddIn pour le charger, ce qui devrait vous demander plus de détails puisque vous avez défini la variable VSTO_SUPPRESSDISPLAYALERTS
à propos de ce qui a pu se passer en premier lieu.
voici un peu plus de détails sur la solution de RobertG5 (trop long pour un commentaire):
Le problème était que le complément a été "151930920 dur" désactivé par Outlook. Comme je l'ai appris, c'est quelque chose de différent du scénario de non-chargement "habituel". Pour s'en rendre compte , il fallait noter que l'add-in ne figurait pas sous , mais plutôt sous , sous , sous , sous . Cela fait une différence: dans ce dernier cas, aller à L'écran COM-AddIn et cocher la case Ne fait rien. (Je suppose qu'une jolie boîte de message "vous ne pouvez pas charger cet add-in parce qu'il a été désactivé" serait trop demander... soupir .)
alors, comment réactiver un add-in désactivé?
- Dans le Gérer "151940920 zone" changement COM Add-ins désactivé Add-ins , puis cliquez sur Go.
- sélectionnez l'add-in et cliquez sur activer . Cliquez Sur Fermez .
OK, maintenant l'add-in peut être chargé à nouveau:
- dans la boîte Gérer , changer ajouter désactivé en COM Ajouter-ins , puis cliquez sur Aller.
- sélectionnez la case à cocher en regard aux personnes à mobilité réduite. Cliquez sur OK .
référence: http://msdn.microsoft.com/en-us/library/ms268871.aspx
je sais que c'est vieux mais pour diverses raisons, j'ai récemment été dépannage Add-Ins de bureau qui ne chargent pas.
ses tas mâchés de temps donc j'ai pensé que je partagerais, donc si votre charge d'add-in wont ou son non visible ou etc s'il vous plaît essayer ces solutions.
1). Le complément n'est pas chargé.
non chargé. Une erreur d'exécution s'est produite lors du chargement de l'extension COM.
le problème est dû à l'absence de .net framework 3.5 ou 4.0.
Note: sur un x64 j'ai seulement besoin de .Net 4.0 mais sur un PC x86 j'ai eu l'erreur après avoir installé .Net 4.0. Suite à cet article j'ai installé .Net 3.5 et puis il a fonctionné sur le PC x86!
2). Le complément n'est pas chargé.
Double contrôle vous avez épelé le les clés de registre correctement. Occasionnellement je tape le comportement mais en orthographe américaine est le comportement, donc double check "LoadBehavior "
assurez-vous également que" LoadBehavior "est 3, pour une liste de valeurs voir http://msdn.microsoft.com/en-us/library/vstudio/bb386106.aspx#LoadBehavior
3). Le complément n'est pas visible.
vous pouvez faire l'add-In visible en allant dans Excel > File > Options > Add-Ins > sélectionnez la liste déroulante Manage et définissez-la en COM Add-Ins > cliquez sur GO. Dans la boîte de dialogue COM Add-Ins, assurez-vous que L'Add-In est coché.
4). Le complément a été désactivé.
alternativement l'add-in peut être caché parce qu'il a été désactivé. Vous pouvez activer L'ajout en allant dans Excel > File > Options > Add-Ins > sélectionnez la liste déroulante Gérer et désactivez-la. et cliquez sur GO. Sélectionnez le complément qui a été désactivé et cliquez sur Activer.
5). La formule définie par L'utilisateur ExcelDNA ne rend pas correctement
au lieu de voir la valeur de la cellule, vous voyez: #NAME?
mettre la clé de Registre suivante:
HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\options\OPEN:
avec la valeur correcte:
/R "C:\Program Files\XYZ\XYZ Addin\ExcelDNA.XYZAddIn.xll"
6). Excel est suspendu après avoir montré un messagebox
revenir sur les paramètres de l'application:
xlApp.ScreenUpdating = true;
xlApp.DisplayAlerts = true;
xlApp.Calculation = XlCalculation.xlCalculationAutomatic;
xlApp.UserControl = true;
xlApp.EnableEvents = true;
7). Autre dépannage
activez votre fichier journal VSTO en ajoutant les éléments suivants sur les variables d'environnement de votre système:
NAME: VSTO_LOGALERTS
VALUE: 1
il pourrait y avoir une erreur d'exception qui explique pourquoi votre add-in ne se charge pas.
You peut vérifier cette source pour plus d'info sur VSTO logging et alertes, mais en essence vous changez deux valeurs variables d'environnement en fonction de ce que vous devez faire:
affichage des messages D'alerte de VSTO
pour afficher chaque erreur dans une boîte de message, Vsto_supressdisplayalerts variable à 0 (zéro). Vous pouvez supprimer l' messages par définition de la variable à 1 (un).
enregistrement de VSTO des Alertes à un fichier Journal
pour écrire les erreurs dans un fichier journal, définissez la variable
VSTO_LOGALERTS
1 (un).Visual Studio Tools pour Office crée le fichier journal dans le dossier contient le manifeste d'application. Le nom par défaut est .manifester.journal. Pour arrêter les erreurs de journalisation, définissez la variable à 0 (zéro).
je suggérerais d'utiliser un outil Microsoft pour diagnostiquer les problèmes d'add-in appelé AddinSpy .
Drôle pour moi, j'ai essayé un redémarrage. Il fixe pour moi. Cependant, la raison pour laquelle il l'a réparé pour moi, est j'ai eu un Rogue Excel.exe en cours d'exécution caché. L'addin ne démarrait pas à cause de cette autre application excel (j'étais en train de migrer une application MSAccess vers VSTO), donc Access avait une application d'automatisation ouverte cachée.
en bref, si votre addin ne démarre pas, vérifiez simplement qu'il n'y a pas d'autres applications Excel en cours d'exécution. Bien sûr, cela s'applique uniquement lorsque vous essayez d'en faire installer une toute nouvelle et de la faire fonctionner.
(j'ai utilisé ce lien) https://www.add-in-express.com/creating-addins-blog/2012/11/13/wix-installation-vsto-office-addin /
il y a aussi une autre possibilité ici de savoir pourquoi vous ne recevez aucun feedback même avec les Variables D'environnement mentionnées ci-dessus étant définies. J'ai trouvé que si vous aviez cette erreur après une installation (pas une VSTO précédente qui avait fonctionné) vous devriez également vérifier le registre et le "manifeste entrée si vous en avez une.
bien que Jeremy Thompson indique le Registre dans son deuxième point, il ne montre pas le Manifeste entrée qui pourrait faire partie de vos paramètres de registre. Si votre manifeste n'indique pas le chemin et le fichier appropriés, il apparaîtra dans la liste des ajouts avec une entrée de "non chargé" .
ici, nous voyons une mauvaise entrée qui pointe seulement vers le fichier VSTO, pas de chemin.
cela fera ressembler votre AddIn chargé d'erreurs, mais non les erreurs surgissent et apparaissent pour vous et rendent les choses frustrantes. Donc, il ressemblera à ceci ci-dessous, notez l'emplacement de l'entrée ci-dessous ne montre pas le chemin.
corriger l'entrée en mettant dans le chemin approprié avec le nom de fichier et il va corriger cela.
le manque d'erreurs que je suppose vient du fait que vous pointiez vers rien au début, donc il Liste L'AddIn parce que c'est dans le registre, même si il n'y a rien à charger.
finalement j'ai coaxié mot pour me dire:
Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateStartupObjectException:
Could not create an instance of startup object blaghblagh --->
System.TypeInitializationException: The type initializer for 'foo' threw an exception. --->
System.IO.FileNotFoundException: Could not load file or assembly 'blah' or one of its dependencies.
The system cannot find the file specified.
après cela, grâce à [1], FusLogvw a rapidement résolu le problème pour moi.
[1] ne pouvait pas charger le fichier ou l'assemblage ou l'une de ses dépendances