托管引导程序初始化进度指示器

时间:2014-11-19 12:16:56

标签: c# wix windows-installer bootstrapper burn

我们的Bootstrapper使用Burn是70MB,包含Net Framework 4,VC Runtimes和另外两个先决条件+ Product.msi本身。每当我们从网络位置执行它时,执行它需要更长的时间(上次几乎是40秒。我们怀疑这种延迟是由于在显示其第一个UI之前提取本地Temp文件夹中的文件。

那么我们可以覆盖Managed Bootstrapper中的某个事件,以便在初始化时显示一些消息或进度条吗?

如何在执行Burn exe包时提取包时显示进度条?

非常感谢...

1 个答案:

答案 0 :(得分:1)

假设您正在使用自定义托管引导程序应用程序,则无法在提取阶段显示进度条。但是,您可以显示静态启动画面。为此,您需要将一个位图(.bmp)文件添加到您的引导程序项目中,并将内容构建操作和“复制到输出文件夹”设置为其中一个复制选项。

然后,在您的bundle.wxs文件中,包含一个SplashScreenSourceFile属性:

<Bundle Name="My Cool Product"
      Version="1.0.0"
      UpgradeCode="FD485C49-1234-5678-4321-FCCC03EA3967"
      SplashScreenSourceFile="splash.bmp" >

然后,在您的UI代码中,一旦您准备好显示UI窗口,请务必调用Engine.CloseSplashScreen();来隐藏启动图像。