Menu

#3139 Incorrect progress bar with StdBA

v3.8
migrated
None
2015-02-02
2012-11-15
No

The progress bar on the StdBA (and probably custom BAs) gets to 100% before the install has completed. By enabling the debug progress logging I think I have tracked this down to the OnCacheAcquireProgress() receiving a progress greater than 100% (see log below).

This is easily recreated by creating a bundle that contains 2 MSIs both can be simple single file installs.

[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnCacheAcquireProgress() - container/package: Setup, payload: Setup, progress: 19456, total: 19456, overall progress: 100%
[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnCacheAcquireProgress() - calculated progress: 30%, displayed progress: 30%
[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnProgress() - progress: 0%, overall progress: 25% 
[1494:14C4][2012-11-15T15:22:19]: Verified acquired payload: Setup2 at path: C:\Documents and Settings\All Users\Application Data\Package Cache\.unverified\Setup2, moving to: C:\Documents and Settings\All Users\Application Data\Package Cache\{587726FA-59FB-4CC2-9193-D26EE969AD49}v1.0.0\Setup2.msi.
[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnCacheAcquireProgress() - container/package: Setup2, payload: Setup2, progress: 41472, total: 41472, overall progress: 168%
[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnCacheAcquireProgress() - calculated progress: 50%, displayed progress: 50%
[1A68:1880][2012-11-15T15:22:19]: WIXSTDBA: OnProgress() - progress: 0%, overall progress: 50% 
[1494:0510][2012-11-15T15:22:19]: Applying execute package: Setup, action: Install, path: C:\Documents and Settings\All Users\Application Data\Package Cache\{3584642D-136D-471D-ABDD-871323581622}v1.0.4702.27659\Setup.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" APPLICATIONFOLDER="C:\Program Files\ACME"'
[1A68:1B14][2012-11-15T15:22:19]: WIXSTDBA: OnExecuteProgress() - package: Setup, progress: 0%, overall progress: 0% 
[1A68:1B14][2012-11-15T15:22:19]: WIXSTDBA: OnExecuteProgress() - calculated progress: 50%, displayed progress: 50%

From the log above it can be seen that the value for overall progress reaches 168%. This then has a knock on effect as the progress bar should not exceed 30% when the cache progress reaches 100%.

Discussion

  • Anonymous

    Anonymous - 2012-11-15

    Should have said, the MSIs in the package have to be embedded for this problem to occur.

     
  • Rob Mensching

    Rob Mensching - 2012-11-21
    • Milestone: v3.7 --> v3.8
     
  • Heath Stewart

    Heath Stewart - 2013-01-11

    I also found a problem with MSP packages. PlanExecutePackage() increments the total progress for each MSP package when, in fact, it needs to consider the BURN_MSPTARGET action. As a general solution, I'm considering a loop over the plan in CorePlan() that would calculate the total progress based on the actual plan. That should solve this problem as well.

     
  • Heath Stewart

    Heath Stewart - 2013-01-11
    • assigned_to: Heath Stewart
     
  • Rob Mensching

    Rob Mensching - 2013-08-21
    • Status: open --> migrated