WiX Burn으로 관리되는 부트 스트 래퍼 응용 프로그램을 만들고 있습니다. 강제로 다시 시작해야 할 수도있는 ExePackage elements을 처리해야합니다. This question에는 재시작을 처리하는 방법에 대한 약간의 단서가 있지만 작동에 문제가 있습니다.WiX Burn 관리 부트 스트 래퍼가 강제로 재부팅을 처리 할 수 있습니까?
나는 ExePackage
개의 요소에 <ExitCode Value="3010" Behavior="forceReboot" />
을 가지고 있는데, 로그에서 트리거링을 볼 수 있습니다. 나는 BootstrapperApplication
에 의해 발생되고 e.Result = Result.Restart
으로 설정하는 이벤트 인 Shutdown
을 듣고 있는데, 적용 단계에서 강제 재부팅이 감지 될 때 발생해야 할 때의 상태를 캡처하는 방법을 알지 못했습니다. 내Run
내 BootstrapperApplication
의 방법은 내 사용자 정의 UI의 진행률 표시 줄 부분에 바로가는 방법을 테스트하고 있지만 적용 단계를 다시 시작하는 방법을 모르겠습니다. 이 경우 Engine.Detect()
또는 Engine.Apply
으로 전화해야합니까? 재부팅을 견디기 위해 상태를 유지하고 복원하기 위해해야 할 특별한 조치가 있습니까? 아니면 번 엔진이 모든 것을 내부적으로 처리합니까?
누군가 재부팅을 처리하는 WiX Burn 관리 부트 스트 래퍼 응용 프로그램의 작동 예제를 알려 주시면 감사하겠습니다.
고마워, 션. 나는 당신의 대답이 나를 아주 가까이 가져 왔다고 생각하지만 Burn이 다시 시작되는 동안 변수를 지속하지 않는 것처럼 보입니다. 나는 다음과 같이 선언 된 몇 가지 변수를 가지고있다 :' '. 사용자가 관리되는 부트 스트 래퍼 UI에 해당 제품을 설치하도록 선택했지만 재부팅 후 빈 문자열로 다시 초기화되는 경우이 옵션이 "예"로 설정되어 있음을 알 수 있습니다. 변수 상태의 저장 또는 복원을 시작하려면 관리되는 부트 스트 래퍼 코드에서 무언가를해야합니까? –
아, 나는 제품이 감지되면 'yes'로 변수를 설정하고, 그렇지 않으면 'no'로 설정하는 코드를 가지고 있습니다. 이것은 복원 된 상태를 무시하고있었습니다. Burn 로그는 다시 시작한 후에 빈 문자열로 초기화되는 변수를 표시하지만 나중에 값을 로그에 출력하지 않는 한 복원 된 지속 된 값을 표시하지 않습니다. 그러나 어쨌든 지금은 효과가 있습니다. 감사! –