[英]How can i force Windows to start my own MSI after .NET installation performs a reboot?
[英]WiX bundle installation force reboot details
我有Windows程序安装启动程序项目。 链中有.NET Framework,Visual Studio C ++可再发行组件,设备驱动程序安装程序和我的应用程序安装程序:
<Chain>
<PackageGroupRef Id="Netfx45Xxx"/>
<ExePackage Id="CppRedist"
SourceFile="..\redist\vcredist_x86.exe" DetectCondition="VC2012CPPX86REDIST">
</ExePackage>
<MsiPackage Id="BlmInstall"
SourceFile="..\bin\Release\BlmInstall.msi"></MsiPackage>
<MsiPackage Id="UAUDriver" SourceFile="..\redist\setup.msi"></MsiPackage>
</Chain>
我希望系统在安装.NET之后重新启动,然后在自动重新启动后继续安装。 DotNET软件包组定义为:
<Fragment>
<PackageGroup Id="Netfx45Xxx">
<ExePackage
Id="Netfx45Xxx"
Cache="no" Compressed="no"
PerMachine="yes"
Permanent="yes"
Vital="yes" InstallCommand="/q"
SourceFile="..\redist\dotnetfx45_full_x86_x64.exe"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=225702"
DetectCondition="NETFRAMEWORK40"
InstallCondition="(VersionNT >= v6.0 OR VersionNT64 >= v6.0) AND (NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709"))">
<ExitCode Value="1641" Behavior="forceReboot"/>
<ExitCode Value="3010" Behavior="forceReboot"/>
<ExitCode Value="0" Behavior="success"/>
</ExePackage>
</PackageGroup>
</Fragment>
.NET Framework安装完成后,Windows将显示其通常的窗口,其中包含已打开的应用程序列表,并要求用户强制重启。 问题是这些列表也包含我的安装应用程序。 当我的安装程序要求用户中止我自己并强制重新启动时,它看起来非常糟糕。 怎么解决呢?
重新启动后,安装将继续,但是用户被迫阅读许可协议并再次接受它。 有可能避免吗?
最后,我们设法解决了这个问题:
退出代码很好。 原因是错过了.NET安装程序命令行参数/norestart
。 Netfx45Xxx软件包组的InstallCommand
应该如下所示:
InstallCommand =“ / norestart / q”
使用InstalCommand的此值,在安装期间,Windows不会要求强制重新引导,而是允许安装程序自行执行重新引导。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.