基本上,我想让用户在设置链完成后轻松地重启他/她的机器。在最后一个链元素之后只使用<ExitCode ...
对我来说没有选项,因为我不想强制用户重新启动而我的最后一个元素是MsiPackage
,我只想给用户< strong>选项重启,非常快。
当然我可以在Msi本身中实现这个功能,但我也在bootstrapper的主题文件中找到了这个:
<Page Name="Success">
<Text X="186"
Y="80"
Width="-11"
Height="30"
FontId="2"
DisablePrefix="yes">#(loc.SuccessHeader)</Text>
<Button Name="LaunchButton"
X="-91"
Y="-11"
Width="75"
Height="23"
TabStop="yes"
FontId="0"
HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
<Text Name="SuccessRestartText"
X="186"
Y="-51"
Width="-11"
Height="32"
FontId="3"
DisablePrefix="yes"
HideWhenDisabled="yes">#(loc.SuccessRestartText)</Text>
<Button Name="SuccessRestartButton"
X="-116"
Y="-11"
Width="100"
Height="23"
TabStop="yes"
FontId="0"
HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
<Button Name="SuccessCancelButton"
X="-11"
Y="-11"
Width="100"
Height="23"
TabStop="yes"
FontId="0">#(loc.SuccessCloseButton)</Button>
</Page>
你看,有一个RestartText和RestartButton。删除HideWhenDisabled
时,我可以在设置后看到元素,但它们仍然显然已禁用。
虽然在wxs文件中SupressRepair
节点中的bal:WixStandardBootstrapperApplication
标签用于禁用和隐藏修复按钮和功能,但是甚至必须有任何选项来启用重启文本,按钮和功能。
我无法确定将其设置在何处。那么,如何在bootstrapp应用程序中进行设置后启用重启文本和按钮。
谢谢你的建议。
答案 0 :(得分:1)
显然,我的解决方案非常简单,在MSI安装后尝试重启时可以自己检测到:
通过应用
告诉MSI程序包在成功安装后重新启动<InstallExecuteSequence>
<ScheduleReboot After="InstallFinalize"/>
</InstallExecuteSequence>
到我的MSI项目的wxs文件中,它不会导致MSI在安装链中进行设置后重新启动。而不是它将为引导程序提供任何返回代码,以便它在整个设置链的末尾启用我的重启文本和按钮。
我没想到引导程序如此聪明。尼斯!