여기에서 작업중인 MSI 배포에 문제가 있습니다 (InstallShield 사용). 우리는 백그라운드에서 실행되는 프로그램을 사용자별로 실행해야하며 사용자 개입없이 자동으로 시작해야합니다.MSI가 SYSTEM 컨텍스트에서 EXE를 실행하지 못하도록 막으십시오.
Group Policy Object/Active Directory (GPO/AD) 배포의 경우 응용 프로그램은 사용자가 로그인하기 전에 SYSTEM 컨텍스트에서 시작됩니다. 응용 프로그램은 사용자 당 한 번만 실행할 수 있습니다 , SYSTEM 프로세스가 USER 프로세스를 시작하지 못하게하는 것 같습니다. 즉, PC를 두 번 재부팅해야 소프트웨어를 사용자에게 배포 할 수 있습니다. 어떻게 우리가 이것을 막을 수 있습니까?
은 기본적으로 현재의 흐름은 다음과 같습니다
- 설치/설치 배경 응용 프로그램을 죽일 ...
- 을 실행 업그레이드 새 파일
- 시작 배경 응용 프로그램 이 게시 된 응용 프로그램 작동
및 대화 형 MSI 설치 - 문제가있는 것만 '할당 된'응용 프로그램입니다. 3 단계는 사용자 컨텍스트가 아닌 SYSTEM 컨텍스트에서 발생합니다. (
이상적으로는 개발 팀이 SYSTEM 컨텍스트에서 실행되는 것을 방지하기 위해 EXE 파일을 패치하는 것이 좋겠지 만 릴리스주기가 멀어지고, 설치자 기반의 임시 해결책을 찾고 있습니다
(설치 스크립트가 잘 모르겠습니다 ...) VBScript은 아마도 사용할 수있는 기본 InstallShield 항목이없는 경우 이동하는 방법 일 것입니다.
바로 아래 코드를 대체하여 최신 릴리스에 추가했습니다. - 매력처럼 작동합니다! 감사합니다 :) – saschabeaumont
당신이 더 자세히 어떻게하는지 설명 할 수 있다면 좋을 것입니다. –