2013-04-23 3 views
4

У меня есть пользовательский установщик WiX Burn с помощью ManagedBootstrapperApplicationHost. После установки одного из предпосылке Microsoft Windows Installer 4,5 я принудительно перезагрузить компьютер (Windows   XP) с помощью:WiX Burn после перезапуска/принудительной перезагрузки постоянной установки

<ExitCode Behavior="forceReboot"/> 

Цепь Bundle выглядит следующим образом:

<Chain> 
    <PackageGroupRef Id="WindowsInstaller45"/> 
    <PackageGroupRef Id="Netfx2Full"/> 
    <PackageGroupRef Id="Netfx4Full"/> 
    <PackageGroupRef Id="CustomPkg"/> 
    <PackageGroupRef Id="SQLExpress"/> 
</Chain> 

После перезагрузки, я хочу, чтобы моя установка для продолжения после этого, но на самом деле обнаруживает установку и показывает вариант удаления.

Как я могу обнаружить незавершенную установку при перезагрузке во время установки?

+0

Что делает вашу цепь выглядеть в вашей связке и какая версия WiX вы используете? –

+0

Я использую Wix 3.7 моя цепь следующим образом Gaurav

ответ

7

Когда Bundle запускается снова после перезапуска BOOTSTRAPPER_COMMAND структуры перешла к вашей BootstrapperApplicationCreate функции содержит resumeType поля, которое будет установлено на BOOTSTRAPPER_RESUME_TYPE_REBOOT. В управляемом коде класс BootstrapperApplication содержит свойство Command, которое содержит поле resume.

Например, в управляемом коде, чтобы сказать, что ваш BootstrapperApplication начал после перезагрузки, вы можете проверить:

if (BootstrapperApplication.Command.resume == ResumeType.Reboot) 
{ 
    // started after restart, go straight to Detect->Plan->Apply to finish the 
    // previous operation. BootstrapperApplication.Command.action will tell us 
    // the action to complete. 
} 
else 
{ 
    // started normally, show typical UI scenarios. 
} 
+0

Спасибо, Роб! Должен ли я проверить то же самое в этом.Engine.Detect(); in Run – Gaurav

+0

Да, вы захотите проверить, что в Run() или что-то подобное раннее. –

+0

Спасибо, Роб! он работал отлично, как и ожидалось после выполнения выше. – Gaurav

Смежные вопросы