2016-06-28 1 views
2

J'ai vu des tonnes de publications et de sites qui traitent ce problème. J'ai essayé toutes les solutions que j'ai trouvées, mais aucune d'entre elles ne fonctionne (j'ai essayé de comprendre cela depuis des jours). J'ai vu beaucoup de messages avec le même problème de sondage exact, mais soit la solution n'a pas fonctionné pour moi ou n'est pas applicable. Cela dit ...L'ajout de VSTO pour Outlook ne fonctionne pas

J'ai un add-in pour Outlook 2007 qui est destiné à ajouter du texte au titre et au corps d'un email. Il est installé pour tous les utilisateurs utilisant un fichier .msi. Il y a une version plus ancienne que j'ai déployée l'année dernière qui fonctionne bien. La nouvelle version que j'ai créée n'a que quelques changements mineurs d'entrée/sortie, rien de majeur. Cette nouvelle version fonctionne parfaitement sur mon ordinateur de développement à la fois dans le débogage à partir de Visual Studio et à partir d'une installation réelle. Cependant, je ne peux pas le faire fonctionner sur un ordinateur non-développement. Voici les détails sur le programme et l'ordinateur cible (détails sur l'ordinateur de développement et l'ordinateur cible sont les mêmes autres que le fait que l'ordinateur cible ne pas Visual Studio):

-Using Visual Studio Professional 2013 
-Written in Visual Basic 
-Target Framework is .NET 4.0 
-The add-in is only run once the "send" button on an email is clicked. 
-Outlook version is Outlook 2007 
-Operating system is Windows 7 Enterprise SP1 32-bit 

Le problème est que la add- dans ne sera pas charger sur l'ordinateur cible (oui, je sais, un bazillion d'autres personnes ont eu le même problème). Comme je l'ai déjà dit, cela fonctionne très bien sur mon ordinateur dans les deux versions de débogage et installé. Cela m'a fait penser que quelque chose manquait à l'autre ordinateur, alors j'ai essayé d'installer le framework .NET 4.0 sur l'ordinateur cible mais il m'a dit qu'il était déjà installé. J'ai couru à travers tout ce que je pouvais penser pour le faire fonctionner sans succès. Voici comment il se comporte:

-Installs fine with no errors. 
-HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office/Outlook/Addins/EmailMarkTool/LoadBehavior = 3 after installation. 
-VSTO_LOGALERTS = 1 
-VSTO_SUPPRESSDISPLAYALERTS = 0 
-Outlook opens with no apparent errors. 
-LoadBehavior = 0 immediately after Outlook is opened. 
-Shows up in the Add-ins under "Inactive Application Add-ins." 
-Never shows up under "Disabled Add-ins." 
-In the "COM Add-Ins" dialog where I can check which add-ins to use, it shows the correct directory and the Load Behavior is "Unloaded." 
-The add-in can be checked. When I click "OK" I don't get any errors. When I go back to the Add-ins, it is unchecked and "Unloaded" again. 
-Setting the LoadBehavior to 3 doesn't help because it goes back to 0 as soon as Outlook is started again. 
-I inserted a try-catch block into the New() function of the add-in that has a MsgBox pop-up and a Throw. 
-I get absolutely no errors anywhere. 
-No log file is generated. 

J'ai essayé de désinstaller, la reconstruction et la réinstallation de plusieurs fois toutes avec le même résultat. Je n'arrive pas à comprendre pourquoi cela fonctionnera sur mon ordinateur de développement mais pas sur l'ordinateur cible. Merci d'avoir lu tout ça. Je sais que c'est beaucoup, mais j'avais besoin de connaître les détails. Merci d'avance pour toute contribution! [UPDATE]: Je viens de créer un tout nouveau complément minimal pour tester si cela fonctionnerait mais obtenir les mêmes résultats.

+0

Vous ne savez pas si vous avez consulté ce http: // stackoverflow.com/questions/4668777/comment-dépanner-un-vsto-addin-that-does-not-load mais cela pourrait aider. –

+0

@JimHewitt Oui, j'ai lu ça plusieurs fois. Mon complément n'a jamais été affiché dans les compléments désactivés. – ajlampman

+0

Je suppose que vous avez vu cela aussi https://www.outlook-apps.com/inactive-outlook-add-ins/, mais juste au cas où, il y a une section sur "Activation des compléments Outlook inactifs que –

Répondre

1

J'ai trouvé le problème!

Le problème peut être unique à Outlook 2007. Il s'avère que Microsoft Office 2007 SP1 et SP2 avait un bogue qui l'empêchait d'exécuter des extensions VSTO. Microsoft a publié un correctif qui résout ce problème (https://support.microsoft.com/en-us/kb/976477). Cela a été ajouté à la version de Microsoft Office SP3. Toutefois, pour activer le correctif, un nouvel indicateur de registre doit être créé, mais ce n'est pas fait automatiquement avec le correctif, rendant le correctif inutile jusqu'à ce que vous l'activiez manuellement (instructions et téléchargement here). Alors ...

Pour activer addins VSTO dans Outlook 2007, vous devez ajouter une sous-clé à ce registre: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\General\ et ajouter un DWORD « EnableLocalMachineVSTO » avec la valeur à 1.

Je l'ai fait, redémarré l'ordinateur pour faire bonne mesure, installé mon addin pour la 23ème fois, et il a installé et couru parfaitement! Je ne suis pas sûr de savoir comment les versions précédentes ont fonctionné, cependant. Il est possible que nos administrateurs système aient supprimé cette sous-clé dans le but de renforcer la sécurité à un moment donné.

0

Le problème de comportement du chargement que vous rencontrez est étrange. Bien que je pense que ce n'est probablement pas votre solution, il pourrait être, donc ça vaut le coup d'essayer.

L'ordinateur cible doit disposer d'outils VSTO pour l'exécution bureautique. Vous pouvez télécharger ces outils sont le lien suivant - https://www.microsoft.com/en-GB/download/details.aspx?id=48217

+0

Je pensais à ça aussi. J'ai essayé d'installer manuellement le moteur d'exécution VSTO mais j'ai reçu un message disant qu'il était déjà installé. C'est logique, étant donné que nous avons des add-ons fonctionnant sur tous nos ordinateurs. Je ne peux simplement pas faire fonctionner ce nouveau. – ajlampman

+1

Essayez d'ajouter une clé de résilience au registre qui dira à Outlook de toujours charger et activer l'ajout. HKEY_CURRENT_USER/Logiciel/Stratégies/Microsoft/office/15.0/outlook/résilience/addinlist/(ajouter une valeur de chaîne = 1 ici) La "valeur de chaîne" est le nom de votre ajout dans le projet. –