diff options
| author | Nir Bar <nir.bar@panel-sw.co.il> | 2022-12-06 13:22:41 +0200 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-12-12 21:50:39 -0600 |
| commit | 50e24e9cf2084b6cb67b5d8fc509163061408bb6 (patch) | |
| tree | 05c9df57480eb6308c3462c13847b43288f9dbb4 /src/api | |
| parent | c54f3083489827a1e57c6fd7f3d76f62ddc6e85e (diff) | |
| download | wix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.tar.gz wix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.tar.bz2 wix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.zip | |
Use MSI transaction end result to detect whether reboot is needed
Diffstat (limited to 'src/api')
8 files changed, 173 insertions, 82 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h index c65ca86b..2633a9c2 100644 --- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h +++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h | |||
| @@ -293,6 +293,14 @@ enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION | |||
| 293 | BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND, | 293 | BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND, |
| 294 | }; | 294 | }; |
| 295 | 295 | ||
| 296 | enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION | ||
| 297 | { | ||
| 298 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION_NONE, | ||
| 299 | // Instructs the engine to stop processing the chain and restart. | ||
| 300 | // The engine will launch again after the machine is restarted. | ||
| 301 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION_RESTART, | ||
| 302 | }; | ||
| 303 | |||
| 296 | enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION | 304 | enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION |
| 297 | { | 305 | { |
| 298 | // Instructs the engine to stop waiting for the process to exit. | 306 | // Instructs the engine to stop waiting for the process to exit. |
| @@ -697,11 +705,14 @@ struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS | |||
| 697 | DWORD cbSize; | 705 | DWORD cbSize; |
| 698 | LPCWSTR wzTransactionId; | 706 | LPCWSTR wzTransactionId; |
| 699 | HRESULT hrStatus; | 707 | HRESULT hrStatus; |
| 708 | BOOTSTRAPPER_APPLY_RESTART restart; | ||
| 709 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation; | ||
| 700 | }; | 710 | }; |
| 701 | 711 | ||
| 702 | struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS | 712 | struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS |
| 703 | { | 713 | { |
| 704 | DWORD cbSize; | 714 | DWORD cbSize; |
| 715 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action; | ||
| 705 | }; | 716 | }; |
| 706 | 717 | ||
| 707 | struct BA_ONDETECTBEGIN_ARGS | 718 | struct BA_ONDETECTBEGIN_ARGS |
| @@ -1417,11 +1428,14 @@ struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS | |||
| 1417 | DWORD cbSize; | 1428 | DWORD cbSize; |
| 1418 | LPCWSTR wzTransactionId; | 1429 | LPCWSTR wzTransactionId; |
| 1419 | HRESULT hrStatus; | 1430 | HRESULT hrStatus; |
| 1431 | BOOTSTRAPPER_APPLY_RESTART restart; | ||
| 1432 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation; | ||
| 1420 | }; | 1433 | }; |
| 1421 | 1434 | ||
| 1422 | struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS | 1435 | struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS |
| 1423 | { | 1436 | { |
| 1424 | DWORD cbSize; | 1437 | DWORD cbSize; |
| 1438 | BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action; | ||
| 1425 | }; | 1439 | }; |
| 1426 | 1440 | ||
| 1427 | struct BA_ONSETUPDATEBEGIN_ARGS | 1441 | struct BA_ONSETUPDATEBEGIN_ARGS |
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index ecc99069..b23cb3b2 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
| @@ -60,7 +60,7 @@ namespace WixToolset.Mba.Core | |||
| 60 | 60 | ||
| 61 | /// <inheritdoc/> | 61 | /// <inheritdoc/> |
| 62 | public event EventHandler<DetectCompatibleMsiPackageEventArgs> DetectCompatibleMsiPackage; | 62 | public event EventHandler<DetectCompatibleMsiPackageEventArgs> DetectCompatibleMsiPackage; |
| 63 | 63 | ||
| 64 | /// <inheritdoc/> | 64 | /// <inheritdoc/> |
| 65 | public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage; | 65 | public event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage; |
| 66 | 66 | ||
| @@ -1985,11 +1985,12 @@ namespace WixToolset.Mba.Core | |||
| 1985 | return args.HResult; | 1985 | return args.HResult; |
| 1986 | } | 1986 | } |
| 1987 | 1987 | ||
| 1988 | int IBootstrapperApplication.OnCommitMsiTransactionComplete(string transactionId, int hrStatus) | 1988 | int IBootstrapperApplication.OnCommitMsiTransactionComplete(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction) |
| 1989 | { | 1989 | { |
| 1990 | CommitMsiTransactionCompleteEventArgs args = new CommitMsiTransactionCompleteEventArgs(transactionId, hrStatus); | 1990 | CommitMsiTransactionCompleteEventArgs args = new CommitMsiTransactionCompleteEventArgs(transactionId, hrStatus, restart, recommendation, pAction); |
| 1991 | this.OnCommitMsiTransactionComplete(args); | 1991 | this.OnCommitMsiTransactionComplete(args); |
| 1992 | 1992 | ||
| 1993 | pAction = args.Action; | ||
| 1993 | return args.HResult; | 1994 | return args.HResult; |
| 1994 | } | 1995 | } |
| 1995 | 1996 | ||
| @@ -2001,11 +2002,12 @@ namespace WixToolset.Mba.Core | |||
| 2001 | return args.HResult; | 2002 | return args.HResult; |
| 2002 | } | 2003 | } |
| 2003 | 2004 | ||
| 2004 | int IBootstrapperApplication.OnRollbackMsiTransactionComplete(string transactionId, int hrStatus) | 2005 | int IBootstrapperApplication.OnRollbackMsiTransactionComplete(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction) |
| 2005 | { | 2006 | { |
| 2006 | RollbackMsiTransactionCompleteEventArgs args = new RollbackMsiTransactionCompleteEventArgs(transactionId, hrStatus); | 2007 | RollbackMsiTransactionCompleteEventArgs args = new RollbackMsiTransactionCompleteEventArgs(transactionId, hrStatus, restart, recommendation, pAction); |
| 2007 | this.OnRollbackMsiTransactionComplete(args); | 2008 | this.OnRollbackMsiTransactionComplete(args); |
| 2008 | 2009 | ||
| 2010 | pAction = args.Action; | ||
| 2009 | return args.HResult; | 2011 | return args.HResult; |
| 2010 | } | 2012 | } |
| 2011 | 2013 | ||
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs index 48850fd7..9d18c4eb 100644 --- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs +++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs | |||
| @@ -568,7 +568,7 @@ namespace WixToolset.Mba.Core | |||
| 568 | public class DetectPatchTargetEventArgs : CancellableHResultEventArgs | 568 | public class DetectPatchTargetEventArgs : CancellableHResultEventArgs |
| 569 | { | 569 | { |
| 570 | /// <summary> | 570 | /// <summary> |
| 571 | /// | 571 | /// |
| 572 | /// </summary> | 572 | /// </summary> |
| 573 | /// <param name="packageId"></param> | 573 | /// <param name="packageId"></param> |
| 574 | /// <param name="productCode"></param> | 574 | /// <param name="productCode"></param> |
| @@ -944,7 +944,7 @@ namespace WixToolset.Mba.Core | |||
| 944 | public class PlanPatchTargetEventArgs : CancellableHResultEventArgs | 944 | public class PlanPatchTargetEventArgs : CancellableHResultEventArgs |
| 945 | { | 945 | { |
| 946 | /// <summary> | 946 | /// <summary> |
| 947 | /// | 947 | /// |
| 948 | /// </summary> | 948 | /// </summary> |
| 949 | /// <param name="packageId"></param> | 949 | /// <param name="packageId"></param> |
| 950 | /// <param name="productCode"></param> | 950 | /// <param name="productCode"></param> |
| @@ -1086,7 +1086,7 @@ namespace WixToolset.Mba.Core | |||
| 1086 | public class PlanPackageCompleteEventArgs : StatusEventArgs | 1086 | public class PlanPackageCompleteEventArgs : StatusEventArgs |
| 1087 | { | 1087 | { |
| 1088 | /// <summary> | 1088 | /// <summary> |
| 1089 | /// | 1089 | /// |
| 1090 | /// </summary> | 1090 | /// </summary> |
| 1091 | /// <param name="packageId"></param> | 1091 | /// <param name="packageId"></param> |
| 1092 | /// <param name="hrStatus"></param> | 1092 | /// <param name="hrStatus"></param> |
| @@ -2117,19 +2117,25 @@ namespace WixToolset.Mba.Core | |||
| 2117 | /// Additional arguments passed by the engine after committing an MSI transaction. | 2117 | /// Additional arguments passed by the engine after committing an MSI transaction. |
| 2118 | /// </summary> | 2118 | /// </summary> |
| 2119 | [Serializable] | 2119 | [Serializable] |
| 2120 | public class CommitMsiTransactionCompleteEventArgs : StatusEventArgs | 2120 | public class CommitMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION> |
| 2121 | { | 2121 | { |
| 2122 | /// <summary /> | 2122 | /// <summary /> |
| 2123 | public CommitMsiTransactionCompleteEventArgs(string transactionId, int hrStatus) | 2123 | public CommitMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action) |
| 2124 | : base(hrStatus) | 2124 | : base(hrStatus, recommendation, action) |
| 2125 | { | 2125 | { |
| 2126 | this.TransactionId = transactionId; | 2126 | this.TransactionId = transactionId; |
| 2127 | this.Restart = restart; | ||
| 2127 | } | 2128 | } |
| 2128 | 2129 | ||
| 2129 | /// <summary> | 2130 | /// <summary> |
| 2130 | /// Gets the MSI transaction Id. | 2131 | /// Gets the MSI transaction Id. |
| 2131 | /// </summary> | 2132 | /// </summary> |
| 2132 | public string TransactionId { get; private set; } | 2133 | public string TransactionId { get; private set; } |
| 2134 | |||
| 2135 | /// <summary> | ||
| 2136 | /// Gets the package restart state after being applied. | ||
| 2137 | /// </summary> | ||
| 2138 | public ApplyRestart Restart { get; private set; } | ||
| 2133 | } | 2139 | } |
| 2134 | 2140 | ||
| 2135 | /// <summary> | 2141 | /// <summary> |
| @@ -2154,19 +2160,25 @@ namespace WixToolset.Mba.Core | |||
| 2154 | /// Additional arguments passed by the engine after rolling back an MSI transaction. | 2160 | /// Additional arguments passed by the engine after rolling back an MSI transaction. |
| 2155 | /// </summary> | 2161 | /// </summary> |
| 2156 | [Serializable] | 2162 | [Serializable] |
| 2157 | public class RollbackMsiTransactionCompleteEventArgs : StatusEventArgs | 2163 | public class RollbackMsiTransactionCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION> |
| 2158 | { | 2164 | { |
| 2159 | /// <summary /> | 2165 | /// <summary /> |
| 2160 | public RollbackMsiTransactionCompleteEventArgs(string transactionId, int hrStatus) | 2166 | public RollbackMsiTransactionCompleteEventArgs(string transactionId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action) |
| 2161 | : base(hrStatus) | 2167 | : base(hrStatus, recommendation, action) |
| 2162 | { | 2168 | { |
| 2163 | this.TransactionId = transactionId; | 2169 | this.TransactionId = transactionId; |
| 2170 | this.Restart = restart; | ||
| 2164 | } | 2171 | } |
| 2165 | 2172 | ||
| 2166 | /// <summary> | 2173 | /// <summary> |
| 2167 | /// Gets the MSI transaction Id. | 2174 | /// Gets the MSI transaction Id. |
| 2168 | /// </summary> | 2175 | /// </summary> |
| 2169 | public string TransactionId { get; private set; } | 2176 | public string TransactionId { get; private set; } |
| 2177 | |||
| 2178 | /// <summary> | ||
| 2179 | /// Gets the package restart state after being applied. | ||
| 2180 | /// </summary> | ||
| 2181 | public ApplyRestart Restart { get; private set; } | ||
| 2170 | } | 2182 | } |
| 2171 | 2183 | ||
| 2172 | /// <summary> | 2184 | /// <summary> |
| @@ -2176,7 +2188,7 @@ namespace WixToolset.Mba.Core | |||
| 2176 | public class PauseAutomaticUpdatesBeginEventArgs : HResultEventArgs | 2188 | public class PauseAutomaticUpdatesBeginEventArgs : HResultEventArgs |
| 2177 | { | 2189 | { |
| 2178 | /// <summary> | 2190 | /// <summary> |
| 2179 | /// | 2191 | /// |
| 2180 | /// </summary> | 2192 | /// </summary> |
| 2181 | public PauseAutomaticUpdatesBeginEventArgs() | 2193 | public PauseAutomaticUpdatesBeginEventArgs() |
| 2182 | { | 2194 | { |
| @@ -2190,7 +2202,7 @@ namespace WixToolset.Mba.Core | |||
| 2190 | public class PauseAutomaticUpdatesCompleteEventArgs : StatusEventArgs | 2202 | public class PauseAutomaticUpdatesCompleteEventArgs : StatusEventArgs |
| 2191 | { | 2203 | { |
| 2192 | /// <summary> | 2204 | /// <summary> |
| 2193 | /// | 2205 | /// |
| 2194 | /// </summary> | 2206 | /// </summary> |
| 2195 | /// <param name="hrStatus"></param> | 2207 | /// <param name="hrStatus"></param> |
| 2196 | public PauseAutomaticUpdatesCompleteEventArgs(int hrStatus) | 2208 | public PauseAutomaticUpdatesCompleteEventArgs(int hrStatus) |
| @@ -2206,7 +2218,7 @@ namespace WixToolset.Mba.Core | |||
| 2206 | public class SystemRestorePointBeginEventArgs : HResultEventArgs | 2218 | public class SystemRestorePointBeginEventArgs : HResultEventArgs |
| 2207 | { | 2219 | { |
| 2208 | /// <summary> | 2220 | /// <summary> |
| 2209 | /// | 2221 | /// |
| 2210 | /// </summary> | 2222 | /// </summary> |
| 2211 | public SystemRestorePointBeginEventArgs() | 2223 | public SystemRestorePointBeginEventArgs() |
| 2212 | { | 2224 | { |
| @@ -2220,7 +2232,7 @@ namespace WixToolset.Mba.Core | |||
| 2220 | public class SystemRestorePointCompleteEventArgs : StatusEventArgs | 2232 | public class SystemRestorePointCompleteEventArgs : StatusEventArgs |
| 2221 | { | 2233 | { |
| 2222 | /// <summary> | 2234 | /// <summary> |
| 2223 | /// | 2235 | /// |
| 2224 | /// </summary> | 2236 | /// </summary> |
| 2225 | /// <param name="hrStatus"></param> | 2237 | /// <param name="hrStatus"></param> |
| 2226 | public SystemRestorePointCompleteEventArgs(int hrStatus) | 2238 | public SystemRestorePointCompleteEventArgs(int hrStatus) |
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs index daa95e17..7bfabeb3 100644 --- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs | |||
| @@ -933,12 +933,18 @@ namespace WixToolset.Mba.Core | |||
| 933 | /// </summary> | 933 | /// </summary> |
| 934 | /// <param name="wzTransactionId"></param> | 934 | /// <param name="wzTransactionId"></param> |
| 935 | /// <param name="hrStatus"></param> | 935 | /// <param name="hrStatus"></param> |
| 936 | /// <param name="restart"></param> | ||
| 937 | /// <param name="recommendation"></param> | ||
| 938 | /// <param name="pAction"></param> | ||
| 936 | /// <returns></returns> | 939 | /// <returns></returns> |
| 937 | [PreserveSig] | 940 | [PreserveSig] |
| 938 | [return: MarshalAs(UnmanagedType.I4)] | 941 | [return: MarshalAs(UnmanagedType.I4)] |
| 939 | int OnCommitMsiTransactionComplete( | 942 | int OnCommitMsiTransactionComplete( |
| 940 | [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId, | 943 | [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId, |
| 941 | int hrStatus | 944 | int hrStatus, |
| 945 | [MarshalAs(UnmanagedType.U4)] ApplyRestart restart, | ||
| 946 | [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, | ||
| 947 | [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction | ||
| 942 | ); | 948 | ); |
| 943 | 949 | ||
| 944 | /// <summary> | 950 | /// <summary> |
| @@ -957,12 +963,18 @@ namespace WixToolset.Mba.Core | |||
| 957 | /// </summary> | 963 | /// </summary> |
| 958 | /// <param name="wzTransactionId"></param> | 964 | /// <param name="wzTransactionId"></param> |
| 959 | /// <param name="hrStatus"></param> | 965 | /// <param name="hrStatus"></param> |
| 966 | /// <param name="restart"></param> | ||
| 967 | /// <param name="recommendation"></param> | ||
| 968 | /// <param name="pAction"></param> | ||
| 960 | /// <returns></returns> | 969 | /// <returns></returns> |
| 961 | [PreserveSig] | 970 | [PreserveSig] |
| 962 | [return: MarshalAs(UnmanagedType.I4)] | 971 | [return: MarshalAs(UnmanagedType.I4)] |
| 963 | int OnRollbackMsiTransactionComplete( | 972 | int OnRollbackMsiTransactionComplete( |
| 964 | [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId, | 973 | [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId, |
| 965 | int hrStatus | 974 | int hrStatus, |
| 975 | [MarshalAs(UnmanagedType.U4)] ApplyRestart restart, | ||
| 976 | [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, | ||
| 977 | [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction | ||
| 966 | ); | 978 | ); |
| 967 | 979 | ||
| 968 | /// <summary> | 980 | /// <summary> |
| @@ -1199,27 +1211,27 @@ namespace WixToolset.Mba.Core | |||
| 1199 | public enum Display | 1211 | public enum Display |
| 1200 | { | 1212 | { |
| 1201 | /// <summary> | 1213 | /// <summary> |
| 1202 | /// | 1214 | /// |
| 1203 | /// </summary> | 1215 | /// </summary> |
| 1204 | Unknown, | 1216 | Unknown, |
| 1205 | 1217 | ||
| 1206 | /// <summary> | 1218 | /// <summary> |
| 1207 | /// | 1219 | /// |
| 1208 | /// </summary> | 1220 | /// </summary> |
| 1209 | Embedded, | 1221 | Embedded, |
| 1210 | 1222 | ||
| 1211 | /// <summary> | 1223 | /// <summary> |
| 1212 | /// | 1224 | /// |
| 1213 | /// </summary> | 1225 | /// </summary> |
| 1214 | None, | 1226 | None, |
| 1215 | 1227 | ||
| 1216 | /// <summary> | 1228 | /// <summary> |
| 1217 | /// | 1229 | /// |
| 1218 | /// </summary> | 1230 | /// </summary> |
| 1219 | Passive, | 1231 | Passive, |
| 1220 | 1232 | ||
| 1221 | /// <summary> | 1233 | /// <summary> |
| 1222 | /// | 1234 | /// |
| 1223 | /// </summary> | 1235 | /// </summary> |
| 1224 | Full, | 1236 | Full, |
| 1225 | } | 1237 | } |
| @@ -1331,27 +1343,27 @@ namespace WixToolset.Mba.Core | |||
| 1331 | public enum Restart | 1343 | public enum Restart |
| 1332 | { | 1344 | { |
| 1333 | /// <summary> | 1345 | /// <summary> |
| 1334 | /// | 1346 | /// |
| 1335 | /// </summary> | 1347 | /// </summary> |
| 1336 | Unknown, | 1348 | Unknown, |
| 1337 | 1349 | ||
| 1338 | /// <summary> | 1350 | /// <summary> |
| 1339 | /// | 1351 | /// |
| 1340 | /// </summary> | 1352 | /// </summary> |
| 1341 | Never, | 1353 | Never, |
| 1342 | 1354 | ||
| 1343 | /// <summary> | 1355 | /// <summary> |
| 1344 | /// | 1356 | /// |
| 1345 | /// </summary> | 1357 | /// </summary> |
| 1346 | Prompt, | 1358 | Prompt, |
| 1347 | 1359 | ||
| 1348 | /// <summary> | 1360 | /// <summary> |
| 1349 | /// | 1361 | /// |
| 1350 | /// </summary> | 1362 | /// </summary> |
| 1351 | Automatic, | 1363 | Automatic, |
| 1352 | 1364 | ||
| 1353 | /// <summary> | 1365 | /// <summary> |
| 1354 | /// | 1366 | /// |
| 1355 | /// </summary> | 1367 | /// </summary> |
| 1356 | Always, | 1368 | Always, |
| 1357 | } | 1369 | } |
| @@ -1384,47 +1396,47 @@ namespace WixToolset.Mba.Core | |||
| 1384 | public enum Result | 1396 | public enum Result |
| 1385 | { | 1397 | { |
| 1386 | /// <summary> | 1398 | /// <summary> |
| 1387 | /// | 1399 | /// |
| 1388 | /// </summary> | 1400 | /// </summary> |
| 1389 | Error = -1, | 1401 | Error = -1, |
| 1390 | 1402 | ||
| 1391 | /// <summary> | 1403 | /// <summary> |
| 1392 | /// | 1404 | /// |
| 1393 | /// </summary> | 1405 | /// </summary> |
| 1394 | None, | 1406 | None, |
| 1395 | 1407 | ||
| 1396 | /// <summary> | 1408 | /// <summary> |
| 1397 | /// | 1409 | /// |
| 1398 | /// </summary> | 1410 | /// </summary> |
| 1399 | Ok, | 1411 | Ok, |
| 1400 | 1412 | ||
| 1401 | /// <summary> | 1413 | /// <summary> |
| 1402 | /// | 1414 | /// |
| 1403 | /// </summary> | 1415 | /// </summary> |
| 1404 | Cancel, | 1416 | Cancel, |
| 1405 | 1417 | ||
| 1406 | /// <summary> | 1418 | /// <summary> |
| 1407 | /// | 1419 | /// |
| 1408 | /// </summary> | 1420 | /// </summary> |
| 1409 | Abort, | 1421 | Abort, |
| 1410 | 1422 | ||
| 1411 | /// <summary> | 1423 | /// <summary> |
| 1412 | /// | 1424 | /// |
| 1413 | /// </summary> | 1425 | /// </summary> |
| 1414 | Retry, | 1426 | Retry, |
| 1415 | 1427 | ||
| 1416 | /// <summary> | 1428 | /// <summary> |
| 1417 | /// | 1429 | /// |
| 1418 | /// </summary> | 1430 | /// </summary> |
| 1419 | Ignore, | 1431 | Ignore, |
| 1420 | 1432 | ||
| 1421 | /// <summary> | 1433 | /// <summary> |
| 1422 | /// | 1434 | /// |
| 1423 | /// </summary> | 1435 | /// </summary> |
| 1424 | Yes, | 1436 | Yes, |
| 1425 | 1437 | ||
| 1426 | /// <summary> | 1438 | /// <summary> |
| 1427 | /// | 1439 | /// |
| 1428 | /// </summary> | 1440 | /// </summary> |
| 1429 | No, | 1441 | No, |
| 1430 | 1442 | ||
| @@ -1434,17 +1446,17 @@ namespace WixToolset.Mba.Core | |||
| 1434 | Close, | 1446 | Close, |
| 1435 | 1447 | ||
| 1436 | /// <summary> | 1448 | /// <summary> |
| 1437 | /// | 1449 | /// |
| 1438 | /// </summary> | 1450 | /// </summary> |
| 1439 | Help, | 1451 | Help, |
| 1440 | 1452 | ||
| 1441 | /// <summary> | 1453 | /// <summary> |
| 1442 | /// | 1454 | /// |
| 1443 | /// </summary> | 1455 | /// </summary> |
| 1444 | TryAgain, | 1456 | TryAgain, |
| 1445 | 1457 | ||
| 1446 | /// <summary> | 1458 | /// <summary> |
| 1447 | /// | 1459 | /// |
| 1448 | /// </summary> | 1460 | /// </summary> |
| 1449 | Continue, | 1461 | Continue, |
| 1450 | } | 1462 | } |
| @@ -1455,7 +1467,7 @@ namespace WixToolset.Mba.Core | |||
| 1455 | public enum ResumeType | 1467 | public enum ResumeType |
| 1456 | { | 1468 | { |
| 1457 | /// <summary> | 1469 | /// <summary> |
| 1458 | /// | 1470 | /// |
| 1459 | /// </summary> | 1471 | /// </summary> |
| 1460 | None, | 1472 | None, |
| 1461 | 1473 | ||
| @@ -1546,7 +1558,7 @@ namespace WixToolset.Mba.Core | |||
| 1546 | public enum RelatedOperation | 1558 | public enum RelatedOperation |
| 1547 | { | 1559 | { |
| 1548 | /// <summary> | 1560 | /// <summary> |
| 1549 | /// | 1561 | /// |
| 1550 | /// </summary> | 1562 | /// </summary> |
| 1551 | None, | 1563 | None, |
| 1552 | 1564 | ||
| @@ -1685,47 +1697,47 @@ namespace WixToolset.Mba.Core | |||
| 1685 | public enum RelationType | 1697 | public enum RelationType |
| 1686 | { | 1698 | { |
| 1687 | /// <summary> | 1699 | /// <summary> |
| 1688 | /// | 1700 | /// |
| 1689 | /// </summary> | 1701 | /// </summary> |
| 1690 | None, | 1702 | None, |
| 1691 | 1703 | ||
| 1692 | /// <summary> | 1704 | /// <summary> |
| 1693 | /// | 1705 | /// |
| 1694 | /// </summary> | 1706 | /// </summary> |
| 1695 | Detect, | 1707 | Detect, |
| 1696 | 1708 | ||
| 1697 | /// <summary> | 1709 | /// <summary> |
| 1698 | /// | 1710 | /// |
| 1699 | /// </summary> | 1711 | /// </summary> |
| 1700 | Upgrade, | 1712 | Upgrade, |
| 1701 | 1713 | ||
| 1702 | /// <summary> | 1714 | /// <summary> |
| 1703 | /// | 1715 | /// |
| 1704 | /// </summary> | 1716 | /// </summary> |
| 1705 | Addon, | 1717 | Addon, |
| 1706 | 1718 | ||
| 1707 | /// <summary> | 1719 | /// <summary> |
| 1708 | /// | 1720 | /// |
| 1709 | /// </summary> | 1721 | /// </summary> |
| 1710 | Patch, | 1722 | Patch, |
| 1711 | 1723 | ||
| 1712 | /// <summary> | 1724 | /// <summary> |
| 1713 | /// | 1725 | /// |
| 1714 | /// </summary> | 1726 | /// </summary> |
| 1715 | DependentAddon, | 1727 | DependentAddon, |
| 1716 | 1728 | ||
| 1717 | /// <summary> | 1729 | /// <summary> |
| 1718 | /// | 1730 | /// |
| 1719 | /// </summary> | 1731 | /// </summary> |
| 1720 | DependentPatch, | 1732 | DependentPatch, |
| 1721 | 1733 | ||
| 1722 | /// <summary> | 1734 | /// <summary> |
| 1723 | /// | 1735 | /// |
| 1724 | /// </summary> | 1736 | /// </summary> |
| 1725 | Update, | 1737 | Update, |
| 1726 | 1738 | ||
| 1727 | /// <summary> | 1739 | /// <summary> |
| 1728 | /// | 1740 | /// |
| 1729 | /// </summary> | 1741 | /// </summary> |
| 1730 | ChainPackage, | 1742 | ChainPackage, |
| 1731 | } | 1743 | } |
| @@ -1736,37 +1748,37 @@ namespace WixToolset.Mba.Core | |||
| 1736 | public enum RelatedBundlePlanType | 1748 | public enum RelatedBundlePlanType |
| 1737 | { | 1749 | { |
| 1738 | /// <summary> | 1750 | /// <summary> |
| 1739 | /// | 1751 | /// |
| 1740 | /// </summary> | 1752 | /// </summary> |
| 1741 | None, | 1753 | None, |
| 1742 | 1754 | ||
| 1743 | /// <summary> | 1755 | /// <summary> |
| 1744 | /// | 1756 | /// |
| 1745 | /// </summary> | 1757 | /// </summary> |
| 1746 | Downgrade, | 1758 | Downgrade, |
| 1747 | 1759 | ||
| 1748 | /// <summary> | 1760 | /// <summary> |
| 1749 | /// | 1761 | /// |
| 1750 | /// </summary> | 1762 | /// </summary> |
| 1751 | Upgrade, | 1763 | Upgrade, |
| 1752 | 1764 | ||
| 1753 | /// <summary> | 1765 | /// <summary> |
| 1754 | /// | 1766 | /// |
| 1755 | /// </summary> | 1767 | /// </summary> |
| 1756 | Addon, | 1768 | Addon, |
| 1757 | 1769 | ||
| 1758 | /// <summary> | 1770 | /// <summary> |
| 1759 | /// | 1771 | /// |
| 1760 | /// </summary> | 1772 | /// </summary> |
| 1761 | Patch, | 1773 | Patch, |
| 1762 | 1774 | ||
| 1763 | /// <summary> | 1775 | /// <summary> |
| 1764 | /// | 1776 | /// |
| 1765 | /// </summary> | 1777 | /// </summary> |
| 1766 | DependentAddon, | 1778 | DependentAddon, |
| 1767 | 1779 | ||
| 1768 | /// <summary> | 1780 | /// <summary> |
| 1769 | /// | 1781 | /// |
| 1770 | /// </summary> | 1782 | /// </summary> |
| 1771 | DependentPatch, | 1783 | DependentPatch, |
| 1772 | } | 1784 | } |
| @@ -1804,7 +1816,7 @@ namespace WixToolset.Mba.Core | |||
| 1804 | public enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION | 1816 | public enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION |
| 1805 | { | 1817 | { |
| 1806 | /// <summary> | 1818 | /// <summary> |
| 1807 | /// | 1819 | /// |
| 1808 | /// </summary> | 1820 | /// </summary> |
| 1809 | None, | 1821 | None, |
| 1810 | 1822 | ||
| @@ -1843,7 +1855,7 @@ namespace WixToolset.Mba.Core | |||
| 1843 | public enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION | 1855 | public enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION |
| 1844 | { | 1856 | { |
| 1845 | /// <summary> | 1857 | /// <summary> |
| 1846 | /// | 1858 | /// |
| 1847 | /// </summary> | 1859 | /// </summary> |
| 1848 | None, | 1860 | None, |
| 1849 | 1861 | ||
| @@ -1860,7 +1872,7 @@ namespace WixToolset.Mba.Core | |||
| 1860 | public enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION | 1872 | public enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION |
| 1861 | { | 1873 | { |
| 1862 | /// <summary> | 1874 | /// <summary> |
| 1863 | /// | 1875 | /// |
| 1864 | /// </summary> | 1876 | /// </summary> |
| 1865 | None, | 1877 | None, |
| 1866 | 1878 | ||
| @@ -1883,7 +1895,7 @@ namespace WixToolset.Mba.Core | |||
| 1883 | public enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION | 1895 | public enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION |
| 1884 | { | 1896 | { |
| 1885 | /// <summary> | 1897 | /// <summary> |
| 1886 | /// | 1898 | /// |
| 1887 | /// </summary> | 1899 | /// </summary> |
| 1888 | None, | 1900 | None, |
| 1889 | 1901 | ||
| @@ -1900,7 +1912,7 @@ namespace WixToolset.Mba.Core | |||
| 1900 | public enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION | 1912 | public enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION |
| 1901 | { | 1913 | { |
| 1902 | /// <summary> | 1914 | /// <summary> |
| 1903 | /// | 1915 | /// |
| 1904 | /// </summary> | 1916 | /// </summary> |
| 1905 | None, | 1917 | None, |
| 1906 | 1918 | ||
| @@ -1921,7 +1933,7 @@ namespace WixToolset.Mba.Core | |||
| 1921 | public enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION | 1933 | public enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION |
| 1922 | { | 1934 | { |
| 1923 | /// <summary> | 1935 | /// <summary> |
| 1924 | /// | 1936 | /// |
| 1925 | /// </summary> | 1937 | /// </summary> |
| 1926 | None, | 1938 | None, |
| 1927 | 1939 | ||
| @@ -1950,6 +1962,23 @@ namespace WixToolset.Mba.Core | |||
| 1950 | } | 1962 | } |
| 1951 | 1963 | ||
| 1952 | /// <summary> | 1964 | /// <summary> |
| 1965 | /// The available actions for <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/> and <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>. | ||
| 1966 | /// </summary> | ||
| 1967 | public enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION | ||
| 1968 | { | ||
| 1969 | /// <summary> | ||
| 1970 | /// | ||
| 1971 | /// </summary> | ||
| 1972 | None, | ||
| 1973 | |||
| 1974 | /// <summary> | ||
| 1975 | /// Instructs the engine to stop processing the chain and restart. | ||
| 1976 | /// The engine will launch again after the machine is restarted. | ||
| 1977 | /// </summary> | ||
| 1978 | Restart, | ||
| 1979 | }; | ||
| 1980 | |||
| 1981 | /// <summary> | ||
| 1953 | /// The available actions for <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>. | 1982 | /// The available actions for <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>. |
| 1954 | /// </summary> | 1983 | /// </summary> |
| 1955 | public enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION | 1984 | public enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION |
| @@ -2017,7 +2046,7 @@ namespace WixToolset.Mba.Core | |||
| 2017 | public enum BOOTSTRAPPER_SHUTDOWN_ACTION | 2046 | public enum BOOTSTRAPPER_SHUTDOWN_ACTION |
| 2018 | { | 2047 | { |
| 2019 | /// <summary> | 2048 | /// <summary> |
| 2020 | /// | 2049 | /// |
| 2021 | /// </summary> | 2050 | /// </summary> |
| 2022 | None, | 2051 | None, |
| 2023 | 2052 | ||
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index 9a8ac87e..6ad109c3 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h | |||
| @@ -710,7 +710,10 @@ public: // IBootstrapperApplication | |||
| 710 | 710 | ||
| 711 | virtual STDMETHODIMP OnCommitMsiTransactionComplete( | 711 | virtual STDMETHODIMP OnCommitMsiTransactionComplete( |
| 712 | __in_z LPCWSTR /*wzTransactionId*/, | 712 | __in_z LPCWSTR /*wzTransactionId*/, |
| 713 | __in HRESULT /*hrStatus*/ | 713 | __in HRESULT /*hrStatus*/, |
| 714 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
| 715 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, | ||
| 716 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ | ||
| 714 | ) | 717 | ) |
| 715 | { | 718 | { |
| 716 | return S_OK; | 719 | return S_OK; |
| @@ -725,7 +728,10 @@ public: // IBootstrapperApplication | |||
| 725 | 728 | ||
| 726 | virtual STDMETHODIMP OnRollbackMsiTransactionComplete( | 729 | virtual STDMETHODIMP OnRollbackMsiTransactionComplete( |
| 727 | __in_z LPCWSTR /*wzTransactionId*/, | 730 | __in_z LPCWSTR /*wzTransactionId*/, |
| 728 | __in HRESULT /*hrStatus*/ | 731 | __in HRESULT /*hrStatus*/, |
| 732 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
| 733 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, | ||
| 734 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ | ||
| 729 | ) | 735 | ) |
| 730 | { | 736 | { |
| 731 | return S_OK; | 737 | return S_OK; |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index 58cc0673..c8b80d13 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | |||
| @@ -197,7 +197,7 @@ public: // IBootstrapperApplication | |||
| 197 | __in LPCWSTR /*wzVersion*/, | 197 | __in LPCWSTR /*wzVersion*/, |
| 198 | __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, | 198 | __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, |
| 199 | __inout BOOL* pfCancel | 199 | __inout BOOL* pfCancel |
| 200 | ) | 200 | ) |
| 201 | { | 201 | { |
| 202 | *pfCancel |= CheckCanceled(); | 202 | *pfCancel |= CheckCanceled(); |
| 203 | return S_OK; | 203 | return S_OK; |
| @@ -902,10 +902,21 @@ public: // IBootstrapperApplication | |||
| 902 | 902 | ||
| 903 | virtual STDMETHODIMP OnCommitMsiTransactionComplete( | 903 | virtual STDMETHODIMP OnCommitMsiTransactionComplete( |
| 904 | __in_z LPCWSTR /*wzTransactionId*/, | 904 | __in_z LPCWSTR /*wzTransactionId*/, |
| 905 | __in HRESULT /*hrStatus*/ | 905 | __in HRESULT /*hrStatus*/, |
| 906 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
| 907 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, | ||
| 908 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ | ||
| 906 | ) | 909 | ) |
| 907 | { | 910 | { |
| 908 | return S_OK; | 911 | HRESULT hr = S_OK; |
| 912 | |||
| 913 | if (CheckCanceled()) | ||
| 914 | { | ||
| 915 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT)); | ||
| 916 | } | ||
| 917 | |||
| 918 | LExit: | ||
| 919 | return hr; | ||
| 909 | } | 920 | } |
| 910 | 921 | ||
| 911 | virtual STDMETHODIMP OnRollbackMsiTransactionBegin( | 922 | virtual STDMETHODIMP OnRollbackMsiTransactionBegin( |
| @@ -917,10 +928,21 @@ public: // IBootstrapperApplication | |||
| 917 | 928 | ||
| 918 | virtual STDMETHODIMP OnRollbackMsiTransactionComplete( | 929 | virtual STDMETHODIMP OnRollbackMsiTransactionComplete( |
| 919 | __in_z LPCWSTR /*wzTransactionId*/, | 930 | __in_z LPCWSTR /*wzTransactionId*/, |
| 920 | __in HRESULT /*hrStatus*/ | 931 | __in HRESULT /*hrStatus*/, |
| 932 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
| 933 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/, | ||
| 934 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/ | ||
| 921 | ) | 935 | ) |
| 922 | { | 936 | { |
| 923 | return S_OK; | 937 | HRESULT hr = S_OK; |
| 938 | |||
| 939 | if (CheckCanceled()) | ||
| 940 | { | ||
| 941 | ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT)); | ||
| 942 | } | ||
| 943 | |||
| 944 | LExit: | ||
| 945 | return hr; | ||
| 924 | } | 946 | } |
| 925 | 947 | ||
| 926 | virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin( | 948 | virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin( |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h index 62cb85bc..34739ba3 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | |||
| @@ -579,10 +579,10 @@ static HRESULT BalBaseBAProcOnCommitMsiTransactionBegin( | |||
| 579 | static HRESULT BalBaseBAProcOnCommitMsiTransactionComplete( | 579 | static HRESULT BalBaseBAProcOnCommitMsiTransactionComplete( |
| 580 | __in IBootstrapperApplication* pBA, | 580 | __in IBootstrapperApplication* pBA, |
| 581 | __in BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS* pArgs, | 581 | __in BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS* pArgs, |
| 582 | __inout BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS* /*pResults*/ | 582 | __inout BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS* pResults |
| 583 | ) | 583 | ) |
| 584 | { | 584 | { |
| 585 | return pBA->OnCommitMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus); | 585 | return pBA->OnCommitMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action); |
| 586 | } | 586 | } |
| 587 | 587 | ||
| 588 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( | 588 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( |
| @@ -597,10 +597,10 @@ static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( | |||
| 597 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionComplete( | 597 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionComplete( |
| 598 | __in IBootstrapperApplication* pBA, | 598 | __in IBootstrapperApplication* pBA, |
| 599 | __in BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS* pArgs, | 599 | __in BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS* pArgs, |
| 600 | __inout BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS* /*pResults*/ | 600 | __inout BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS* pResults |
| 601 | ) | 601 | ) |
| 602 | { | 602 | { |
| 603 | return pBA->OnRollbackMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus); | 603 | return pBA->OnRollbackMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action); |
| 604 | } | 604 | } |
| 605 | 605 | ||
| 606 | static HRESULT BalBaseBAProcOnPauseAutomaticUpdatesBegin( | 606 | static HRESULT BalBaseBAProcOnPauseAutomaticUpdatesBegin( |
| @@ -780,7 +780,7 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
| 780 | { | 780 | { |
| 781 | IBootstrapperApplication* pBA = reinterpret_cast<IBootstrapperApplication*>(pvContext); | 781 | IBootstrapperApplication* pBA = reinterpret_cast<IBootstrapperApplication*>(pvContext); |
| 782 | HRESULT hr = pBA->BAProc(message, pvArgs, pvResults, pvContext); | 782 | HRESULT hr = pBA->BAProc(message, pvArgs, pvResults, pvContext); |
| 783 | 783 | ||
| 784 | if (E_NOTIMPL == hr) | 784 | if (E_NOTIMPL == hr) |
| 785 | { | 785 | { |
| 786 | switch (message) | 786 | switch (message) |
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index fba919ea..faa211e4 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h | |||
| @@ -574,7 +574,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
| 574 | ) = 0; | 574 | ) = 0; |
| 575 | 575 | ||
| 576 | // OnLaunchApprovedExeBegin - called before trying to launch the preapproved executable. | 576 | // OnLaunchApprovedExeBegin - called before trying to launch the preapproved executable. |
| 577 | // | 577 | // |
| 578 | STDMETHOD(OnLaunchApprovedExeBegin)( | 578 | STDMETHOD(OnLaunchApprovedExeBegin)( |
| 579 | __inout BOOL* pfCancel | 579 | __inout BOOL* pfCancel |
| 580 | ) = 0; | 580 | ) = 0; |
| @@ -603,7 +603,10 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
| 603 | 603 | ||
| 604 | STDMETHOD(OnCommitMsiTransactionComplete)( | 604 | STDMETHOD(OnCommitMsiTransactionComplete)( |
| 605 | __in_z LPCWSTR wzTransactionId, | 605 | __in_z LPCWSTR wzTransactionId, |
| 606 | __in HRESULT hrStatus | 606 | __in HRESULT hrStatus, |
| 607 | __in BOOTSTRAPPER_APPLY_RESTART restart, | ||
| 608 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, | ||
| 609 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction | ||
| 607 | ) = 0; | 610 | ) = 0; |
| 608 | 611 | ||
| 609 | STDMETHOD(OnRollbackMsiTransactionBegin)( | 612 | STDMETHOD(OnRollbackMsiTransactionBegin)( |
| @@ -612,7 +615,10 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
| 612 | 615 | ||
| 613 | STDMETHOD(OnRollbackMsiTransactionComplete)( | 616 | STDMETHOD(OnRollbackMsiTransactionComplete)( |
| 614 | __in_z LPCWSTR wzTransactionId, | 617 | __in_z LPCWSTR wzTransactionId, |
| 615 | __in HRESULT hrStatus | 618 | __in HRESULT hrStatus, |
| 619 | __in BOOTSTRAPPER_APPLY_RESTART restart, | ||
| 620 | __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation, | ||
| 621 | __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction | ||
| 616 | ) = 0; | 622 | ) = 0; |
| 617 | 623 | ||
| 618 | STDMETHOD(OnPauseAutomaticUpdatesBegin)( | 624 | STDMETHOD(OnPauseAutomaticUpdatesBegin)( |
