From b036b878a6b477158a22e508ee3a9e8f569f5bf4 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 11 Mar 2021 19:57:12 -0600 Subject: Integrate ForwardCompatible and RelatedBundle changes in Burn headers. --- src/WixToolset.Mba.Core/BootstrapperApplication.cs | 34 ++++++-- src/WixToolset.Mba.Core/EventArgs.cs | 97 ++++++++++++++++------ .../IBootstrapperApplication.cs | 33 +++++++- .../IDefaultBootstrapperApplication.cs | 5 ++ src/balutil/balutil.vcxproj | 4 +- src/balutil/inc/BAFunctions.h | 1 + src/balutil/inc/BalBaseBAFunctions.h | 19 ++++- src/balutil/inc/BalBaseBAFunctionsProc.h | 1 + src/balutil/inc/BalBaseBootstrapperApplication.h | 20 ++++- .../inc/BalBaseBootstrapperApplicationProc.h | 16 +++- src/balutil/inc/IBootstrapperApplication.h | 16 +++- src/balutil/packages.config | 2 +- src/bextutil/bextutil.vcxproj | 4 +- src/bextutil/packages.config | 2 +- src/mbanative/mbanative.vcxproj | 4 +- src/mbanative/packages.config | 2 +- src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj | 4 +- src/test/BalUtilUnitTest/packages.config | 2 +- src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj | 4 +- src/test/BextUtilUnitTest/packages.config | 2 +- 20 files changed, 214 insertions(+), 58 deletions(-) diff --git a/src/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/WixToolset.Mba.Core/BootstrapperApplication.cs index 1812c80b..b6c0dd0d 100644 --- a/src/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/BootstrapperApplication.cs @@ -226,6 +226,9 @@ namespace WixToolset.Mba.Core /// public event EventHandler SystemRestorePointComplete; + /// + public event EventHandler PlanForwardCompatibleBundle; + /// /// Entry point that is called when the bootstrapper application is ready to run. /// @@ -1083,6 +1086,18 @@ namespace WixToolset.Mba.Core } } + /// + /// Called by the engine, raises the event. + /// + protected virtual void OnPlanForwardCompatibleBundle(PlanForwardCompatibleBundleEventArgs args) + { + EventHandler handler = this.PlanForwardCompatibleBundle; + if (null != handler) + { + handler(this, args); + } + } + #region IBootstrapperApplication Members int IBootstrapperApplication.OnStartup() @@ -1120,13 +1135,12 @@ namespace WixToolset.Mba.Core return args.HResult; } - int IBootstrapperApplication.OnDetectForwardCompatibleBundle(string wzBundleId, RelationType relationType, string wzBundleTag, bool fPerMachine, string wzVersion, ref bool fCancel, ref bool fIgnoreBundle) + int IBootstrapperApplication.OnDetectForwardCompatibleBundle(string wzBundleId, RelationType relationType, string wzBundleTag, bool fPerMachine, string wzVersion, bool fMissingFromCache, ref bool fCancel) { - DetectForwardCompatibleBundleEventArgs args = new DetectForwardCompatibleBundleEventArgs(wzBundleId, relationType, wzBundleTag, fPerMachine, wzVersion, fCancel, fIgnoreBundle); + DetectForwardCompatibleBundleEventArgs args = new DetectForwardCompatibleBundleEventArgs(wzBundleId, relationType, wzBundleTag, fPerMachine, wzVersion, fMissingFromCache, fCancel); this.OnDetectForwardCompatibleBundle(args); fCancel = args.Cancel; - fIgnoreBundle = args.IgnoreBundle; return args.HResult; } @@ -1159,9 +1173,9 @@ namespace WixToolset.Mba.Core return args.HResult; } - int IBootstrapperApplication.OnDetectRelatedBundle(string wzProductCode, RelationType relationType, string wzBundleTag, bool fPerMachine, string wzVersion, RelatedOperation operation, ref bool fCancel) + int IBootstrapperApplication.OnDetectRelatedBundle(string wzProductCode, RelationType relationType, string wzBundleTag, bool fPerMachine, string wzVersion, RelatedOperation operation, bool fMissingFromCache, ref bool fCancel) { - DetectRelatedBundleEventArgs args = new DetectRelatedBundleEventArgs(wzProductCode, relationType, wzBundleTag, fPerMachine, wzVersion, operation, fCancel); + DetectRelatedBundleEventArgs args = new DetectRelatedBundleEventArgs(wzProductCode, relationType, wzBundleTag, fPerMachine, wzVersion, operation, fMissingFromCache, fCancel); this.OnDetectRelatedBundle(args); fCancel = args.Cancel; @@ -1656,6 +1670,16 @@ namespace WixToolset.Mba.Core return args.HResult; } + int IBootstrapperApplication.OnPlanForwardCompatibleBundle(string wzBundleId, RelationType relationType, string wzBundleTag, bool fPerMachine, string wzVersion, bool fRecommendedIgnoreBundle, ref bool fCancel, ref bool fIgnoreBundle) + { + PlanForwardCompatibleBundleEventArgs args = new PlanForwardCompatibleBundleEventArgs(wzBundleId, relationType, wzBundleTag, fPerMachine, wzVersion, fRecommendedIgnoreBundle, fCancel, fIgnoreBundle); + this.OnPlanForwardCompatibleBundle(args); + + fCancel = args.Cancel; + fIgnoreBundle = args.IgnoreBundle; + return args.HResult; + } + int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) { switch (message) diff --git a/src/WixToolset.Mba.Core/EventArgs.cs b/src/WixToolset.Mba.Core/EventArgs.cs index 56705769..7e7cbd11 100644 --- a/src/WixToolset.Mba.Core/EventArgs.cs +++ b/src/WixToolset.Mba.Core/EventArgs.cs @@ -226,22 +226,13 @@ namespace WixToolset.Mba.Core } /// - /// Additional arguments used when detected a forward compatible bundle. + /// Event arguments for /// [Serializable] public class DetectForwardCompatibleBundleEventArgs : CancellableHResultEventArgs { - /// - /// Creates a new instance of the class. - /// - /// The identity of the forward compatible bundle. - /// Relationship type for this forward compatible bundle. - /// The tag of the forward compatible bundle. - /// Whether the detected forward compatible bundle is per machine. - /// The version of the forward compatible bundle detected. - /// The cancel recommendation from the engine. - /// The ignore recommendation from the engine. - public DetectForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool cancelRecommendation, bool ignoreBundleRecommendation) + /// + public DetectForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool missingFromCache, bool cancelRecommendation) : base(cancelRecommendation) { this.BundleId = bundleId; @@ -249,7 +240,7 @@ namespace WixToolset.Mba.Core this.BundleTag = bundleTag; this.PerMachine = perMachine; this.Version = version; - this.IgnoreBundle = ignoreBundleRecommendation; + this.MissingFromCache = missingFromCache; } /// @@ -278,9 +269,9 @@ namespace WixToolset.Mba.Core public string Version { get; private set; } /// - /// Instructs the engine whether to use the forward compatible bundle. + /// Whether the forward compatible bundle is missing from the package cache. /// - public bool IgnoreBundle { get; set; } + public bool MissingFromCache { get; set; } } /// @@ -408,22 +399,13 @@ namespace WixToolset.Mba.Core } /// - /// Additional arguments used when a related bundle has been detected for a bundle. + /// Event arguments for /// [Serializable] public class DetectRelatedBundleEventArgs : CancellableHResultEventArgs { - /// - /// Creates a new instance of the class. - /// - /// The identity of the related package bundle. - /// Relationship type for this related bundle. - /// The tag of the related package bundle. - /// Whether the detected bundle is per machine. - /// The version of the related bundle detected. - /// The operation that will be taken on the detected bundle. - /// The recommendation from the engine. - public DetectRelatedBundleEventArgs(string productCode, RelationType relationType, string bundleTag, bool perMachine, string version, RelatedOperation operation, bool cancelRecommendation) + /// + public DetectRelatedBundleEventArgs(string productCode, RelationType relationType, string bundleTag, bool perMachine, string version, RelatedOperation operation, bool missingFromCache, bool cancelRecommendation) : base(cancelRecommendation) { this.ProductCode = productCode; @@ -432,6 +414,7 @@ namespace WixToolset.Mba.Core this.PerMachine = perMachine; this.Version = version; this.Operation = operation; + this.MissingFromCache = missingFromCache; } /// @@ -463,6 +446,11 @@ namespace WixToolset.Mba.Core /// Gets the operation that will be taken on the detected bundle. /// public RelatedOperation Operation { get; private set; } + + /// + /// Whether the related bundle is missing from the package cache. + /// + public bool MissingFromCache { get; set; } } /// @@ -1009,6 +997,61 @@ namespace WixToolset.Mba.Core } } + /// + /// Event arguments for + /// + [Serializable] + public class PlanForwardCompatibleBundleEventArgs : CancellableHResultEventArgs + { + /// + public PlanForwardCompatibleBundleEventArgs(string bundleId, RelationType relationType, string bundleTag, bool perMachine, string version, bool recommendedIgnoreBundle, bool cancelRecommendation, bool ignoreBundle) + : base(cancelRecommendation) + { + this.BundleId = bundleId; + this.RelationType = relationType; + this.BundleTag = bundleTag; + this.PerMachine = perMachine; + this.Version = version; + this.RecommendedIgnoreBundle = recommendedIgnoreBundle; + this.IgnoreBundle = ignoreBundle; + } + + /// + /// Gets the identity of the forward compatible bundle detected. + /// + public string BundleId { get; private set; } + + /// + /// Gets the relationship type of the forward compatible bundle. + /// + public RelationType RelationType { get; private set; } + + /// + /// Gets the tag of the forward compatible bundle. + /// + public string BundleTag { get; private set; } + + /// + /// Gets whether the forward compatible bundle is per machine. + /// + public bool PerMachine { get; private set; } + + /// + /// Gets the version of the forward compatible bundle. + /// + public string Version { get; private set; } + + /// + /// Gets the recommendation of whether the engine should use the forward compatible bundle. + /// + public bool RecommendedIgnoreBundle { get; set; } + + /// + /// Gets or sets whether the engine will use the forward compatible bundle. + /// + public bool IgnoreBundle { get; set; } + } + /// /// Additional arguments used when the engine has begun installing the bundle. /// diff --git a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs index 4812c038..14cb8fd5 100644 --- a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs @@ -64,8 +64,8 @@ namespace WixToolset.Mba.Core /// /// /// + /// /// - /// /// [PreserveSig] [return: MarshalAs(UnmanagedType.I4)] @@ -75,8 +75,8 @@ namespace WixToolset.Mba.Core [MarshalAs(UnmanagedType.LPWStr)] string wzBundleTag, [MarshalAs(UnmanagedType.Bool)] bool fPerMachine, [MarshalAs(UnmanagedType.LPWStr)] string wzVersion, - [MarshalAs(UnmanagedType.Bool)] ref bool fCancel, - [MarshalAs(UnmanagedType.Bool)] ref bool fIgnoreBundle + [MarshalAs(UnmanagedType.Bool)] bool fMissingFromCache, + [MarshalAs(UnmanagedType.Bool)] ref bool fCancel ); /// @@ -143,6 +143,7 @@ namespace WixToolset.Mba.Core /// /// /// + /// /// /// [PreserveSig] @@ -154,6 +155,7 @@ namespace WixToolset.Mba.Core [MarshalAs(UnmanagedType.Bool)] bool fPerMachine, [MarshalAs(UnmanagedType.LPWStr)] string wzVersion, [MarshalAs(UnmanagedType.U4)] RelatedOperation operation, + [MarshalAs(UnmanagedType.Bool)] bool fMissingFromCache, [MarshalAs(UnmanagedType.Bool)] ref bool fCancel ); @@ -1000,6 +1002,31 @@ namespace WixToolset.Mba.Core int hrStatus ); + /// + /// See . + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + [PreserveSig] + [return: MarshalAs(UnmanagedType.I4)] + int OnPlanForwardCompatibleBundle( + [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId, + [MarshalAs(UnmanagedType.U4)] RelationType relationType, + [MarshalAs(UnmanagedType.LPWStr)] string wzBundleTag, + [MarshalAs(UnmanagedType.Bool)] bool fPerMachine, + [MarshalAs(UnmanagedType.LPWStr)] string wzVersion, + [MarshalAs(UnmanagedType.Bool)] bool fRecommendedIgnoreBundle, + [MarshalAs(UnmanagedType.Bool)] ref bool fCancel, + [MarshalAs(UnmanagedType.Bool)] ref bool fIgnoreBundle + ); + /// /// Low level method that is called directly from the engine. /// diff --git a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs index 5803a26a..269d4955 100644 --- a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs @@ -229,6 +229,11 @@ namespace WixToolset.Mba.Core /// event EventHandler PlanComplete; + /// + /// Fired when the engine is about to plan a forward compatible bundle. + /// + event EventHandler PlanForwardCompatibleBundle; + /// /// Fired when the engine has completed planning a package. /// diff --git a/src/balutil/balutil.vcxproj b/src/balutil/balutil.vcxproj index 1c9a2372..2510b966 100644 --- a/src/balutil/balutil.vcxproj +++ b/src/balutil/balutil.vcxproj @@ -2,7 +2,7 @@ - + @@ -98,7 +98,7 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + diff --git a/src/balutil/inc/BAFunctions.h b/src/balutil/inc/BAFunctions.h index 6d36ad8c..66852efa 100644 --- a/src/balutil/inc/BAFunctions.h +++ b/src/balutil/inc/BAFunctions.h @@ -73,6 +73,7 @@ enum BA_FUNCTIONS_MESSAGE BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN, BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE, BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE, + BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE, BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, BA_FUNCTIONS_MESSAGE_WNDPROC, diff --git a/src/balutil/inc/BalBaseBAFunctions.h b/src/balutil/inc/BalBaseBAFunctions.h index 55ed8cbe..0164269c 100644 --- a/src/balutil/inc/BalBaseBAFunctions.h +++ b/src/balutil/inc/BalBaseBAFunctions.h @@ -104,8 +104,8 @@ public: // IBootstrapperApplication __in_z LPCWSTR /*wzBundleTag*/, __in BOOL /*fPerMachine*/, __in LPCWSTR /*wzVersion*/, - __inout BOOL* /*pfCancel*/, - __inout BOOL* /*pfIgnoreBundle*/ + __in BOOL /*fMissingFromCache*/, + __inout BOOL* /*pfCancel*/ ) { return S_OK; @@ -150,6 +150,7 @@ public: // IBootstrapperApplication __in BOOL /*fPerMachine*/, __in LPCWSTR /*wzVersion*/, __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, + __in BOOL /*fMissingFromCache*/, __inout BOOL* /*pfCancel*/ ) { @@ -660,6 +661,20 @@ public: // IBootstrapperApplication return S_OK; } + virtual STDMETHODIMP OnPlanForwardCompatibleBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOL /*fRecommendedIgnoreBundle*/, + __inout BOOL* /*pfCancel*/, + __inout BOOL* /*pfIgnoreBundle*/ + ) + { + return S_OK; + } + virtual STDMETHODIMP_(HRESULT) BAProc( __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, __in const LPVOID /*pvArgs*/, diff --git a/src/balutil/inc/BalBaseBAFunctionsProc.h b/src/balutil/inc/BalBaseBAFunctionsProc.h index 1b11c300..e1de800a 100644 --- a/src/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/balutil/inc/BalBaseBAFunctionsProc.h @@ -108,6 +108,7 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN: case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE: case BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE: + case BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE: hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); break; case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: diff --git a/src/balutil/inc/BalBaseBootstrapperApplication.h b/src/balutil/inc/BalBaseBootstrapperApplication.h index ff1d07fd..c9211e0f 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/balutil/inc/BalBaseBootstrapperApplication.h @@ -102,8 +102,8 @@ public: // IBootstrapperApplication __in_z LPCWSTR /*wzBundleTag*/, __in BOOL /*fPerMachine*/, __in LPCWSTR /*wzVersion*/, - __inout BOOL* pfCancel, - __inout BOOL* /*pfIgnoreBundle*/ + __in BOOL /*fMissingFromCache*/, + __inout BOOL* pfCancel ) { *pfCancel |= CheckCanceled(); @@ -151,6 +151,7 @@ public: // IBootstrapperApplication __in BOOL /*fPerMachine*/, __in LPCWSTR /*wzVersion*/, __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, + __in BOOL /*fMissingFromCache*/, __inout BOOL* pfCancel ) { @@ -845,6 +846,21 @@ public: // IBootstrapperApplication return S_OK; } + virtual STDMETHODIMP OnPlanForwardCompatibleBundle( + __in_z LPCWSTR /*wzBundleId*/, + __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, + __in_z LPCWSTR /*wzBundleTag*/, + __in BOOL /*fPerMachine*/, + __in LPCWSTR /*wzVersion*/, + __in BOOL /*fRecommendedIgnoreBundle*/, + __inout BOOL* pfCancel, + __inout BOOL* /*pfIgnoreBundle*/ + ) + { + *pfCancel |= CheckCanceled(); + return S_OK; + } + virtual STDMETHODIMP_(HRESULT) BAProc( __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, __in const LPVOID /*pvArgs*/, diff --git a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h index d971a2eb..d8a6590b 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h @@ -78,7 +78,7 @@ static HRESULT BalBaseBAProcOnDetectForwardCompatibleBundle( __inout BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS* pResults ) { - return pBA->OnDetectForwardCompatibleBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, &pResults->fCancel, &pResults->fIgnoreBundle); + return pBA->OnDetectForwardCompatibleBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->fMissingFromCache, &pResults->fCancel); } static HRESULT BalBaseBAProcOnDetectUpdateBegin( @@ -114,7 +114,7 @@ static HRESULT BalBaseBAProcOnDetectRelatedBundle( __inout BA_ONDETECTRELATEDBUNDLE_RESULTS* pResults ) { - return pBA->OnDetectRelatedBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->operation, &pResults->fCancel); + return pBA->OnDetectRelatedBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->operation, pArgs->fMissingFromCache, &pResults->fCancel); } static HRESULT BalBaseBAProcOnDetectPackageBegin( @@ -585,6 +585,15 @@ static HRESULT BalBaseBAProcOnSystemRestorePointComplete( return pBA->OnSystemRestorePointComplete(pArgs->hrStatus); } +static HRESULT BalBaseBAProcOnPlanForwardCompatibleBundle( + __in IBootstrapperApplication* pBA, + __in BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS* pArgs, + __inout BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS* pResults + ) +{ + return pBA->OnPlanForwardCompatibleBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->fRecommendedIgnoreBundle, &pResults->fCancel, &pResults->fIgnoreBundle); +} + /******************************************************************* BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. Provides a default mapping between the new message based BA interface and @@ -796,6 +805,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE: hr = BalBaseBAProcOnPlannedPackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE: + hr = BalBaseBAProcOnPlanForwardCompatibleBundle(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; } } diff --git a/src/balutil/inc/IBootstrapperApplication.h b/src/balutil/inc/IBootstrapperApplication.h index 01d0bb8a..ed70d8fe 100644 --- a/src/balutil/inc/IBootstrapperApplication.h +++ b/src/balutil/inc/IBootstrapperApplication.h @@ -33,8 +33,8 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __in_z LPCWSTR wzBundleTag, __in BOOL fPerMachine, __in_z LPCWSTR wzVersion, - __inout BOOL* pfCancel, - __inout BOOL* pfIgnoreBundle + __in BOOL fMissingFromCache, + __inout BOOL* pfCancel ) = 0; // OnDetectUpdateBegin - called when the engine begins detection for bundle update. @@ -71,6 +71,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __in BOOL fPerMachine, __in_z LPCWSTR wzVersion, __in BOOTSTRAPPER_RELATED_OPERATION operation, + __in BOOL fMissingFromCache, __inout BOOL* pfCancel ) = 0; @@ -540,6 +541,17 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __in HRESULT hrStatus ) = 0; + STDMETHOD(OnPlanForwardCompatibleBundle)( + __in_z LPCWSTR wzBundleId, + __in BOOTSTRAPPER_RELATION_TYPE relationType, + __in_z LPCWSTR wzBundleTag, + __in BOOL fPerMachine, + __in_z LPCWSTR wzVersion, + __in BOOL fRecommendedIgnoreBundle, + __inout BOOL* pfCancel, + __inout BOOL* pfIgnoreBundle + ) = 0; + // BAProc - The PFN_BOOTSTRAPPER_APPLICATION_PROC can call this method to give the BA raw access to the callback from the engine. // This might be used to help the BA support more than one version of the engine. STDMETHOD(BAProc)( diff --git a/src/balutil/packages.config b/src/balutil/packages.config index 1ac5d2ac..76baf58e 100644 --- a/src/balutil/packages.config +++ b/src/balutil/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/src/bextutil/bextutil.vcxproj b/src/bextutil/bextutil.vcxproj index 99edfaae..6008128f 100644 --- a/src/bextutil/bextutil.vcxproj +++ b/src/bextutil/bextutil.vcxproj @@ -2,7 +2,7 @@ - + @@ -87,7 +87,7 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + diff --git a/src/bextutil/packages.config b/src/bextutil/packages.config index 1ac5d2ac..76baf58e 100644 --- a/src/bextutil/packages.config +++ b/src/bextutil/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/src/mbanative/mbanative.vcxproj b/src/mbanative/mbanative.vcxproj index 0c67b548..cea2cddc 100644 --- a/src/mbanative/mbanative.vcxproj +++ b/src/mbanative/mbanative.vcxproj @@ -5,7 +5,7 @@ - + @@ -96,7 +96,7 @@ - + \ No newline at end of file diff --git a/src/mbanative/packages.config b/src/mbanative/packages.config index 52a8333b..b9f93c69 100644 --- a/src/mbanative/packages.config +++ b/src/mbanative/packages.config @@ -4,6 +4,6 @@ - + \ No newline at end of file diff --git a/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj b/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj index a901712e..47bf1285 100644 --- a/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj +++ b/src/test/BalUtilUnitTest/BalUtilUnitTest.vcxproj @@ -4,7 +4,7 @@ - + @@ -69,7 +69,7 @@ - + diff --git a/src/test/BalUtilUnitTest/packages.config b/src/test/BalUtilUnitTest/packages.config index 768cc4cc..456f4a1f 100644 --- a/src/test/BalUtilUnitTest/packages.config +++ b/src/test/BalUtilUnitTest/packages.config @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj b/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj index 22e84e9a..3e30a74e 100644 --- a/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj +++ b/src/test/BextUtilUnitTest/BextUtilUnitTest.vcxproj @@ -4,7 +4,7 @@ - + @@ -68,7 +68,7 @@ - + diff --git a/src/test/BextUtilUnitTest/packages.config b/src/test/BextUtilUnitTest/packages.config index 768cc4cc..456f4a1f 100644 --- a/src/test/BextUtilUnitTest/packages.config +++ b/src/test/BextUtilUnitTest/packages.config @@ -10,6 +10,6 @@ - + \ No newline at end of file -- cgit v1.2.3-55-g6feb