Interop.domino.dll 어셈블리를 사용하여 도미노/노트와 상호 작용하여 문서를 작성, 업데이트 및 삭제하는 C# 콘솔 응용 프로그램을 작성했습니다. 응용 프로그램은 cmd 프롬프트 나 Visual Studio를 통해 수동으로 실행될 때 성공적으로 실행됩니다. 우리가 (도메인 서비스 계정으로 실행) 예약 된 작업으로 응용 프로그램을 설정하려고 할 때 그러나, 다음과 같은 오류와 함께 실패합니다Interop.domino.dll을 사용하는 C# 콘솔 앱 - 예약 된 작업으로 실행시 실패
- 함께 System.Runtime.InteropServices.COMException : 구성 요소의 COM 클래스 팩터 리를 검색 오류로 인해 CLSID {29131539-2EED-1069-BF5D-00DD011186B7}이 (가) 실패했습니다. 80004005 지정되지 않은 오류 (HRESULT의 예외 : 0x80004005 (E_FAIL)).
오류는 시도는 다음에 따라, NotesSession 오브젝트의 인스턴스를 생성하기 위해 특별히 때, 바로 우리가 Interop.domino.dll에서 개체를 사용하려고으로 발생
- ISession notesSession = new NotesSession();
몇 가지 조사를 한 후 interop 어셈블리가 데스크톱과 상호 작용해야하며 예약 된 작업이 예약 된 작업에서 실행중인 컴퓨터에 로그인 한 서비스 계정으로 예약 된 작업을 실행해야한다는 것을 알게되었습니다. 서비스 계정으로 로그인하는 동안 응용 프로그램이 실행되는 동안 svchost.exe 창이 나타나서 바탕 화면이 필요한 이유입니다.
그러나 컴퓨터에 서비스 계정을 로그인하면 항상 서버를 다시 시작할 때마다 계정을 다시 로그인해야한다는 의미에서 용인 할 수 없습니다. 또한 서비스 계정이 시스템에 로그인하도록 허용하는 것과 관련된 몇 가지 보안 문제가 있습니다.
누군가이 문제를 해결하는 방법에 대한 제안 사항이 있으시면 궁금합니다. 어셈블리가 표시하려고하는 UI를 억제하는 방법이 있습니까? 또는 비슷한 결과를 얻을 수있는 예약 된 작업을 대체 할 사람을 제안 할 수 있습니까? 우리가해야 할 일은 다음과 같습니다
- 가 설정된 간격으로 응용 프로그램 실행 한 - A와 반대 (이 도메인 서비스 계정으로 실행이 이상적 (IE 하루에 한 번/한 시간에 한 번)
- 을 로컬 시스템 계정) 서비스 계정을 필요로하지 않고
- 실행하여 시스템에 로그인 할 /를 Interop.domino.dll의 UI 요소는
우리는 노트 웹을 활용 유사한 응용 프로그램을 작성에 대한 생각을 억제 서비스가 아니라 Interop assmebly 우리가 만약 그 경로를 내려갈 것입니다 콘솔 앱을 예약 된 작업으로 실행시키지 마십시오. 그러나 가능한 경우 이미 작성한 내용을 사용하고 싶습니다.
업데이트 01/05/12
내가 @ DNA 남자 솔루션에 따라, NOTESNTSERVICE OS 환경 변수를 랩탑 설치 시도했습니다. 그러나 이것은 문제를 해결하지 못했습니다.
지금까지 우리는 응용 프로그램을 로컬 시스템 계정에서 실행되는 Windows 서비스로 설정하고 데스크톱과의 대화 형 작업을 허용했습니다.이는 쉽게 계획 할 수 없으며 도메인 서비스 계정으로 실행되지 않지만 응용 프로그램이 작동하므로 이상적인 방법이 아닙니다. 이제는이 방법을 사용할 것입니다.
이 접근법을 제안하는 답변이 있지만 정확한 것으로 표시 할 수 없도록 삭제 된 것으로 보입니다. 다른 사람에게 제안이 있는지 확인하기 위해 질문을 공개적으로 남겨 둘 수 있습니다.
Domino 서버가있는 경우 기본 Notes Agent를 실행하지 않는 이유는 무엇입니까? – leyrer
이것은 interop 어셈블리와 관련이 없으며 선언과 코드가 포함되어 있습니다. 지원을 받으려면 IBM에 문의하십시오. –
@leyrer - 우리는 C# 응용 프로그램을 작동시키지 못하면 작업을 수행하기 위해 노트 작성기를 작성할 수 있습니다. 그러나 앱의 개발 단계에서 늦게이 문제를 발견 한 경우 가능한 경우 이미 작성한 내용을 사용하고 싶습니다. –