2012-11-17 3 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에서 제안 된 솔루션을 사용하여 관리자 권한으로 한 번 클릭 할 수 있지만 좋은 해결책이라고 생각하지 않습니다.

더 나은 해결 방법은 처음에 addin을 설치할 때 실행할 수있는 표준 .msi 설치를 한 번 클릭하는 것입니다. 이 msi는 이벤트 소스를 생성합니다. 귀하의 질문에 대해

:

는 Outlook의 보안 수준을 사용하여 추가 기능 실행을 할 수 있습니까?

추가 기능이 다른 보안 수준을 사용하여 실행되지만 사용자가 UAC를 사용할 수 있으므로 관리자 인 경우 관리자 작업을 실행할 수 없다고 생각됩니다.

+0

내 질문에 대답 한 것처럼 대답을 표시했습니다. 내가 끝내기 시작한 해결책에 관해서는, 단순함을 위해서 현재 사용자의 문서 폴더 아래에 텍스트 로그 파일에 쓰도록 별도의 코드를 작성했습니다. – user1715925