2014-02-20 2 views
2

У меня есть проект WIX и Bootstrapper WIX. Я использую свойство Reboot WIX для запроса перезагрузки после завершения установки. Но когда я запускаю свой msi с помощью Bootstrapper, тогда он не запрашивал сообщение для перезагрузки. ниже мой код, который я использую в Product.wxs файл в WIX: -Запросить сообщение перезагрузки после установки WIX Bootstrapper

<Property Id="REBOOT" Value="Force"/> 

Теперь я использую цепь ИБМ в проекте Bootstrapper ниже: -

<Chain> 

    <MsiPackage SourceFile=".\Bonjour.msi" Compressed="yes" /> 
    <MsiPackage SourceFile=".\Security_IDTools.msi" Compressed="yes" /> 
    <MsiPackage SourceFile ="$(var.BiodentifySetUp.TargetPath)" Compressed ="yes" DisplayInternalUI="yes" /> 

    </Chain> 

Но когда мой последний MSI запустить его не вышло сообщение о перезагрузке?

ответ

1

Priyanka, если у вас есть планы продолжить установку после перезагрузки, тогда не используйте приглашение MSI перезагрузки с загрузчиком.
Это связано с тем, что он эффективно отменит загрузчик и не даст ему возможность возобновить перезагрузку, если необходимо. <ExitCode Behavior="forceReboot" /> после MsiPackage вы хотите, чтобы он перезапустился. После принудительной перезагрузки Burn автоматически возобновится после перезагрузки и остальной части вашего MSI/Exe.
Но если у вас нет таких планов, вы можете пойти с ScheduleReboot Action в свой MSI.

<InstallExecuteSequence> 
    <ScheduleReboot After="InstallFinalize"/> 
</InstallExecuteSequence> 

Это скажет, что пакет MSI перезагрузится после успешной установки.
И не забудьте проверить журнал на наличие ошибок.

+2

Использовать '' in '' element (Burn) вместо '' в '' (msi)? Но элемент '' доступен только в элементе '' и недоступен в элементе ''. – sky

1

Свойство REBOOT не вызывает перезагрузки, и в контексте, который вы используете, это свойство установщика Windows, а не свойство WiX. Свойство REBOOT сообщает Windows, какое поведение должно происходить при перезагрузке. Вам нужно действие ScheduleReboot в файле MSI, если вы хотите перезагрузить компьютер в конце установки MSI и хотите попросить его, или ForceReboot, если вы хотите просто сделать это, как говорит Нимиш.

Существует также вопрос о том, почему вы хотите принудительно перезагрузить систему в первую очередь. Windows перезагрузится, если что-то случится в этом случае - вам не нужно считать, что перезагрузка требуется только потому, что установка завершена.

2

Перезагрузка может потребоваться из-за глупого поведения событий и безопасности в Windows 8 (и даже в Windows 7). Это самый простой способ убедиться, что все ваши службы запущены правильно. Я ожидал бы, что, как уже упоминалось, это лучший выбор, чтобы в середине не было прерывания бутстрапа.

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