0

基本上,我想让用户在设置链完成后轻松重启他/她的机器。仅<ExitCode ...在最后一个链元素之后使用对我来说是没有选择的,因为我不想强制用户重新启动并且我的最后一个元素是 a MsiPackage,我只是想给用户重新启动的选项,非常快。

当然我可以在 Msi 本身中实现这个功能,但我也在引导程序的主题文件中找到了这个:

<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来禁用和隐藏修复按钮和功能,但甚至必须有任何选项来启用重新启动文本、按钮和功能。

我无法确定在哪里设置它。那么,如何在 bootstrap 应用程序中设置后启用重启文本和按钮。

谢谢指教。

4

1 回答 1

1

显然,我的解决方案非常简单,并且在安装 MSI 后尝试重新启动时可以由我自己检测到:

当通过应用告诉 MSI 包在成功安装后重新启动时

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

到我的 MSI 项目的 wxs 文件中,它不会导致 MSI 在安装链中的安装后重新启动。相反,它将为引导程序提供任何返回代码,以便在整个设置链的末尾启用我的重新启动文本和按钮。

没想到bootstrapper这么聪明。好的!

于 2013-12-11T12:00:13.993 回答