简体   繁体   English

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

[英]Managed Bootstrapper initializing progress indicator

Our Bootstrapper consuming Burn is of 70MB, containing Net Framework 4, VC Runtimes and two more pre-requisites + Product.msi itself. 我们消耗Boot的Bootstrapper占用了70MB的空间,其中包含Net Framework 4,VC Runtime和两个其他先决条件+ Product.msi本身。 Whenever we execute it from a network location, it took much longer time to execute (last time it was almost 40 seconds . We suspect that such delay is due to extraction of files in local Temp folder before displaying its first UI. 每当我们从网络位置执行它时,它就会花费更长的时间来执行(最后一次是近40秒。我们怀疑这种延迟是由于在显示第一个UI之前提取本地Temp文件夹中的文件所致。

So can we override some event in Managed Bootstrapper to show some message or progress bar while it is initializing itself? 那么我们是否可以在托管自举程序中覆盖某些事件以在初始化自身时显示一些消息或进度栏?
Or 要么
How to display a progress bar while extracting packages whenever we execute Burn exe package? 每当我们执行Burn exe软件包时,如何在提取软件包时显示进度条?

Thanks a bunch... 谢谢一堆...

Assuming you're using a custom managed bootstrapper application, there's not a way to show a progress bar during the extracting phase. 假设您正在使用自定义的托管引导程序,则无法在提取阶段显示进度条。 However, you can show a static splash screen. 但是,您可以显示一个静态初始屏幕。 To do this, you'll need to add a bitmap (.bmp) file to your bootstrapper project with a Content build action and Copy to Output Folder set to one of the copy options. 为此,您需要将一个位图(.bmp)文件添加到您的引导程序项目中,并使用“内容”构建操作并将“复制到输出文件夹”设置为复制选项之一。

Then, in your bundle.wxs file, include a SplashScreenSourceFile attribute: 然后,在bundle.wxs文件中,包含SplashScreenSourceFile属性:

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

Then, in your UI code, once you're ready to show the UI window, make sure to call Engine.CloseSplashScreen(); 然后,在UI代码中,一旦准备好显示UI窗口,请确保调用Engine.CloseSplashScreen(); to hide the splash image. 隐藏初始图像。

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

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