2012-11-17 23 views
7

私はVSTO 2010で開発したOutlookアドインをいくつかのイベントログに書きたいと思っています。私は、これは単純に次の操作を行って、仕事を得ることができ、デバッグ中:Outlookアドインをシステムイベントログに書き込むことはできますか?

if (!EventLog.SourceExists(ADDIN_FRIENDLY_NAME)) 
{ 
    EventLog.CreateEventSource(ADDIN_FRIENDLY_NAME, null); 
} 
EventLog.WriteEntry(ADDIN_FRIENDLY_NAME, message, EventLogEntryType.Warning); 

問題は、アドインがログを読むために管理者権限を持っていないリリースバージョンです。インストール中にEventLogソースを作成する方法について説明した記事がいくつか見つかりましたが、ClickOnceを使用していますが、そうする方法がないようです。また、別のDLLを作成し、そのDLL上でInstallUtilを呼び出してソースを作成する方法について話しました。これはまだ管理者権限が必要なので、私にとってはうまくいきません。

Outlookのセキュリティレベルを使用してアドインを実行することはできますか? Outlookのメッセージがイベントログに表示されるので、そのようにするには十分な権限が必要です。

+2

管理者権限のないイベントソースを作成することはできません。だから、戦略を変えて何かに書き込む必要があります。 –

+0

Johnさん、ありがとうございました。私はこれをオプションとして考えましたが、Outlookと同じセキュリティレベルでアドインを実行することが可能かどうかをチェックしたかったのです。私はいつも普通のファイルロギングに頼ることができます。 – user1715925

+0

いつでもリモートデータベースにロギングを試みることができます。これにより、集計レポートがはるかに簡単になります。 – SliverNinja

答えて

1

this articleで提案されているソリューションを使用して、管理者として一度クリックすることはできますが、それは良い解決策ではないと思います。

アドインを初めてインストールするときに実行できる標準の.msiセットアップを、ワンクリックでパッケージ化する方がよい場合があります。このmsiはイベントソースを作成するだけです。あなたの質問について

それはOutlookのセキュリティレベルを使用したアドインの実行を持つことは可能ですか?

アドインが別のセキュリティレベルを使用して実行されていると思われますが、UACが有効になっている可能性が高いので、管理者でも管理操作を実行できません。

+0

私の質問のために回答していたので、マーキング。私がやった解決策については、単純にするために、現在のユーザーのドキュメントフォルダの下にテキストログファイルに書き込むコードを別に書きました。 – user1715925

関連する問題