2009-04-21 7 views
0

Beim Erstellen eines VSTO Outlook AddIns gibt es einige Einschränkungen, die ein wenig nervig sind. Wenn Sie beispielsweise Outlook aufgrund eines Klicks auf einen Mail-Link starten, werden aus Sicherheitsgründen keine Add-Ins geladen.Verschiedene Möglichkeiten, Outlook AddIns zu erstellen

Gibt es eine Möglichkeit, dieses Verhalten zu überschreiben? Vielleicht eine alternative Möglichkeit, ein Addin zu erstellen, ohne VSTO zu verwenden? Wenn ich mich richtig erinnere, gibt es Möglichkeiten, Addins mit einer anderen Technologie als VSTO zu erstellen, aber welche und welche Unterschiede gibt es?

Antwort

1

Es gibt ältere, schmerzhaftere Möglichkeiten, Add-Ins zu erstellen, aber ich glaube nicht, dass sie Ihr Problem lösen würden. Die Lösung, die ich gesehen und verwendet habe, ist zu erkennen, ob Sie den ActiveExplorer bekommen können und wenn nicht, sagen Sie dem Benutzer, das Programm normal zu starten.

Ein Beispiel dafür ist in der Quelle der Outlook Attachment Reminder-Quelle auf Codeplex zu sehen.

http://www.codeplex.com/OAR/Release/ProjectReleases.aspx?ReleaseId=22094

0

Makros sind eine andere Art und Weise ...

Die oben von Codeplex VSTO verwendet.

Als Kevin erwähnte wir brauchen, um herauszufinden, warum die Addin nicht geladen werden ... In der Addin über ein Menü jedes Mal dort erstellt wird; s ein aktiv explorer ...

+0

Soweit ich weiß, ist das Addin wegen Microsoft Sicherheitseinschränkungen nicht geladen. Stellen Sie fest, dass Sie einen PC mit einem bösartigen Addin infiziert haben und lassen Sie den Benutzer auf einen mailto Link klicken, der Outlook sofort öffnet. Das bösartige Addin würde geladen werden und tun, was auch immer es soll. Um zu verhindern, dass Outlook potenziell schädlichen Code automatisch lädt, werden Add-Ins nur geladen, wenn der Benutzer Outlook explizit öffnet. Zumindest denke ich, dass ich das irgendwo gelesen habe ... – Marcus

+0

Das ist nicht der Grund, dass das AddIn nicht geladen ist. Mailto: ist ein direkter MAPI-Subsystemaufruf. MAPI ruft den Standard-E-Mail-Client (Outlook) auf und weist ihn an, ein Nachrichtenelement zu erstellen. Wenn es sich um ein Sicherheitsproblem handelt, erhalten Sie eine Sicherheitsabfrage, was Sie nicht tun. –

1

falsch. Mailto Link verwendet eine andere Methode zum Aufrufen von Outlook unter den Betriebssystemabdeckungen. Mailto ruft über einen OS-Aufruf direkt in das MAPI-Subsystem auf, wodurch Outlook ausgelöst wird (da dies der Standard-MAPI-Client ist).

Wenn Sie die Schaltfläche Neu in Outlook verwenden, wird der Outlook-OM-Code bereits verwendet, und das Add-In ist bereits geladen.

Der Hauptunterschied hier ist einfach - Outlook ist bereits geladen. Sie können immer noch VSTO verwenden, um auf dieses Szenario zu zielen, Sie müssen nur sicherstellen, dass Sie beim Start geladen werden. Wenn Sie die VSTO-Komponente nur hinzufügen, wenn die Nachricht (aktiver Inspektor "hinzugefügt" wird), ist dies für dieses Szenario zu spät. Sind Sie sicher, dass Ihr Add-In beim Start geladen wird?