Domanda

Sto cercando di diagnosticare il motivo per cui il mio Outlook plugin scritto in C # / VSTO 3.0 / VS 2008 non viene caricato dopo l'installazione.

Il plugin funziona incredibilmente sulla mia macchina di sviluppo, che ha installato Visual Studio 2008. Non posso pretendere tutti i miei utenti di avere tutti i prerequisiti se così sono andato con la procedura per scrivere un programma di installazione: http://msdn.microsoft.com/en-us/library /cc563937(loband).aspx

Ho installato il componente aggiuntivo su una nuova macchina Windows XP SP 2 con una nuova installazione di Outlook 2007. Si installa tutti i prereqs ok (.NET 3.5, VSTO 3.0 Runtime, Windows Installer 3.1, 2007 PIA). Outlook si avvia ma il componente aggiuntivo non viene eseguito. Se vado alla scheda Componenti aggiuntivi nel Centro protezione, vedo il mio componente aggiuntivo in "Applicazione Inattivo componenti aggiuntivi" nella sezione con il messaggio "non caricato. Si è verificato un errore di runtime durante il caricamento del componente aggiuntivo COM . ".

Non è sicuro come trovare l'errore specifico in modo da poter risolvere il problema.

Le chiavi reg sembrano ok. In HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Outlook \ Addins \ BlahAddin vedo Descrizione, FriendlyName, LoadBehavior (impostato a 3 fino a quando non riesce dopo che se diventa impostato a 2), e manifesto.

provato il VSTO_SUPPRESSDISPLAYALERTS ambiente trucco variabile e poi ha lanciato Outlook dalla riga di comando, ma nessuna uscita è venuto fuori.

Ho il debug remoto, più o meno a lavorare, ma non sono sicuro che cosa cercare. Non vedo il mio DLL caricata quando attacco a Outlook, ma poi di nuovo forse DLL gestite non si presentano allo stesso modo in VS.

Tutte le altre idee su prossimi passi ho potuto seguire per produrre un errore specifico posso diagnosticare?

È stato utile?

Soluzione

Ha risolto il problema dopo settimane di dolore. La chiave del registro "Manifesto" si stava corrotto di un certo valore spazzatura durante la compilazione di installazione. E 'stato un noto bug di Visual Studio che si suppone ma ho risolto in Visual Studio 2008 SP1, ma a quanto pare non era per me. Rinominare il nome del progetto di essere diverso dal nome del plugin risolto il problema. Casuale, eh?

Altri suggerimenti

Assicurarsi di avere try-catch gestori al livello più alto di tutti i metodi chiamati da Outlook e accedere eventuali eccezioni si è in grado di gestire in qualche modo. Focalizza la tua risoluzione dei problemi metodi come il metodo Startup e altri metodi chiamati durante l'inizializzazione.

Probabilmente si desidera eseguire il debug questo utilizzando il debugger remoto. Condividere la cartella MSVCMON.EXE dalla macchina sviluppatore (in Visual Studio cartelle nella cartella Programmi) sulla vostra macchina di prova (condividerlo con un percorso UNC), e lanciare Outlook sotto la cattura debugger (NET) eccezioni nei moduli e mettere i punti di interruzione nei vostri metodi.

Se è necessario pulire il computer di prova ogni volta prima di installare la soluzione, probabilmente si dovrebbe eseguire XP sotto un Virtual PC 2007 VM (download gratuito) e passare a una differenziazione HD dopo aver impostato tutto, ma il vostro plugin per snapshot tua stato di pre-installato una sola volta in modo da non dover tenere disinstallazione / reinstallazione quando si apportano modifiche al vostro programma per correggere i bug.

Si sta installando build di debug o costruisce di uscita? Forse un sapore ha esigenze diverse. Basta indovinare.

-Mike [MSFT Ufficio Dev]

Nella propria macchina, quando si esegue il componente aggiuntivo da Visual Studio, si dovrebbe creare una chiave di registro in HKEY_CURRENT_USER \ Software \ Microsoft \ VSTO \ Security \ inclusione {} SomeGuid. Assicurarsi che queste impostazioni del Registro sono dispiegati con il componente aggiuntivo. Sono quelli che consentono il codice per essere attendibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top