繁体   English   中英

Wix Burn安装程序无提示安装时无重启

[英]Wix burn installer no reboot on silent install

我有一个wix捆绑包,可以安装各种模块。 其中的一个模块可能导致系统重启。 现在,我想发生的方式是,如果它是UI安装,那么在捆绑软件安装结束时,我希望出现提示,如果是静默安装,则我想避免自动重启,因为用户可能不知道安装会导致重新启动。

我查看了各种线程和选项,发现可以通过“ / norestart”参数进行静默安装,并且可以避免不进行自动重启。 因此,如果用户未通过“ / norestart”参数,并且仅允许通过该参数,我将使无提示安装失败。 我希望“ / norestart”可以映射到REBOOT的特定值( https://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx )但是我观察到的是,无论是否传递“ / norestart”参数,日志中的REBOOT值始终为“ ReallySuppress”,但传递参数时不会自动重新启动,而传递参数时则不会自动重新启动通过。 我对它是如何确定以及如何以编程方式确定它感到困惑。

这来自重新启动时组件之一的日志(当我不传递“ / norestart”参数时)

Command Line: ALLUSERS=1 ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 CWD=<...> REBOOT=ReallySuppress CURRENTDIRECTORY=<...> CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=2240

这是从它不重新启动时开始的(当我传递“ / norestart”参数时)

Command Line: ALLUSERS=1 ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=7 CWD=<...> REBOOT=ReallySuppress CURRENTDIRECTORY=<...> CLIENTUILEVEL=3 MSICLIENTUSESEXTERNALUI=1 CLIENTPROCESSID=1984

任何帮助或指针表示赞赏。 如果您想让我提供更多信息或不清楚的地方,请告诉我。 在此先感谢您的时间。

参考: https : //msdn.microsoft.com/zh-cn/library/windows/desktop/aa372024(v= vs.85) .aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx

如您所见,总是禁止MSI程序包启动重新启动。

您缺少的是Bootstrapper应用程序(例如WixStdBA或自定义/托管BA)可以控制重新启动。

BA检查每个MSI软件包的安装结果。 如果任何MSI软件包都需要重启,则Bootstrapper应用程序将启动重启(或者,如果用户不允许重启或通过/norestart开关,则不重启)。

/norestart命令行开关仅阻止Bootstrapper应用程序在包/链的末尾启动重新引导。

我非常确定,如果您想基于/norestart的存在而阻止安装,则必须使用自定义的Bootstrapper应用程序。

但是,如果您要使用自定义的Bootstrapper应用程序,则最好更改默认行为(即,使/norestart为默认值)。

REBOOT属性的默认值不是ReallySuppress,因此发生了其他情况。 如果不查看源代码,任何自定义操作或MSI,很难说出原因。 完整的详细日志可能表明已设置。 它可能在MSI的属性表中; 可以通过自定义操作代码进行设置; 命令行上还有什么? 它需要一些侦探工作。

另一个问题是,完全静默的安装不会要求重新启动,因为静默意味着它不会要求重新启动,因此,尚不清楚其他属性的设置,ScheduleReboot可能性等。 我发现使用传统的命令行选项(例如/ qb等)更加容易,因为它们倾向于更明确地说明它们的作用。 如果您需要人们对其进行解密,请在其某处发布完整的完整详细日志。

禁止重新启动通常不是一个好主意。 需要它们的主要原因是文件需要以需要重新引导的方式进行替换。 这意味着在下一次重新启动之前,安装尚未完成,如果尝试使用已安装的应用程序使用较旧的文件而不是尚未安装的较新文件,则可能会导致问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM