문제

여기에서 작업중인 MSI 배포에 문제가 있습니다 ( InstallShield <사용). / a>). 사용자별로 실행해야하는 백그라운드에서 실행되는 프로그램이 있으며 사용자 개입없이 자동으로 시작해야합니다.

문제는 그룹 정책 개체 / Active Directory (GPO / AD) 배포 애플리케이션은 다음 사용자가 아닌 누군가가 로그인하기 전에 SYSTEM 컨텍스트에서 시작됩니다. 이 (가) 로그인하려고합니다. 응용 프로그램은 사용자 당 한 번만 실행할 수 있으며 SYSTEM 프로세스가 USER 프로세스를 시작하지 못하게하는 것 같습니다. 즉, 소프트웨어를 사용자에게 배포하기 전에 PC를 두 번 재부팅해야합니다. 이걸 어떻게 막을까요?

기본적으로 현재 워크 플로는 다음과 같습니다.

  1. 설치 / 업그레이드 실행 ... 백그라운드 애플리케이션 종료
  2. 새 파일 설치
  3. 시작 백그라운드 애플리케이션

    이는 게시 된 애플리케이션 및 대화 형 MSI 설치에서 작동합니다. '할당 된'애플리케이션 만 문제가있는 것 같습니다. 3 단계는 사용자 컨텍스트가 아닌 SYSTEM 컨텍스트에서 발생하므로 : (

    이상적으로는 개발 팀이 SYSTEM 컨텍스트에서 실행되는 것을 방지하기 위해 EXE 파일을 패치하도록했지만 이는 릴리스주기가 없어서 중간에 설치 프로그램 기반 솔루션을 찾고 있습니다.

    (Installscript를 모릅니다 ... 그래서 VBScript 가 내가 사용할 수있는 기본 InstallShield 항목이없는 경우 갈 길일 것입니다.)

도움이 되었습니까?

해결책

LogonUser 속성을 사용할 수 있습니다.EXE를 실행하는 작업에 대한 조건으로 Windows Installer의.

다른 팁

이 작업을 수행하기 위해 Windows 설치 프로그램 속성에 의존하지 않습니다. 내가 올바르게 이해한다면 사용자 당 한 번씩 EXE 파일을 실행하고 싶습니다. 아마도 사용자 기본값을 설정하기 위해? 올바른 컨텍스트에 있음을 보장 할 수있는 유일한 시간은 사용자가 실제로 로그인 할 때입니다. 요즘에는 평균 배포 시나리오에서 가장 많은 양의 가장이 진행되고 있으므로 실제 사용자 로그인 만 신뢰합니다. EXE 파일을 실행하는 단계.

너무 많은 문제 소스가 있습니다. 사용자 지정 권한 및 권한 잠금, 터미널 서버 잠금, 가상화 리디렉션, 배포 시스템에서 실행되는 가장, 레지스트리 쓰기에 대한 운영 체제 재정의 등 ...

Microsoft에는 로그온 할 때 사용자 당 한 번 "실행 가능한 항목"을 실행할 수있는 Active Setup이라는 기능이 있습니다. 이것은 스크립트에서 실행 파일에 이르기까지 무엇이든 될 수 있습니다. 자세한 내용은 여기 내 대답을 참조하십시오. Windows Server 2003에서 모든 프로필의 레지스트리 업데이트

아하!더 깨끗한 솔루션이 있어야한다는 것을 알았습니다. 제가 작업하고있는 코드는 다음과 같이 보이기 시작했습니다. 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top