WiX로 설치 프로그램을 완료했습니다. 설치가 완료되면 Explorer 프로세스에서 일부 코드를 주입하는 응용 프로그램을 시작합니다.WiX 제거 - 다시 시작 관리자 전에 응용 프로그램을 닫습니다.
현재 제거 프로그램을 다시 시작하면 관리자가 내 응용 프로그램과 탐색기를 종료합니다. 대신 응용 프로그램을 수동으로 닫고 싶습니다 (명령 줄에서 -exit 명령을 사용하여 다시 실행하면됩니다). 나는 그것을하는 맞춤 행동이있다.
는 여기에 지금까지 시도 무엇 :이 작동하지 않습니다
<CustomAction ExeCommand="-exit" FileKey="MyApp.exe" Id="CloseMyApp" Impersonate="yes" Return="ignore" />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="CloseMyApp" Before="RemoveFiles" />
</InstallExecuteSequence>
. 작업은 재시작 관리자 세션 이후에 수행됩니다. 재시작 관리자가 나타나서 내 앱과 탐색기를 닫으라고 요청합니다. 액션은 나중에 실행되지만 앱은 이미 사라졌습니다.
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="CloseMyApp" Before="RemoveExistingProducts" />
</InstallExecuteSequence>
이 또한 작동하지 않습니다
그래서 나는이 시도. 작업이 너무 늦게 완료되었습니다. 나는 또한 경고 LGHT1076 : ICE63 : InstallInitialize와 RemoveExistingProducts 사이에 어떤 행동이 떨어진다. "
기본적으로 - 제거 및 재시작 관리자 세션 전에 사용자 지정 작업을 어떻게 수행합니까?
나는 Impersonate = "no"를 사용하면 추측하고 있는데, 적시에 실행될 수 있지만 옵션은 아닙니다. 새 프로세스는 창을 조회하고 메시지를 보내기 때문에 닫아야하는 프로세스와 동일한 사용자에 대해 실행되어야하기 때문입니다. 프로세스가 다른 사용자의 것이라면 그렇게하는 것이 훨씬 까다 롭습니다.
아이디어가 있으십니까?