2017-09-28 2 views
0

Visual Studio에서 MSI를 만들었습니다. MSI를 실행할 때 "DOMAIN\SYSTEM"으로 실행되며 현재 로그온 한 사용자를 사용하여이 MSI를 실행하려고합니다.MSI가 DOMAIN SYSTEM으로 실행됩니다.

이것이 가능합니까?

+0

...하지만 당신은 정말로 무엇을 성취하려고합니까? (당신이 현재 사용자로 실행시키고 싶은 것, 또는 사용자가 원하는 것을 만드는 것). –

+0

내가하고있는 것은 설치 후 EXE를 실행하는 것이지만, EXE가 실행되면 SYSTEM으로 실행되며, 현재 사용자 대신. – John

답변

1

MSI는 msiexec.exe에서 처리합니다. 이 EXE는 클라이언트와 서버의 두 가지 상황에서 실행됩니다.

클라이언트 측은 호출 한 사람의 컨텍스트에서 PID로 실행 중입니다. 여기에는 설치 UI (InstalUISequence 테이블에 나열된 모든 것)가 포함됩니다.

서버 측은 SYSTEM 컨텍스트에서 Windows Installer 서비스로 실행 중입니다. 진행률 표시 줄이 표시되는 동안 일어나는 일을 다룹니다 (InstallExecuteSequence 테이블에 나열된 모든 항목). 즉석 실행을 위해 예약 된 작업 또는 가장을 사용하여 지연된 실행은 처음에 msiexec.exe를 시작한 사용자의 컨텍스트에서 실행됩니다. 가장을 사용하지 않고 예약 된 지연된 사용자 지정 동작은 msiexec.exe를 실행하는 호스트 Windows 서비스의 SYSTEM 컨텍스트에서 실행됩니다.

Systems Center Configuration Manager와 같은 도구를 사용하는 경우 SYSTEM 계정이 설치를 호출하므로 모든 것이 SYSTEM으로 실행됩니다 (배포 구성 방법에 따라 다름).

전체 MSI가 사용자 컨텍스트에서 실행될 수있는 유일한 방법은 Windows 95/98/ME에 설치하는 것입니다. :)