我们的Bootstrapper使用Burn是70MB,包含Net Framework 4,VC Runtimes和另外两个先决条件+ Product.msi本身。每当我们从网络位置执行它时,执行它需要更长的时间(上次几乎是40秒。我们怀疑这种延迟是由于在显示其第一个UI之前提取本地Temp文件夹中的文件。
那么我们可以覆盖Managed Bootstrapper中的某个事件,以便在初始化时显示一些消息或进度条吗?
或
如何在执行Burn exe包时提取包时显示进度条?
非常感谢...
答案 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();
来隐藏启动图像。