2012-07-11 2 views

답변

2

null를 반환하는 대신 예외를 던지고 경우, 다음은 권한 문제가 아니다 - 그것은 키가 존재하지 않는다는 점이다. OpenSubKey :

지정된 하위 키를 찾을 수없는 경우 null이 반환됩니다.

(그리고는,이 위에 나열된 예외주의) :

SecurityException 사용자는 레지스트리 키를 읽는 데 필요한 권한을 가지고 있지 않습니다.

Windows Installer 서비스에서 실행되는 설치 시퀀스 중에 사용자의 작업이 호출되는 것일 수 있습니다.이 서비스는 로그인 한 사용자의 계정이 아닌 로컬 시스템 계정으로 실행됩니다.


이 키를 사용하여 달성하려는 것을 알지 못한다면 어떤 해결 방법을 제안해야할지 모르겠습니다. MSI 시스템에 기본 제공되는 시설을 사용하여 목표를 달성 할 수도 있고 처음 프로그램을 실제로 실행할 때까지이 작업을 연기 할 수도 있습니다.

- 레지스트리 키에 대한

+0

하지 사용자의 account._ 로그인에서 로컬 시스템 계정에서 실행 나는 잘 내가 왜 궁금 작동 administrator_으로 사용자가 _run을 선택하면 내가 눈치 때문에이 키 솔루션입니다 생각 Windows가 설치를 통해 권한을 요청하면 작동하지 않습니까? –

1

봐 (당신이 그것을 구축하는 데 사용하는 내용에 따라 다를 수 있습니다 MSI 내부 가능성이 당신이 현재 VS 설치 프로젝트를 사용하는 경우, 당신은 매우 제한 될 수 있습니다) HKCM 하이브가 아닌 HKLM 하에서 같은 경로의 AutoCAD가 "현재 사용자 용"이 아닌 "모든 사용자 용"으로 설치되어있는 경우에만 존재합니다. 그러나 이전 버전은 상당히 가능성이 있습니다.

특정 사용자 만 AutoCAD가 설치되어 있고 다른 사용자가 같은 사용자로 설치하는 경우 msidbCustomActionTypeNoImpersonate 사용자 지정 작업의 플래그를 검사하십시오. 기본값은 당신을 위해 일해야하는 거짓,하지만 당신은 참으로 그 플래그를 변경 한 경우, 당신은 문제가 이미 Damien_The_Unbeliever하여 자매 대답에 설명 할 것이다.

특정 사용자 만 AutoCAD를 설치하고 관리자와 같은 사용자 () 아래에 다른 것을 설치하는 경우 요구 사항의 어딘가에 논리적 인 차이가 있는지 조심하십시오. HKCU 하이브는 시스템 차원의 하이브가 아니지만 로그인 한 모든 사용자마다 내용이 다릅니다. 이 다른 레지스트리 내용이 여러 병렬 AutoCAD를 설치하고 당신은 당신이 정말로 그들 각각 수행 할 작업에 명확하게해야 할 수도 있습니다; 또는 다른 접근 방식을 통해 궁극적 인 목표에 도달하십시오. 서비스 _this