2009-02-10 29 views
6

Ho scritto un componente aggiuntivo di Microsoft Excel in .NET utilizzando Add-in Express e lo ho distribuito a circa 50 diversi siti utente, tutti con Office 2003 su Windows XP. Il componente aggiuntivo funziona bene nella maggior parte dei siti, ma in alcuni casi, Excel sembra disabilitare il componente aggiuntivo dopo un po 'e devono trovarlo nell'elenco degli elementi disabilitati per riattivarlo. Riattivare sembra prendersene cura, almeno temporaneamente, anche se è troppo presto per dire se accadrà di nuovo. Quindi sto cercando di capire perché Excel sta disabilitando il componente aggiuntivo, ma tutto quello che sto cercando qui è solo un metodo generale per scoprire perché Excel disabilita un componente aggiuntivo. Nella mia situazione, il componente aggiuntivo è in esecuzione su siti remoti e ho avuto accesso limitato per la risoluzione dei problemi. Ho guardato nel registro eventi e non ho notato nulla. Ho anche errori di registrazione nel mio componente aggiuntivo, e questo non ha catturato nulla.Come risolvere il motivo per cui Excel disabilita un componente aggiuntivo?

Qualche suggerimento?

risposta

6

Sono sicuro che Excel non disabiliterà automaticamente l'addin (non ho trovato nulla che descriva questo comportamento, correggimi se l'ho perso). Tuttavia, se l'addin si blocca/si blocca ecc., La prossima volta che si avvia Excel, viene visualizzata una finestra di dialogo che dice "Questo addin ha avuto un errore fatale, ti piacerebbe disabilitarlo?" (come sottolinea Chris).

Trovo che gli utenti invariabilmente si limitino a fare clic sì, in modo che possano andare avanti con il loro lavoro. Potrebbe valere la pena parlare con i tuoi utenti e vedere se hanno visto qualcosa di simile.

Ovviamente c'è un problema di fondo con l'addin che vorresti arrivare in fondo a. Credo che potrebbero essere i vostri prossimi passi (mi scuso se questi sono passi di debug evidenti che avete provato):

  • Sicuramente aggiungere un po 'di configurazione di alzare la tua registrazione per cercare di limitare quello che sta succedendo.
  • Parlare con gli utenti e scoprire le condizioni che hanno portato a bloccarsi/bloccarsi in Excel, in modo da poter provare e riprodurre il problema (se si verifica un arresto anomalo, la registrazione potrebbe non essere di grande aiuto).
  • Il blocco delle chiamate nell'addin o nel codice che si sta chiamando potrebbe portare a un utente che uccide un Excel non reattivo?

Buona fortuna rintracciare il problema.

Modifica: Mi scuso, ci sono casi in cui Excel disabiliterà automaticamente i componenti aggiuntivi. Ho trovato il seguente nella Guida Security Center per addins:

notifica Disabilita per addins non firmate (codice rimarrà disattivato) Questa casella di controllo è disponibile solo se si seleziona le richiedono le estensioni di applicazione per essere firmato da Casella di controllo Trusted Publisher. In alcune situazioni, la libreria a collegamento dinamico (.dll) (Libreria di collegamento dinamico: un insieme di routine che possono essere richiamate dalle procedure di Visual Basic e caricate e collegate all'applicazione in fase di runtime). File che contiene il componente aggiuntivo potrebbe essere non firmato. In questi casi, i componenti aggiuntivi firmati da un editore attendibile sono abilitati, ma i componenti aggiuntivi non firmati vengono disabilitati automaticamente.

Disabilitare tutti i componenti aggiuntivi dell'applicazione (potrebbe compromettere la funzionalità) Selezionare questa casella di controllo se non si ritiene attendibile alcun componente aggiuntivo.Tutti i componenti aggiuntivi sono disabilitati senza alcuna notifica e le altre caselle di controllo del componente aggiuntivo non sono disponibili.

+2

yup auto disable è abbastanza possibile. La maggior parte dei componenti aggiuntivi non dispone di un editore affidabile, quindi vengono disattivati ​​solo dopo gli AV di Excel. Non deve nemmeno essere il "difetto" dell'addin, se qualcos'altro ha causato l'arresto anomalo ma la funzione dell'addin era in pila in quel momento, quindi Excel getterà la colpa ai piedi dell'addin e lo disabiliterà. –

+1

Poco tardi alla festa - ma per aggiungere ai passaggi successivi - se il componente aggiuntivo si arresta in modo anomalo e non è possibile riprodurlo - puoi chiedere all'utente di eseguire un crash dump utilizzando procdump o adplus e inviarti il ​​dump file. È quindi possibile eseguire il debug di questo con windbg/ntsd ecc. – quixver

4

Ho visto succedere quando un componente aggiuntivo ha un errore fatale e il processo muore. Excel lo noterà e si disabiliterà automaticamente per la prossima volta o offrirà di disabilitare. Il tuo componente aggiuntivo registra questo tipo di errore?

+0

Ho lo stesso problema e non ho ancora soluzione. Provo a registrare tutti gli errori/eccezioni ma sembra non funzionare. vedi http://stackoverflow.com/questions/16447595/how-to-suppress-disable-add-in-dialog-when-excel-is-force-close – toosensitive