Я пытаюсь создать приложение начальной загрузки, используя WixStandardBootstrapperApplication. Он делает все, что мне нужно, чтобы делать действительно хорошо, кроме обработки перезагрузки.Возобновить установку после перезагрузки в WiX
Мне нужно установить группу EXE-файлов. Только первый из них - .NET 4.5 и требует перезагрузки. Я бы отсрочил перезапуск, но я не могу, потому что одна из других программ зависит от него. Я попытался использовать код выхода для forcereboot, но когда компьютер начинает резервное копирование, bootstrapper каждый раз застревает в этом коде выхода, и я не могу ничего установить. Есть ли способ применить код выхода тогда и только тогда, когда программа еще не перезапустилась (или каким-либо другим логическим способом)?
Вот что я делаю ...
<ExePackage
Id = "NetFx45Redist"
Cache = "no"
Compressed = "yes"
PerMachine = "yes"
Permanent = "yes"
Vital = "yes"
InstallCommand = "/quiet /norestart"
SourceFile = "C:\Users\visibleEP\Documents\Visual Studio 2012\Projects\Bootstrapper1\VEP Deploy\Setup Files\dotNetFx45_Full_setup.exe"
DetectCondition = "(Netfx4FullVersion="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))"
InstallCondition = "(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709"))">
<ExitCode Behavior = "forceReboot"/>
</ExePackage>
<ExePackage
SourceFile = "...\...\Setup Files\Encoder_en.exe"
InstallCommand = "/q"/>
<ExePackage
SourceFile = "...\...\Setup Files\vcredist_x86.exe"
InstallCommand = "/q /ACTION=Install"
RepairCommand = "/q ACTION=Repair /hideconsole" />
<ExePackage
SourceFile = "...\...\Setup Files\vcredist_x64.exe"
InstallCommand = "/q /ACTION=Install"
RepairCommand = "/q ACTION=Repair /hideconsole" />
Возможно, это связано с тем, что после перезагрузки программа установки не была продолжена. Использование ViX 3.9 вместо 3.7 устранило проблему. –