diff options
Diffstat (limited to 'src/api/burn')
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)( |