Search code examples
wixvisual-studio-2022

WiX Bundle, can we add a second progress bar to track the progress of each package in the installer?


I'm using Wix Toolset v3.11 and Visual Studio 2022. I have created a Wix bootstrapper project that allows you to create an installer that includes 5 other .msi or .exe packages. I use RtfLargeTheme.xml for the installer interface, is it possible to create a second progress bar in the "Progress" page to follow the installation of each different package?

Bundle.wxs :

<Chain>
  <!-- TODO: Define the list of chained packages. -->
  <PackageGroupRef Id="DesktopNet50Runtime" />
  <PackageGroupRef Id="AVS" />
  <PackageGroupRef Id="DockerDesktop"/>
  <PackageGroupRef Id="AVS_OtherFiles" After="DockerDesktop"/>
  <PackageGroupRef Id="DockerEngine" After="AVS_OtherFiles"/>
</Chain>

RtfLargeTheme.xml :

<Page Name="Progress">
    <Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
    <Text X="11" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
    <Text Name="OverallProgressPackageText" X="85" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
    <Progressbar Name="OverallCalculatedProgressbar" X="11" Y="143" Width="-11" Height="15" />
    <Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
</Page>

Is it possible to have another <Progressbar Name="OverallCalculatedProgressbar" ... /> for each of the chained the packages ?

The idea is that the user can see what is going on when the installer takes time and seems to get stuck which is not true.

I expect to have 2 progress bars, one for total installation tracking and a 2nd one for tracking the current package installation.


Solution

  • Yes, that is possible. However, you must create your own BootstrapperApplication. The wixstdba only presents a single progress bar.