2009-10-09 10 views
6

Visual Studio 2008을 사용하여 MSI 설치 패키지를 작성하고 있습니다. 설치 과정에서 수많은 사용자 지정 작업이 있습니다. OnAfterInstall 사용자 지정 작업 내에서 설치 프로그램에 의해 배포되는 exe를 시작하려고 시도합니다. exe는 정상적으로 시작되지만 NT AUTHORITY \ SYSTEM의 보안 컨텍스트 (즉, Windows Installer 프로세스에 부여 된 높은 권한)에서 실행됩니다. 실제로는 처음에 설치를 시작한 현재 로그온 한 사용자의 보안 컨텍스트에서 실행하려면 exe가 필요합니다. 누구도 exe를 시작하는 방법을 알고 있으므로이 '축소 된'컨텍스트에서 실행됩니다. 가능한 경우 사용자에게 로그인 자격 증명을 요청하지 않아도됩니다.msi 설치 후 exe를 시작하지만 현재 사용자 권한을 사용합니다.

답변

2

원격 데스크톱 서비스 API : http://msdn.microsoft.com/en-us/library/aa383464%28v=VS.85%29.aspx을 사용해야합니다. WinXP부터 사용할 수 있습니다.

이 API를 사용하면 로그인 한 사용자 계정의 컨텍스트에서 응용 프로그램을 실행할 수 있습니다. 시스템을 사용하려면 시스템으로 실행해야합니다. 당신은. 예를 들어 WTSEnumerateSessions를 사용하여 세션을 열거 한 다음 WTSQueryUserToken에서 사용자 토큰을 가져 와서이 토큰을 사용하여 응용 프로그램을 실행할 수 있습니다.

관련 문제