>>>you are seeing a behaviour where if A is installed and B was cached
previously, that when going to ARP and selecting modify that the update
check invokes B instead of downloading D? 

If the user goes to ARP and D is already installed, then D is launched.

However if the user does not use ARP, but rather launches the Bundle.exe
(version A) which he downloaded to his desktop (or somewhere), then it
detects from the atom at the Update/@Location that an update is available. 
The atom only describes D.   Then clicks on 'Update Available' and the
bundles launches a cached (previously installed and uninstalled or upgraded)
Bundle B.  The user must repeat this process to get to D, whether the user
intends to Uninstall or Repair D, (or if an newer version is on the web site
to update to the newer version). 

I think the behavior is related to InstallationViewModel::ResolveSource,
similar to the WixBA
            this.downloadRetries.TryGetValue(e.PackageOrContainerId, out
retries);
            this.downloadRetries[e.PackageOrContainerId] = retries + 1;

            e.Result = retries < 3 && !String.IsNullOrEmpty(downloadUrl) ?
Result.Download : Result.Ok;

The following snippets from verbose logs describe the situation where Bundle
A is launched, Bundle D has already been installed.  (Why, because the user
has Bundle A at a convenient location and wants to either run maintenance on
the installed Bundle D or get the latest version from the download site.)

Bundle A:
[089C:0AA4][2014-07-11T08:48:15]i001: Burn v3.9.702.0, Windows v6.2 (Build
9200: Service Pack 0), path: D:\product\product.exe, cmdline: '--l=*v'
...
[089C:0A5C][2014-07-11T08:48:15]i000: Checking for an 'update' at:
http://www.company.com/product/v1.0/feed/index.html.
[089C:0A5C][2014-07-11T08:48:21]i000: Called SetUpdate with URL:
http://www.company.com/product/v1.0/release/product.exe, Size: 1210192.
[089C:0AA4][2014-07-11T08:48:26]i200: Plan begin, 10 packages, action:
UpdateReplace
[089C:0AA4][2014-07-11T08:48:26]w321: Skipping dependency registration on
package with no dependency providers: {a7bb9_guid}
[089C:0AA4][2014-07-11T08:48:26]i211: Planned upgrade bundle: {a7bb9_guid},
default requested: Present, ba requested: Present, execute: Install,
rollback: None, dependency: None
[089C:0AA4][2014-07-11T08:48:26]i299: Plan complete, result: 0x0
[089C:0AA4][2014-07-11T08:48:26]i300: Apply begin
[089C:02B4][2014-07-11T08:48:26]w343: Prompt for source of package:
{a7bb9_guid}, payload: {a7bb9_guid}, path: D:\product\update\product.exe
[089C:02B4][2014-07-11T08:48:26]i338: Acquiring package: {a7bb9_guid},
payload: {a7bb9_guid}, download from:
http://www.company.com/product/v1.0/release/product.exe
[089C:02B4][2014-07-11T08:48:26]i304: Verified existing payload:
{a7bb9_guid} at path: C:\Users\this.user\AppData\Local\Package
Cache\{a7bb9_guid}\product.exe.
[089C:0AA4][2014-07-11T08:48:26]i301: Applying execute package:
{a7bb9_guid}, action: Install, path:
C:\Users\this.user\AppData\Local\Package Cache\{a7bb9_guid}\product.exe,
arguments: '"C:\Users\this.user\AppData\Local\Package
Cache\{a7bb9_guid}\product.exe"  --l=*v -burn.related.update'
[089C:0AA4][2014-07-11T08:48:27]i319: Applied execute package: {a7bb9_guid},
result: 0x0, restart: None
[089C:0AA4][2014-07-11T08:48:27]i000: Automatically closing the window since
updated bundle should be running.

In the above the user pressed 'Update Available' and now Bundle B is running
(Bundle D was expected)
[09E8:03EC][2014-07-11T08:48:26]i001: Burn v3.9.702.0, Windows v6.2 (Build
9200: Service Pack 0), path: C:\Users\this.user\AppData\Local\Package
Cache\{a7bb9_guid}\product.exe, cmdline: '--l=*v -burn.related.update'
[09E8:03EC][2014-07-11T08:48:26]i003: This bundle is being run by a related
bundle as type 'Update'.
...
[09E8:03EC][2014-07-11T08:48:27]i107: Detected forward compatible bundle:
{f8ce2b_guid}, type: Upgrade, scope: PerMachine, version: 1.0.17.0, enabled:
No
[09E8:03EC][2014-07-11T08:48:27]i102: Detected related bundle:
{f8ce2b_guid}, type: Upgrade, scope: PerMachine, version: 1.0.17.0,
operation: Downgrade
...
[09E8:03EC][2014-07-11T08:48:27]i103: Detected related package:
{37EA28_guid}, scope: PerMachine, version: 1.0.436.0, language: 0 operation:
Downgrade
[09E8:03EC][2014-07-11T08:48:27]i103: Detected related package:
{37B8B5E_guid}, scope: PerMachine, version: 1.0.381.0, language: 0
operation: Downgrade
...
[09E8:0B80][2014-07-11T08:48:27]i000: Checking for an 'update' at:
http://www.company.com/product/v1.0/feed/index.html.
[09E8:03EC][2014-07-11T08:48:27]i000: Setting string variable
'svCDDTransform' to value '1033.mst'
[09E8:03EC][2014-07-11T08:48:27]i199: Detect complete, result: 0x0
[09E8:0B80][2014-07-11T08:48:27]i000: Called SetUpdate with URL:
http://www.company.com/product/v1.0/release/product.exe, Size: 1210192.
[09E8:03EC][2014-07-11T08:48:31]i200: Plan begin, 12 packages, action:
UpdateReplace
[09E8:03EC][2014-07-11T08:48:31]w321: Skipping dependency registration on
package with no dependency providers: {d494a8_guid}
[09E8:03EC][2014-07-11T08:48:31]i211: Planned upgrade bundle: {d494a8_guid},
default requested: Present, ba requested: Present, execute: Install,
rollback: None, dependency: None
[09E8:03EC][2014-07-11T08:48:31]i299: Plan complete, result: 0x0
[09E8:03EC][2014-07-11T08:48:31]i300: Apply begin
[09E8:0B28][2014-07-11T08:48:31]w343: Prompt for source of package:
{d494a8_guid}, payload: {d494a8_guid}, path:
C:\Users\this.user\AppData\Local\Package
Cache\{a7bb9_guid}\update\product.exe
[09E8:0B28][2014-07-11T08:48:31]i338: Acquiring package: {d494a8_guid},
payload: {d494a8_guid}, download from:
http://www.company.com/product/v1.0/release/product.exe
[09E8:0B28][2014-07-11T08:48:31]i304: Verified existing payload:
{d494a8_guid} at path: C:\Users\this.user\AppData\Local\Package
Cache\{d494a8_guid}\product.exe.
[09E8:03EC][2014-07-11T08:48:31]i301: Applying execute package:
{d494a8_guid}, action: Install, path:
C:\Users\this.user\AppData\Local\Package Cache\{d494a8_guid}\product.exe,
arguments: '"C:\Users\this.user\AppData\Local\Package
Cache\{d494a8_guid}\product.exe"  --l=*v -burn.related.update'
[09E8:03EC][2014-07-11T08:48:31]i319: Applied execute package:
{d494a8_guid}, result: 0x0, restart: None
[09E8:03EC][2014-07-11T08:48:31]i000: Automatically closing the window since
updated bundle should be running.

Bundle C is not running.  Do the above again to get to the next bundle, etc. 
Finally get to:
[0888:0224][2014-07-11T08:48:33]i001: Burn v3.9.702.0, Windows v6.2 (Build
9200: Service Pack 0), path: C:\Users\this.user\AppData\Local\Package
Cache\{cfe7da2f-4698-4bb0-bf50-c5f12ec3c6ed}\product.exe, cmdline: '--l=*v
-burn.related.update'
[0888:0224][2014-07-11T08:48:33]i003: This bundle is being run by a related
bundle as type 'Update'.
[0888:0224][2014-07-11T08:48:33]i103: Detected related package:
{37EA28_guid}, scope: PerMachine, version: 1.0.436.0, language: 0 operation:
Downgrade
[0888:0224][2014-07-11T08:48:33]i103: Detected related package:
{37B8B5E_guid}, scope: PerMachine, version: 1.0.381.0, language: 0
operation: Downgrade
[0888:0F48][2014-07-11T08:48:33]i000: Checking for an 'update' at:
http://www.Company.com/product/v1.0/feed/index.html.
[0888:0F48][2014-07-11T08:48:33]i000: Called SetUpdate with URL:
http://www.Company.com/product/v1.0/release/product.exe, Size: 1210192.

I'm still researching this issue and appreciate any insights.



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/3-9-702-Bundle-update-behavior-tp7595761p7595791.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to