2012-10-03 3 views
0

제한된 사용자로 설치된 소프트웨어 목록을 가져와야합니다. 내가 정상 출력 참조 내 dev에 컴퓨터에서제한된 권한을 가진 코드에서 reg.exe 사용

string fullString = string.Format("EXPORT \"{0}\\{1}\" \"{2}\" /y", hiveString, keyPath, Path.GetTempFileName()); 
Log(fullString); 
var p = Process.Start(new ProcessStartInfo("reg.exe", fullString) {RedirectStandardOutput = true, UseShellExecute = false,WorkingDirectory = Directory.GetCurrentDirectory()}); 
Log("Output: " + p.StandardOutput.ReadToEnd()); 
p.WaitForExit(); 

:

이 코드를 사용하든 내가 무엇을 사용 계정을 성공적으로

을 완료되지

작업을 - 관리를 또는 제한된 사용자.

그런 다음 제한된 사용자로 Windows XP에서이 응용 프로그램을 실행했습니다. 그리고 로그에 다음 참조 :

"출력 :"

빈 라인을, 예.

cmd에서 비슷한 쿼리를 실행할 때 제대로 작동합니다. 나는 내가 뭘 잘못하고 있는지 이해할 수 없다.

reg.exe에 글을 씁니까?

답변

1

은 관리자 권한없이 call reg.exe가 될 수 없습니다. Windows Millennium을 사용하는 경우가 아니면 적어도 MSFT 웹 사이트에는 나타나지 않습니다. 가능한 경우 할 수있는 일이 무엇인지 상상해보십시오 ...

+0

흠, 내가 할 수없는 경우 명령 행에서 작동하는 이유는 무엇입니까? –

+0

읽고 쓰지 않아야합니다 –

+0

* 관리자 권한없이 reg.exe를 호출 할 수 없습니다. * 참조 할 수 있습니까? 나는 레지스트리 키에 대한 액세스가 특정 키에 필요한 사용 권한을 기반으로한다고 생각합니다. [Windows XP 또는 Windows Server 2003에서 레지스트리 편집 권한을 설정 또는 변경하는 방법] (http://support.microsoft.com/kb/310426)을 참조하십시오. –

관련 문제