을 통해 개인 큐의 MSMQ 사용 권한을 업데이트합니다. 우리는 프로덕션 시스템에서 일부 개인용 MSMQ 큐를 사용하고 있습니다. 구현 한 이후로 우리는 큐를 업데이트하고 업데이트 된 코드로 작업 할 수 있도록 다시 만들어야했습니다. 우리는이 업데이트를하기 위해 SMS를 통해 푸시 될 프로그램을 만들기 위해이 업데이트가 필요한 200 대 이상의 컴퓨터를 가지고 있습니다.C#
업데이트를 수행하기 위해 내 프로그램을 실행할 수있는 유일한 사람은 원래 해당 컴퓨터에서 개인 큐를 설정 한 사람이라는 것입니다. 컴퓨터 수가 많기 때문에이 대기열을 설정하는 관리자가 여러 명 있습니다.
모든 직원이 여기에서 계속 근무하는 것은 아니므로 이는 내 프로그램이 문제가되고 있습니다. 권한으로 인해 프로그램에서 필요한 모든 것을 업데이트 할 수 없습니다. 내가 봤 거든이 링크 http://social.msdn.microsoft.com/Forums/hu-HU/msmq/thread/36a3d910-d533-4af3-86dc-498d00c68fef 각 큐에 대해 만들어진 파일을 수정하여 사용 권한을 업데이 트하는 방법을 보여 주 발견. 큰! 수동으로 해당 경로를 탐색하고 업데이트 할 때 작동합니다. 이제 SMS를 통해 프로그래밍 방식으로 수행하려고합니다.
내 프로그램에서이 파일을 실행하려고하면 "C : \ Windows \ System32 \ msmq \ storage \ lqs"디렉토리가 존재하지 않는다는 오류 메시지가 나타납니다. 응? 시작 -> 실행에 해당 경로를 입력하면 폴더가 올바르게 표시됩니다. 음, 내 코드의 if (Directory.Exists (path)) 부분을 위반하면 false가 반환됩니다. System32 이상의 모든 폴더를 제거하면 Directory.Exsts가 정상적으로 작동합니다.
내 프로그램이 msmq 폴더의 존재 여부를 결정할 수없는 이유는 무엇입니까? "관리자 권한으로 실행"시도했지만 여전히 false를 반환합니다. 수표를 받으려면 무엇을해야합니까?
감사
편집 : 이것은 정말 이상한, 난 내가 그 등 내가 그 실행 해요 때, 텍스트를 대체 텍스트를 찾아 경로 (파일이나 디렉토리)에 걸릴 쓴 FindAndReplace의 API를 내 찾기 및 바꾸기 GUI 래퍼에서 프로그램, 그것은 잘 작동합니다. 그러나 업데이트 프로그램에서이 API를 호출 할 때 디렉토리가 존재하지 않는다고 말합니다. 이것은 정말로 혼란 스럽다. (아마도 MSMQ 태그는 제 질문과 관련이 없기 때문에 제거해야합니다 ...)
이유를 찾아 냈습니다. FindAndReplace GUI 랩퍼 프로그램 (디렉토리를 찾는 WASP)은 64 비트 모드에서 실행 중이지만 작동하지 않는 다른 프로그램은 32 비트 모드에서 실행 중입니다. 이것을 디버깅하는 동안, 나는 그 디렉토리에서 내 텍스트에 대한 findstr을하는 것이 효과가 없다는 것을 발견했다. 매우 이상한 행동 ... – ganders