4

Visual Studio 배포 프로젝트를 사용하여 배포 할 vb.net windows form app가 있습니다. 앱에서 이벤트 로그를 이벤트 뷰어의 애플리케이션 로그에 기록해야합니다. 이유가 설명 된 경우 here 설치 프로세스 중에 이벤트 소스를 만들어야합니다. 이런 식으로 뭔가가설치의 일부로 이벤트 로그 소스 만들기 - Windows Forms app, 배포 프로젝트

 If Not EventLog.SourceExists(My.Application.Info.ProductName) Then 
      EventLog.CreateEventSource(My.Application.Info.ProductName, "Application") 
     End If 

그 코드가 상승 된 권한으로 설치하는 동안 실행해야 설치 프로그램의 일부로 실행합니다. 따라서 내 질문은 다음과 같습니다.

  1. 위의 코드를 설치 프로그램의 일부로 어떻게 실행합니까?
  2. 설치 프로그램이 해당 코드를 설치의 일부로 실행하도록 UAC 프롬프트를 표시하도록하려면 어떻게합니까?

답변

0

빈 레지스트리 키를 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application \ MY_CUSTOM_SOURCE_NAME_HERE에 추가하면 정상적으로 작동하는 것 같습니다.

0

당신은 또한 EventLogInstaller 클래스에서 접근을 시도 할 수 : (설치시 관리자 권한) https://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller(v=vs.90).aspx

또한 연습에 설명 된대로 ProjectInstaller 클래스를 사용하여에 관심이있을 수 : 구성 요소 디자이너에서 Windows 서비스 응용 프로그램 만들기 : https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

죄송합니다. Windows Forms를주의 깊게 보았습니다. 위의 Windows 서비스에만 적합