새 dll을 배포 할 때마다 클라이언트 컴퓨터에서 gac에 dll을 등록하도록 requeres하는 응용 프로그램이 있습니다. 문제는 클라이언트 컴퓨터가 UAC가 설정된 사용자 만 제한된다는 것입니다.dac을 다른 사용자로 gac에 등록
응용 프로그램은 관리자 권한을 가진 사용자의 자격 증명을 알고 있습니다. 내가 processStartInfo.UseShellExecute = false;
그때 나는 UAC가 오류가 여물 얻을 수없는 경우
문제가 "요청 opperation는 고도가 필요"내가 processStartInfo.UseShellExecute = true;
이 있다면 그것은 다른 사용자로 모든 일을 실행하는 것을 허용하지 않습니다 "프로세스 객체 인 UseShellExecute 속성은 사용자로 프로세스를 시작하기 위해 false로 설정해야합니다"
internal static void Register(String assemblyName)
{
ProcessStartInfo processStartInfo = new ProcessStartInfo(lcDir + "gacutil.exe", string.Format("/i {0}.dll", assemblyName));
processStartInfo.UseShellExecute = false;
processStartInfo.WorkingDirectory = lcDir;
processStartInfo.UserName = lcUser;
processStartInfo.Password = Password;
processStartInfo.Domain = lcDomain;
processStartInfo.Verb = "runas";
Process process = Process.Start(processStartInfo);
process.WaitForExit();
}
나는 그런 종류의 "모범 사례"가 무엇인지 알고 싶습니다
? 나는 창세기가 바이러스처럼 보이는 것을 알고 있습니다.
나는 다음과 같은 실현하려하고 싶은 것 :
- 사용자 나던은 관리 사용자의
- credencal 년대는 프로그램의 데이터베이스
- 로 저장됩니다 관리자 권한이있는 계정을 알아야 가능한 많은 자동 등록.
다른 사람이 설명없이 내 질문에 투표 한 것처럼 보입니다. 어쨌든 입력 마누엘 Amstutz하지만 그 dosen't 내가 작동하지 않는 관리자 계정으로 전체 애플 리케이션을 실행하면 나는 오류 알 수없는 오류가 발생하는 프로그램을 실행하면 이후 작동하지 것 – Jester