From e027c6c571a4bc8c818244e2b0c5015eb4ef3110 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 4 Mar 2022 17:55:17 -0600 Subject: Change ARP property Installed to 0 when registrationType is InProgress. Being registered in ARP and "installed" were always separate concepts, and some things like fEligibleForCleanup were looking at the wrong thing. This also allows the BA to tell the difference. --- .../inc/BootstrapperApplication.h | 2 +- src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | 4 ++-- src/api/burn/WixToolset.Mba.Core/EventArgs.cs | 8 ++++---- src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs | 2 +- src/api/burn/balutil/inc/BalBaseBAFunctions.h | 2 +- src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | 2 +- src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | 2 +- src/api/burn/balutil/inc/IBootstrapperApplication.h | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/api') diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h index 5c6258d0..9a5fb8f8 100644 --- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h +++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h @@ -642,7 +642,7 @@ struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS struct BA_ONDETECTBEGIN_ARGS { DWORD cbSize; - BOOL fInstalled; + BOOTSTRAPPER_REGISTRATION_TYPE registrationType; DWORD cPackages; BOOL fCached; }; diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index b08e66c0..1df992be 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs @@ -1378,9 +1378,9 @@ namespace WixToolset.Mba.Core return args.HResult; } - int IBootstrapperApplication.OnDetectBegin(bool fCached, bool fInstalled, int cPackages, ref bool fCancel) + int IBootstrapperApplication.OnDetectBegin(bool fCached, RegistrationType registrationType, int cPackages, ref bool fCancel) { - DetectBeginEventArgs args = new DetectBeginEventArgs(fCached, fInstalled, cPackages, fCancel); + DetectBeginEventArgs args = new DetectBeginEventArgs(fCached, registrationType, cPackages, fCancel); this.OnDetectBegin(args); fCancel = args.Cancel; diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs index 2e1e1be3..816757cc 100644 --- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs +++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs @@ -249,11 +249,11 @@ namespace WixToolset.Mba.Core public class DetectBeginEventArgs : CancellableHResultEventArgs { /// - public DetectBeginEventArgs(bool cached, bool installed, int packageCount, bool cancelRecommendation) + public DetectBeginEventArgs(bool cached, RegistrationType registrationType, int packageCount, bool cancelRecommendation) : base(cancelRecommendation) { this.Cached = cached; - this.Installed = installed; + this.RegistrationType = registrationType; this.PackageCount = packageCount; } @@ -263,9 +263,9 @@ namespace WixToolset.Mba.Core public bool Cached { get; private set; } /// - /// Gets whether the bundle is installed. + /// Gets the bundle's registration state. /// - public bool Installed { get; private set; } + public RegistrationType RegistrationType { get; private set; } /// /// Gets the number of packages to detect. diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs index 4fbe5e18..489e3b6d 100644 --- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs @@ -70,7 +70,7 @@ namespace WixToolset.Mba.Core [return: MarshalAs(UnmanagedType.I4)] int OnDetectBegin( [MarshalAs(UnmanagedType.Bool)] bool fCached, - [MarshalAs(UnmanagedType.Bool)] bool fInstalled, + [MarshalAs(UnmanagedType.U4)] RegistrationType registrationType, [MarshalAs(UnmanagedType.U4)] int cPackages, [MarshalAs(UnmanagedType.Bool)] ref bool fCancel ); diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index e98ebc9f..60a70e3e 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h @@ -108,7 +108,7 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnDetectBegin( __in BOOL /*fCached*/, - __in BOOL /*fInstalled*/, + __in BOOTSTRAPPER_REGISTRATION_TYPE /*registrationType*/, __in DWORD /*cPackages*/, __inout BOOL* /*pfCancel*/ ) diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index 6a24f24b..7b3cf827 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h @@ -109,7 +109,7 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnDetectBegin( __in BOOL /*fCached*/, - __in BOOL /*fInstalled*/, + __in BOOTSTRAPPER_REGISTRATION_TYPE /*registrationType*/, __in DWORD /*cPackages*/, __inout BOOL* pfCancel ) diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h index d40390e5..8c3b8b72 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h @@ -15,7 +15,7 @@ static HRESULT BalBaseBAProcOnDetectBegin( __inout BA_ONDETECTBEGIN_RESULTS* pResults ) { - return pBA->OnDetectBegin(pArgs->fCached, pArgs->fInstalled, pArgs->cPackages, &pResults->fCancel); + return pBA->OnDetectBegin(pArgs->fCached, pArgs->registrationType, pArgs->cPackages, &pResults->fCancel); } static HRESULT BalBaseBAProcOnDetectComplete( diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index 5932c06e..e916d41e 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h @@ -42,7 +42,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A // OnDetectBegin - called when the engine begins detection. STDMETHOD(OnDetectBegin)( __in BOOL fCached, - __in BOOL fInstalled, + __in BOOTSTRAPPER_REGISTRATION_TYPE registrationType, __in DWORD cPackages, __inout BOOL* pfCancel ) = 0; -- cgit v1.2.3-55-g6feb