[wix-users] Caching of ExePackage breaks on Upgrade

AFMG Anton Herzog anton.herzog at afmg.eu
Wed Aug 5 23:19:06 PDT 2020


Can you elaborate on this a bit more?
Where should I define dependencies?

From: Rob Mensching <rob at firegiant.com>
Sent: Wednesday, August 5, 2020 4:13 PM
To: AFMG Anton Herzog <anton.herzog at afmg.eu>; Edwin Castro <egcastr at gmail.com>; WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: RE: [wix-users] Caching of ExePackage breaks on Upgrade

This is probably the root problem: ", dependency: None"

I'd guess v1 is prematurely removing the ExePackageV1 from the cache because v2 didn't say it wanted it too.

---
Short replies here. Complete answers here: https://www.firegiant.com/services/

From: AFMG Anton Herzog <anton.herzog at afmg.eu<mailto:anton.herzog at afmg.eu>>
Sent: Tuesday, August 4, 2020 11:49 PM
To: Edwin Castro <egcastr at gmail.com<mailto:egcastr at gmail.com>>; WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>>
Subject: RE: [wix-users] Caching of ExePackage breaks on Upgrade

What does "it prompts me for the source as soon as the installer is not at the same place anymore" mean? Which installer did you move? Where was it originally? Where was it moved to?

Following your schema the BundleV2 was moved after being installed. In beforehand the installers are just at a random place in the filesystem.

Are your packages compressed/embedded in your bundles?

They are embedded but not compressed.

Are you expecting BundleV2 to recache it's embedded copy of ExePackageV1 rather than requesting source during uninstall?

Yes, I would expect BundleV2 to be uninstallable after moving the source. It seems this would need to recache the ExePackageV1.

Slightly changed sequence

1. BundleV1 caches and installs ExePackageV1.
2. BundleV2 contains ExePackageV1 in chain but does *not* cache and does *not* install ExePackageV1 as it is already present. BundleV2 uninstalls related BundleV1 as normal.
3. Installer for BundleV2 is moved?
4. Uninstall of BundleV2 plans to uninstall ExePackageV1 but does not find it cache and requests for source?

Related lines out of the installation log for BundleV2

…
[19CC:0A3C][2020-07-01T04:59:23]i101: Detected package: ExePackageName, state: Present, cached: Complete
…
[19CC:0A3C][2020-07-01T04:59:25]i201: Planned package: ExePackageName, state: Present, default requested: Present, ba requested: Present, execute: None, rollback: None, cache: No, uncache: No, dependency: None
…

In short I need a way to configure the bundle in a way that it can be uninstalled without it’s source. The caching behavior of the exe package prevents that.

--
Anton Herzog

From: Edwin Castro <egcastr at gmail.com<mailto:egcastr at gmail.com>>
Sent: Thursday, July 23, 2020 8:45 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>>; AFMG Anton Herzog <anton.herzog at afmg.eu<mailto:anton.herzog at afmg.eu>>
Subject: Re: [wix-users] Caching of ExePackage breaks on Upgrade

I have questions.

What does "it prompts me for the source as soon as the installer is not at the same place anymore" mean? Which installer did you move? Where was it originally? Where was it moved to?

Consider providing a minimal reproduction including logs. That would help us see much easier what is actually going on.

Here is what I think you are describing:

1. BundleV1 caches and installs ExePackageV1.
2. BundleV2 contains ExePackageV1 in chain but does *not* cache and does *not* install ExePackageV1 as it is already present. BundleV2 uninstalls related BundleV1 as normal.
3. Installer for ExePackageV1 is moved? Removed from C:\ProgramData\Package Cache?
4. Uninstall of BundleV2 plans to uninstall ExePackageV1 but does not find it cache and requests for source?

Are your packages compressed/embedded in your bundles?

Are you expecting BundleV2 to recache it's embedded copy of ExePackageV1 rather than requesting source during uninstall?

--
Edwin G. Castro


On Wed, Jul 22, 2020 at 11:25 PM AFMG Anton Herzog via wix-users <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>> wrote:
When initially installing the bundle the ExePackage is cached. When upgrading it can be observed that it's not cached again. (from behavior as well as from log files)
The problem is that I can’t see a good reason for that. Shouldn’t the configuration lead to the ExePackage "always" being cached?

-----Original Message-----
From: Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>>
Sent: Wednesday, July 22, 2020 5:27 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: AFMG Anton Herzog <anton.herzog at afmg.eu<mailto:anton.herzog at afmg.eu>>
Subject: RE: Caching of ExePackage breaks on Upgrade

Careful analysis of the log files for all these operations should indicate when files were added/removed and required to be in the cache.

---
Short replies here. Complete answers here: https://www.firegiant.com/services/

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>> On Behalf Of AFMG Anton Herzog via wix-users
Sent: Monday, July 20, 2020 1:04 AM
To: wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
Cc: AFMG Anton Herzog <anton.herzog at afmg.eu<mailto:anton.herzog at afmg.eu>>
Subject: [wix-users] Caching of ExePackage breaks on Upgrade

My installer includes an ExePackage. It didn't change its version yet, so upgrading does not install the package again. I use "DetectCondition" for that.
<ExePackage Id="Package"
                  DetectCondition="Package_Version <= Package_InstalledVersion"
                  SourceFile="..\path\to\package\setup.exe"
                  UninstallCommand="WorkingUninstallCommand"
                  InstallCommand="WorkingInstallCommand"
                  Cache="always">
        <Payload SourceFile="..\path\to\payload" />
        ...
</ExePackage>
When installing and uninstalling a version, everything works as expected. Now I upgrade the Bundle without including a newer version of the ExePackage.

  *   Describe the behavior you expected and how it differed from the actual behavior.
I expect to be able to uninstall the upgraded bundle, even when the original installer was moved. What happens is that it prompts me for the source as soon as the installer is not at the same place anymore.
This behaviour seems wrong to me. Shouldn’t the cache of an ExePackage stay intact or get cached again when updading the whole bundle without touching the ExePackage itself?


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list