diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-04-19 17:35:44 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-04-19 23:23:39 -0500 |
commit | 11fe2c881d182f9caff28bd9ff08c2e4fe513989 (patch) | |
tree | a2f1769b78e9b1eb4708678fe6b5374eec209c6a /src | |
parent | 62b32cd6f21292c73dae8d5cfcd3a1cb13a1fd7d (diff) | |
download | wix-11fe2c881d182f9caff28bd9ff08c2e4fe513989.tar.gz wix-11fe2c881d182f9caff28bd9ff08c2e4fe513989.tar.bz2 wix-11fe2c881d182f9caff28bd9ff08c2e4fe513989.zip |
Add new caching BA events.
#3640
Diffstat (limited to 'src')
-rw-r--r-- | src/WixToolset.Mba.Core/BootstrapperApplication.cs | 195 | ||||
-rw-r--r-- | src/WixToolset.Mba.Core/EventArgs.cs | 536 | ||||
-rw-r--r-- | src/WixToolset.Mba.Core/IBootstrapperApplication.cs | 160 | ||||
-rw-r--r-- | src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs | 45 | ||||
-rw-r--r-- | src/balutil/inc/BAFunctions.h | 7 | ||||
-rw-r--r-- | src/balutil/inc/BalBaseBAFunctions.h | 101 | ||||
-rw-r--r-- | src/balutil/inc/BalBaseBootstrapperApplication.h | 106 | ||||
-rw-r--r-- | src/balutil/inc/BalBaseBootstrapperApplicationProc.h | 84 | ||||
-rw-r--r-- | src/balutil/inc/IBootstrapperApplication.h | 87 |
9 files changed, 943 insertions, 378 deletions
diff --git a/src/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/WixToolset.Mba.Core/BootstrapperApplication.cs index 79cbfa86..0a8f3af8 100644 --- a/src/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
@@ -155,6 +155,9 @@ namespace WixToolset.Mba.Core | |||
155 | public event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin; | 155 | public event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin; |
156 | 156 | ||
157 | /// <inheritdoc/> | 157 | /// <inheritdoc/> |
158 | public event EventHandler<CacheVerifyProgressEventArgs> CacheVerifyProgress; | ||
159 | |||
160 | /// <inheritdoc/> | ||
158 | public event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete; | 161 | public event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete; |
159 | 162 | ||
160 | /// <inheritdoc/> | 163 | /// <inheritdoc/> |
@@ -229,6 +232,24 @@ namespace WixToolset.Mba.Core | |||
229 | /// <inheritdoc/> | 232 | /// <inheritdoc/> |
230 | public event EventHandler<PlanForwardCompatibleBundleEventArgs> PlanForwardCompatibleBundle; | 233 | public event EventHandler<PlanForwardCompatibleBundleEventArgs> PlanForwardCompatibleBundle; |
231 | 234 | ||
235 | /// <inheritdoc/> | ||
236 | public event EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> CacheContainerOrPayloadVerifyBegin; | ||
237 | |||
238 | /// <inheritdoc/> | ||
239 | public event EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> CacheContainerOrPayloadVerifyProgress; | ||
240 | |||
241 | /// <inheritdoc/> | ||
242 | public event EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> CacheContainerOrPayloadVerifyComplete; | ||
243 | |||
244 | /// <inheritdoc/> | ||
245 | public event EventHandler<CachePayloadExtractBeginEventArgs> CachePayloadExtractBegin; | ||
246 | |||
247 | /// <inheritdoc/> | ||
248 | public event EventHandler<CachePayloadExtractProgressEventArgs> CachePayloadExtractProgress; | ||
249 | |||
250 | /// <inheritdoc/> | ||
251 | public event EventHandler<CachePayloadExtractCompleteEventArgs> CachePayloadExtractComplete; | ||
252 | |||
232 | /// <summary> | 253 | /// <summary> |
233 | /// Entry point that is called when the bootstrapper application is ready to run. | 254 | /// Entry point that is called when the bootstrapper application is ready to run. |
234 | /// </summary> | 255 | /// </summary> |
@@ -775,6 +796,19 @@ namespace WixToolset.Mba.Core | |||
775 | } | 796 | } |
776 | 797 | ||
777 | /// <summary> | 798 | /// <summary> |
799 | /// Called by the engine, raises the <see cref="CacheVerifyProgress"/> event. | ||
800 | /// </summary> | ||
801 | /// <param name="args"></param> | ||
802 | protected virtual void OnCacheVerifyProgress(CacheVerifyProgressEventArgs args) | ||
803 | { | ||
804 | EventHandler<CacheVerifyProgressEventArgs> handler = this.CacheVerifyProgress; | ||
805 | if (null != handler) | ||
806 | { | ||
807 | handler(this, args); | ||
808 | } | ||
809 | } | ||
810 | |||
811 | /// <summary> | ||
778 | /// Called by the engine, raises the <see cref="CacheVerifyComplete"/> event. | 812 | /// Called by the engine, raises the <see cref="CacheVerifyComplete"/> event. |
779 | /// </summary> | 813 | /// </summary> |
780 | /// <param name="args"></param> | 814 | /// <param name="args"></param> |
@@ -1098,8 +1132,99 @@ namespace WixToolset.Mba.Core | |||
1098 | } | 1132 | } |
1099 | } | 1133 | } |
1100 | 1134 | ||
1135 | /// <summary> | ||
1136 | /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyBegin"/> event. | ||
1137 | /// </summary> | ||
1138 | /// <param name="args"></param> | ||
1139 | protected virtual void OnCacheContainerOrPayloadVerifyBegin(CacheContainerOrPayloadVerifyBeginEventArgs args) | ||
1140 | { | ||
1141 | EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> handler = this.CacheContainerOrPayloadVerifyBegin; | ||
1142 | if (null != handler) | ||
1143 | { | ||
1144 | handler(this, args); | ||
1145 | } | ||
1146 | } | ||
1147 | |||
1148 | /// <summary> | ||
1149 | /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyProgress"/> event. | ||
1150 | /// </summary> | ||
1151 | /// <param name="args"></param> | ||
1152 | protected virtual void OnCacheContainerOrPayloadVerifyProgress(CacheContainerOrPayloadVerifyProgressEventArgs args) | ||
1153 | { | ||
1154 | EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> handler = this.CacheContainerOrPayloadVerifyProgress; | ||
1155 | if (null != handler) | ||
1156 | { | ||
1157 | handler(this, args); | ||
1158 | } | ||
1159 | } | ||
1160 | |||
1161 | /// <summary> | ||
1162 | /// Called by the engine, raises the <see cref="CacheContainerOrPayloadVerifyComplete"/> event. | ||
1163 | /// </summary> | ||
1164 | /// <param name="args"></param> | ||
1165 | protected virtual void OnCacheContainerOrPayloadVerifyComplete(CacheContainerOrPayloadVerifyCompleteEventArgs args) | ||
1166 | { | ||
1167 | EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> handler = this.CacheContainerOrPayloadVerifyComplete; | ||
1168 | if (null != handler) | ||
1169 | { | ||
1170 | handler(this, args); | ||
1171 | } | ||
1172 | } | ||
1173 | |||
1174 | /// <summary> | ||
1175 | /// Called by the engine, raises the <see cref="CachePayloadExtractBegin"/> event. | ||
1176 | /// </summary> | ||
1177 | /// <param name="args"></param> | ||
1178 | protected virtual void OnCachePayloadExtractBegin(CachePayloadExtractBeginEventArgs args) | ||
1179 | { | ||
1180 | EventHandler<CachePayloadExtractBeginEventArgs> handler = this.CachePayloadExtractBegin; | ||
1181 | if (null != handler) | ||
1182 | { | ||
1183 | handler(this, args); | ||
1184 | } | ||
1185 | } | ||
1186 | |||
1187 | /// <summary> | ||
1188 | /// Called by the engine, raises the <see cref="CachePayloadExtractProgress"/> event. | ||
1189 | /// </summary> | ||
1190 | /// <param name="args"></param> | ||
1191 | protected virtual void OnCachePayloadExtractProgress(CachePayloadExtractProgressEventArgs args) | ||
1192 | { | ||
1193 | EventHandler<CachePayloadExtractProgressEventArgs> handler = this.CachePayloadExtractProgress; | ||
1194 | if (null != handler) | ||
1195 | { | ||
1196 | handler(this, args); | ||
1197 | } | ||
1198 | } | ||
1199 | |||
1200 | /// <summary> | ||
1201 | /// Called by the engine, raises the <see cref="CachePayloadExtractComplete"/> event. | ||
1202 | /// </summary> | ||
1203 | /// <param name="args"></param> | ||
1204 | protected virtual void OnCachePayloadExtractComplete(CachePayloadExtractCompleteEventArgs args) | ||
1205 | { | ||
1206 | EventHandler<CachePayloadExtractCompleteEventArgs> handler = this.CachePayloadExtractComplete; | ||
1207 | if (null != handler) | ||
1208 | { | ||
1209 | handler(this, args); | ||
1210 | } | ||
1211 | } | ||
1212 | |||
1101 | #region IBootstrapperApplication Members | 1213 | #region IBootstrapperApplication Members |
1102 | 1214 | ||
1215 | int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) | ||
1216 | { | ||
1217 | switch (message) | ||
1218 | { | ||
1219 | default: | ||
1220 | return NativeMethods.E_NOTIMPL; | ||
1221 | } | ||
1222 | } | ||
1223 | |||
1224 | void IBootstrapperApplication.BAProcFallback(int message, IntPtr pvArgs, IntPtr pvResults, ref int phr, IntPtr pvContext) | ||
1225 | { | ||
1226 | } | ||
1227 | |||
1103 | int IBootstrapperApplication.OnStartup() | 1228 | int IBootstrapperApplication.OnStartup() |
1104 | { | 1229 | { |
1105 | StartupEventArgs args = new StartupEventArgs(); | 1230 | StartupEventArgs args = new StartupEventArgs(); |
@@ -1439,18 +1564,27 @@ namespace WixToolset.Mba.Core | |||
1439 | return args.HResult; | 1564 | return args.HResult; |
1440 | } | 1565 | } |
1441 | 1566 | ||
1442 | int IBootstrapperApplication.OnCacheVerifyBegin(string wzPackageId, string wzPayloadId, ref bool fCancel) | 1567 | int IBootstrapperApplication.OnCacheVerifyBegin(string wzPackageOrContainerId, string wzPayloadId, ref bool fCancel) |
1443 | { | 1568 | { |
1444 | CacheVerifyBeginEventArgs args = new CacheVerifyBeginEventArgs(wzPackageId, wzPayloadId, fCancel); | 1569 | CacheVerifyBeginEventArgs args = new CacheVerifyBeginEventArgs(wzPackageOrContainerId, wzPayloadId, fCancel); |
1445 | this.OnCacheVerifyBegin(args); | 1570 | this.OnCacheVerifyBegin(args); |
1446 | 1571 | ||
1447 | fCancel = args.Cancel; | 1572 | fCancel = args.Cancel; |
1448 | return args.HResult; | 1573 | return args.HResult; |
1449 | } | 1574 | } |
1450 | 1575 | ||
1451 | int IBootstrapperApplication.OnCacheVerifyComplete(string wzPackageId, string wzPayloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, ref BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action) | 1576 | int IBootstrapperApplication.OnCacheVerifyProgress(string wzPackageOrContainerId, string wzPayloadId, long dw64Progress, long dw64Total, int dwOverallPercentage, CacheVerifyStep verifyStep, ref bool fCancel) |
1577 | { | ||
1578 | CacheVerifyProgressEventArgs args = new CacheVerifyProgressEventArgs(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, verifyStep, fCancel); | ||
1579 | this.OnCacheVerifyProgress(args); | ||
1580 | |||
1581 | fCancel = args.Cancel; | ||
1582 | return args.HResult; | ||
1583 | } | ||
1584 | |||
1585 | int IBootstrapperApplication.OnCacheVerifyComplete(string wzPackageOrContainerId, string wzPayloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, ref BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action) | ||
1452 | { | 1586 | { |
1453 | CacheVerifyCompleteEventArgs args = new CacheVerifyCompleteEventArgs(wzPackageId, wzPayloadId, hrStatus, recommendation, action); | 1587 | CacheVerifyCompleteEventArgs args = new CacheVerifyCompleteEventArgs(wzPackageOrContainerId, wzPayloadId, hrStatus, recommendation, action); |
1454 | this.OnCacheVerifyComplete(args); | 1588 | this.OnCacheVerifyComplete(args); |
1455 | 1589 | ||
1456 | action = args.Action; | 1590 | action = args.Action; |
@@ -1682,17 +1816,56 @@ namespace WixToolset.Mba.Core | |||
1682 | return args.HResult; | 1816 | return args.HResult; |
1683 | } | 1817 | } |
1684 | 1818 | ||
1685 | int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) | 1819 | int IBootstrapperApplication.OnCacheContainerOrPayloadVerifyBegin(string wzPackageOrContainerId, string wzPayloadId, ref bool fCancel) |
1686 | { | 1820 | { |
1687 | switch (message) | 1821 | CacheContainerOrPayloadVerifyBeginEventArgs args = new CacheContainerOrPayloadVerifyBeginEventArgs(wzPackageOrContainerId, wzPayloadId, fCancel); |
1688 | { | 1822 | this.OnCacheContainerOrPayloadVerifyBegin(args); |
1689 | default: | 1823 | |
1690 | return NativeMethods.E_NOTIMPL; | 1824 | fCancel = args.Cancel; |
1691 | } | 1825 | return args.HResult; |
1692 | } | 1826 | } |
1693 | 1827 | ||
1694 | void IBootstrapperApplication.BAProcFallback(int message, IntPtr pvArgs, IntPtr pvResults, ref int phr, IntPtr pvContext) | 1828 | int IBootstrapperApplication.OnCacheContainerOrPayloadVerifyProgress(string wzPackageOrContainerId, string wzPayloadId, long dw64Progress, long dw64Total, int dwOverallPercentage, ref bool fCancel) |
1829 | { | ||
1830 | CacheContainerOrPayloadVerifyProgressEventArgs args = new CacheContainerOrPayloadVerifyProgressEventArgs(wzPackageOrContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, fCancel); | ||
1831 | this.OnCacheContainerOrPayloadVerifyProgress(args); | ||
1832 | |||
1833 | fCancel = args.Cancel; | ||
1834 | return args.HResult; | ||
1835 | } | ||
1836 | |||
1837 | int IBootstrapperApplication.OnCacheContainerOrPayloadVerifyComplete(string wzPackageOrContainerId, string wzPayloadId, int hrStatus) | ||
1838 | { | ||
1839 | CacheContainerOrPayloadVerifyCompleteEventArgs args = new CacheContainerOrPayloadVerifyCompleteEventArgs(wzPackageOrContainerId, wzPayloadId, hrStatus); | ||
1840 | this.OnCacheContainerOrPayloadVerifyComplete(args); | ||
1841 | |||
1842 | return args.HResult; | ||
1843 | } | ||
1844 | |||
1845 | int IBootstrapperApplication.OnCachePayloadExtractBegin(string wzContainerId, string wzPayloadId, ref bool fCancel) | ||
1846 | { | ||
1847 | CachePayloadExtractBeginEventArgs args = new CachePayloadExtractBeginEventArgs(wzContainerId, wzPayloadId, fCancel); | ||
1848 | this.OnCachePayloadExtractBegin(args); | ||
1849 | |||
1850 | fCancel = args.Cancel; | ||
1851 | return args.HResult; | ||
1852 | } | ||
1853 | |||
1854 | int IBootstrapperApplication.OnCachePayloadExtractProgress(string wzContainerId, string wzPayloadId, long dw64Progress, long dw64Total, int dwOverallPercentage, ref bool fCancel) | ||
1695 | { | 1855 | { |
1856 | CachePayloadExtractProgressEventArgs args = new CachePayloadExtractProgressEventArgs(wzContainerId, wzPayloadId, dw64Progress, dw64Total, dwOverallPercentage, fCancel); | ||
1857 | this.OnCachePayloadExtractProgress(args); | ||
1858 | |||
1859 | fCancel = args.Cancel; | ||
1860 | return args.HResult; | ||
1861 | } | ||
1862 | |||
1863 | int IBootstrapperApplication.OnCachePayloadExtractComplete(string wzContainerId, string wzPayloadId, int hrStatus) | ||
1864 | { | ||
1865 | CachePayloadExtractCompleteEventArgs args = new CachePayloadExtractCompleteEventArgs(wzContainerId, wzPayloadId, hrStatus); | ||
1866 | this.OnCachePayloadExtractComplete(args); | ||
1867 | |||
1868 | return args.HResult; | ||
1696 | } | 1869 | } |
1697 | 1870 | ||
1698 | #endregion | 1871 | #endregion |
diff --git a/src/WixToolset.Mba.Core/EventArgs.cs b/src/WixToolset.Mba.Core/EventArgs.cs index ee89b583..e64f6d2c 100644 --- a/src/WixToolset.Mba.Core/EventArgs.cs +++ b/src/WixToolset.Mba.Core/EventArgs.cs | |||
@@ -51,11 +51,7 @@ namespace WixToolset.Mba.Core | |||
51 | [Serializable] | 51 | [Serializable] |
52 | public abstract class ResultEventArgs : HResultEventArgs | 52 | public abstract class ResultEventArgs : HResultEventArgs |
53 | { | 53 | { |
54 | /// <summary> | 54 | /// <summary /> |
55 | /// Creates a new instance of the <see cref="ResultEventArgs"/> class. | ||
56 | /// </summary> | ||
57 | /// <param name="recommendation">Recommended result from engine.</param> | ||
58 | /// <param name="result">The result to return to the engine.</param> | ||
59 | public ResultEventArgs(Result recommendation, Result result) | 55 | public ResultEventArgs(Result recommendation, Result result) |
60 | { | 56 | { |
61 | this.Recommendation = recommendation; | 57 | this.Recommendation = recommendation; |
@@ -99,11 +95,7 @@ namespace WixToolset.Mba.Core | |||
99 | /// </summary> | 95 | /// </summary> |
100 | public abstract class ActionEventArgs<T> : StatusEventArgs | 96 | public abstract class ActionEventArgs<T> : StatusEventArgs |
101 | { | 97 | { |
102 | /// <summary> | 98 | /// <summary /> |
103 | /// </summary> | ||
104 | /// <param name="hrStatus">The return code of the operation.</param> | ||
105 | /// <param name="recommendation">Recommended action from engine.</param> | ||
106 | /// <param name="action">The action to perform.</param> | ||
107 | public ActionEventArgs(int hrStatus, T recommendation, T action) | 99 | public ActionEventArgs(int hrStatus, T recommendation, T action) |
108 | : base(hrStatus) | 100 | : base(hrStatus) |
109 | { | 101 | { |
@@ -148,6 +140,49 @@ namespace WixToolset.Mba.Core | |||
148 | } | 140 | } |
149 | 141 | ||
150 | /// <summary> | 142 | /// <summary> |
143 | /// Base class for cache progress events. | ||
144 | /// </summary> | ||
145 | [Serializable] | ||
146 | public abstract class CacheProgressBaseEventArgs : CancellableHResultEventArgs | ||
147 | { | ||
148 | /// <summary /> | ||
149 | public CacheProgressBaseEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) | ||
150 | : base(cancelRecommendation) | ||
151 | { | ||
152 | this.PackageOrContainerId = packageOrContainerId; | ||
153 | this.PayloadId = payloadId; | ||
154 | this.Progress = progress; | ||
155 | this.Total = total; | ||
156 | this.OverallPercentage = overallPercentage; | ||
157 | } | ||
158 | |||
159 | /// <summary> | ||
160 | /// Gets the identifier of the container or package. | ||
161 | /// </summary> | ||
162 | public string PackageOrContainerId { get; private set; } | ||
163 | |||
164 | /// <summary> | ||
165 | /// Gets the identifier of the payload. | ||
166 | /// </summary> | ||
167 | public string PayloadId { get; private set; } | ||
168 | |||
169 | /// <summary> | ||
170 | /// Gets the number of bytes cached thus far. | ||
171 | /// </summary> | ||
172 | public long Progress { get; private set; } | ||
173 | |||
174 | /// <summary> | ||
175 | /// Gets the total bytes to cache. | ||
176 | /// </summary> | ||
177 | public long Total { get; private set; } | ||
178 | |||
179 | /// <summary> | ||
180 | /// Gets the overall percentage of progress of caching. | ||
181 | /// </summary> | ||
182 | public int OverallPercentage { get; private set; } | ||
183 | } | ||
184 | |||
185 | /// <summary> | ||
151 | /// Additional arguments used when startup has begun. | 186 | /// Additional arguments used when startup has begun. |
152 | /// </summary> | 187 | /// </summary> |
153 | [Serializable] | 188 | [Serializable] |
@@ -182,25 +217,12 @@ namespace WixToolset.Mba.Core | |||
182 | } | 217 | } |
183 | 218 | ||
184 | /// <summary> | 219 | /// <summary> |
185 | /// Additional arguments used when the system is shutting down or the user is logging off. | 220 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.SystemShutdown"/> |
186 | /// </summary> | 221 | /// </summary> |
187 | /// <remarks> | ||
188 | /// <para>To prevent shutting down or logging off, set <see cref="CancellableHResultEventArgs.Cancel"/> to | ||
189 | /// true; otherwise, set it to false.</para> | ||
190 | /// <para>By default setup will prevent shutting down or logging off between | ||
191 | /// <see cref="IDefaultBootstrapperApplication.ApplyBegin"/> and <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>.</para> | ||
192 | /// <para>If <see cref="SystemShutdownEventArgs.Reasons"/> contains <see cref="EndSessionReasons.Critical"/> | ||
193 | /// the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other | ||
194 | /// critical operations before being closed by the operating system.</para> | ||
195 | /// </remarks> | ||
196 | [Serializable] | 222 | [Serializable] |
197 | public class SystemShutdownEventArgs : CancellableHResultEventArgs | 223 | public class SystemShutdownEventArgs : CancellableHResultEventArgs |
198 | { | 224 | { |
199 | /// <summary> | 225 | /// <summary /> |
200 | /// Creates a new instance of the <see cref="SystemShutdownEventArgs"/> class. | ||
201 | /// </summary> | ||
202 | /// <param name="reasons">The reason the application is requested to close or being closed.</param> | ||
203 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
204 | public SystemShutdownEventArgs(EndSessionReasons reasons, bool cancelRecommendation) | 226 | public SystemShutdownEventArgs(EndSessionReasons reasons, bool cancelRecommendation) |
205 | : base(cancelRecommendation) | 227 | : base(cancelRecommendation) |
206 | { | 228 | { |
@@ -301,17 +323,12 @@ namespace WixToolset.Mba.Core | |||
301 | } | 323 | } |
302 | 324 | ||
303 | /// <summary> | 325 | /// <summary> |
304 | /// Additional arguments used when the detection for an update has begun. | 326 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectUpdateBegin"/> |
305 | /// </summary> | 327 | /// </summary> |
306 | [Serializable] | 328 | [Serializable] |
307 | public class DetectUpdateBeginEventArgs : CancellableHResultEventArgs | 329 | public class DetectUpdateBeginEventArgs : CancellableHResultEventArgs |
308 | { | 330 | { |
309 | /// <summary> | 331 | /// <summary /> |
310 | /// Creates a new instance of the <see cref="DetectUpdateBeginEventArgs"/> class. | ||
311 | /// </summary> | ||
312 | /// <param name="updateLocation">The location to check for an updated bundle.</param> | ||
313 | /// <param name="cancelRecommendation">The cancel recommendation from the engine.</param> | ||
314 | /// <param name="skipRecommendation">The skip recommendation from the engine.</param> | ||
315 | public DetectUpdateBeginEventArgs(string updateLocation, bool cancelRecommendation, bool skipRecommendation) | 332 | public DetectUpdateBeginEventArgs(string updateLocation, bool cancelRecommendation, bool skipRecommendation) |
316 | : base(cancelRecommendation) | 333 | : base(cancelRecommendation) |
317 | { | 334 | { |
@@ -331,23 +348,12 @@ namespace WixToolset.Mba.Core | |||
331 | } | 348 | } |
332 | 349 | ||
333 | /// <summary> | 350 | /// <summary> |
334 | /// Additional arguments used when the detection for an update has begun. | 351 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectUpdate"/> |
335 | /// </summary> | 352 | /// </summary> |
336 | [Serializable] | 353 | [Serializable] |
337 | public class DetectUpdateEventArgs : CancellableHResultEventArgs | 354 | public class DetectUpdateEventArgs : CancellableHResultEventArgs |
338 | { | 355 | { |
339 | /// <summary> | 356 | /// <summary /> |
340 | /// Creates a new instance of the <see cref="DetectUpdateBeginEventArgs"/> class. | ||
341 | /// </summary> | ||
342 | /// <param name="updateLocation">The location to check for an updated bundle.</param> | ||
343 | /// <param name="size">The expected size of the updated bundle.</param> | ||
344 | /// <param name="version">The expected version of the updated bundle.</param> | ||
345 | /// <param name="title">The title of the updated bundle.</param> | ||
346 | /// <param name="summary">The summary of the updated bundle.</param> | ||
347 | /// <param name="contentType">The content type of the content of the updated bundle.</param> | ||
348 | /// <param name="content">The content of the updated bundle.</param> | ||
349 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
350 | /// <param name="stopRecommendation">The recommendation from the engine.</param> | ||
351 | public DetectUpdateEventArgs(string updateLocation, long size, string version, string title, string summary, string contentType, string content, bool cancelRecommendation, bool stopRecommendation) | 357 | public DetectUpdateEventArgs(string updateLocation, long size, string version, string title, string summary, string contentType, string content, bool cancelRecommendation, bool stopRecommendation) |
352 | : base(cancelRecommendation) | 358 | : base(cancelRecommendation) |
353 | { | 359 | { |
@@ -403,16 +409,12 @@ namespace WixToolset.Mba.Core | |||
403 | } | 409 | } |
404 | 410 | ||
405 | /// <summary> | 411 | /// <summary> |
406 | /// Additional arguments used when the detection for an update has completed. | 412 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectUpdateComplete"/> |
407 | /// </summary> | 413 | /// </summary> |
408 | [Serializable] | 414 | [Serializable] |
409 | public class DetectUpdateCompleteEventArgs : StatusEventArgs | 415 | public class DetectUpdateCompleteEventArgs : StatusEventArgs |
410 | { | 416 | { |
411 | /// <summary> | 417 | /// <summary /> |
412 | /// Creates a new instance of the <see cref="DetectUpdateCompleteEventArgs"/> class. | ||
413 | /// </summary> | ||
414 | /// <param name="hrStatus">The return code of the operation.</param> | ||
415 | /// <param name="ignoreRecommendation">The recommendation from the engine.</param> | ||
416 | public DetectUpdateCompleteEventArgs(int hrStatus, bool ignoreRecommendation) | 418 | public DetectUpdateCompleteEventArgs(int hrStatus, bool ignoreRecommendation) |
417 | : base(hrStatus) | 419 | : base(hrStatus) |
418 | { | 420 | { |
@@ -481,16 +483,12 @@ namespace WixToolset.Mba.Core | |||
481 | } | 483 | } |
482 | 484 | ||
483 | /// <summary> | 485 | /// <summary> |
484 | /// Additional arguments used when the detection for a specific package has begun. | 486 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectPackageBegin"/> |
485 | /// </summary> | 487 | /// </summary> |
486 | [Serializable] | 488 | [Serializable] |
487 | public class DetectPackageBeginEventArgs : CancellableHResultEventArgs | 489 | public class DetectPackageBeginEventArgs : CancellableHResultEventArgs |
488 | { | 490 | { |
489 | /// <summary> | 491 | /// <summary /> |
490 | /// Creates a new instance of the <see cref="DetectPackageBeginEventArgs"/> class. | ||
491 | /// </summary> | ||
492 | /// <param name="packageId">The identity of the package to detect.</param> | ||
493 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
494 | public DetectPackageBeginEventArgs(string packageId, bool cancelRecommendation) | 492 | public DetectPackageBeginEventArgs(string packageId, bool cancelRecommendation) |
495 | : base(cancelRecommendation) | 493 | : base(cancelRecommendation) |
496 | { | 494 | { |
@@ -504,21 +502,12 @@ namespace WixToolset.Mba.Core | |||
504 | } | 502 | } |
505 | 503 | ||
506 | /// <summary> | 504 | /// <summary> |
507 | /// Additional arguments used when a related MSI package has been detected for a package. | 505 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectRelatedMsiPackage"/> |
508 | /// </summary> | 506 | /// </summary> |
509 | [Serializable] | 507 | [Serializable] |
510 | public class DetectRelatedMsiPackageEventArgs : CancellableHResultEventArgs | 508 | public class DetectRelatedMsiPackageEventArgs : CancellableHResultEventArgs |
511 | { | 509 | { |
512 | /// <summary> | 510 | /// <summary /> |
513 | /// Creates a new instance of the <see cref="DetectRelatedMsiPackageEventArgs"/> class. | ||
514 | /// </summary> | ||
515 | /// <param name="packageId">The identity of the package detecting.</param> | ||
516 | /// <param name="upgradeCode">The upgrade code of the related package detected.</param> | ||
517 | /// <param name="productCode">The identity of the related package detected.</param> | ||
518 | /// <param name="perMachine">Whether the detected package is per machine.</param> | ||
519 | /// <param name="version">The version of the related package detected.</param> | ||
520 | /// <param name="operation">The operation that will be taken on the detected package.</param> | ||
521 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
522 | public DetectRelatedMsiPackageEventArgs(string packageId, string upgradeCode, string productCode, bool perMachine, string version, RelatedOperation operation, bool cancelRecommendation) | 511 | public DetectRelatedMsiPackageEventArgs(string packageId, string upgradeCode, string productCode, bool perMachine, string version, RelatedOperation operation, bool cancelRecommendation) |
523 | : base(cancelRecommendation) | 512 | : base(cancelRecommendation) |
524 | { | 513 | { |
@@ -598,17 +587,11 @@ namespace WixToolset.Mba.Core | |||
598 | } | 587 | } |
599 | 588 | ||
600 | /// <summary> | 589 | /// <summary> |
601 | /// Additional arguments used when a feature in an MSI package has been detected. | 590 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.DetectMsiFeature"/> |
602 | /// </summary> | 591 | /// </summary> |
603 | public class DetectMsiFeatureEventArgs : CancellableHResultEventArgs | 592 | public class DetectMsiFeatureEventArgs : CancellableHResultEventArgs |
604 | { | 593 | { |
605 | /// <summary> | 594 | /// <summary /> |
606 | /// Creates a new instance of the <see cref="DetectMsiFeatureEventArgs"/> class. | ||
607 | /// </summary> | ||
608 | /// <param name="packageId">Detected package identifier.</param> | ||
609 | /// <param name="featureId">Detected feature identifier.</param> | ||
610 | /// <param name="state">Feature state detected.</param> | ||
611 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
612 | public DetectMsiFeatureEventArgs(string packageId, string featureId, FeatureState state, bool cancelRecommendation) | 595 | public DetectMsiFeatureEventArgs(string packageId, string featureId, FeatureState state, bool cancelRecommendation) |
613 | : base(cancelRecommendation) | 596 | : base(cancelRecommendation) |
614 | { | 597 | { |
@@ -687,16 +670,12 @@ namespace WixToolset.Mba.Core | |||
687 | } | 670 | } |
688 | 671 | ||
689 | /// <summary> | 672 | /// <summary> |
690 | /// Additional arguments used when the engine has begun planning the installation. | 673 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.PlanBegin"/> |
691 | /// </summary> | 674 | /// </summary> |
692 | [Serializable] | 675 | [Serializable] |
693 | public class PlanBeginEventArgs : CancellableHResultEventArgs | 676 | public class PlanBeginEventArgs : CancellableHResultEventArgs |
694 | { | 677 | { |
695 | /// <summary> | 678 | /// <summary /> |
696 | /// Creates a new instance of the <see cref="PlanBeginEventArgs"/> class. | ||
697 | /// </summary> | ||
698 | /// <param name="packageCount">The number of packages to plan for.</param> | ||
699 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
700 | public PlanBeginEventArgs(int packageCount, bool cancelRecommendation) | 679 | public PlanBeginEventArgs(int packageCount, bool cancelRecommendation) |
701 | : base(cancelRecommendation) | 680 | : base(cancelRecommendation) |
702 | { | 681 | { |
@@ -710,18 +689,12 @@ namespace WixToolset.Mba.Core | |||
710 | } | 689 | } |
711 | 690 | ||
712 | /// <summary> | 691 | /// <summary> |
713 | /// Additional arguments used when the engine has begun planning for a related bundle. | 692 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.PlanRelatedBundle"/> |
714 | /// </summary> | 693 | /// </summary> |
715 | [Serializable] | 694 | [Serializable] |
716 | public class PlanRelatedBundleEventArgs : CancellableHResultEventArgs | 695 | public class PlanRelatedBundleEventArgs : CancellableHResultEventArgs |
717 | { | 696 | { |
718 | /// <summary> | 697 | /// <summary /> |
719 | /// Creates a new instance of the <see cref="PlanRelatedBundleEventArgs"/> class. | ||
720 | /// </summary> | ||
721 | /// <param name="bundleId">The identity of the bundle to plan for.</param> | ||
722 | /// <param name="recommendedState">The recommended requested state for the bundle.</param> | ||
723 | /// <param name="state">The requested state for the bundle.</param> | ||
724 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
725 | public PlanRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation) | 698 | public PlanRelatedBundleEventArgs(string bundleId, RequestState recommendedState, RequestState state, bool cancelRecommendation) |
726 | : base(cancelRecommendation) | 699 | : base(cancelRecommendation) |
727 | { | 700 | { |
@@ -842,19 +815,12 @@ namespace WixToolset.Mba.Core | |||
842 | } | 815 | } |
843 | 816 | ||
844 | /// <summary> | 817 | /// <summary> |
845 | /// Additional arguments used when engine is about to plan a feature in an MSI package. | 818 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.PlanMsiFeature"/> |
846 | /// </summary> | 819 | /// </summary> |
847 | [Serializable] | 820 | [Serializable] |
848 | public class PlanMsiFeatureEventArgs : CancellableHResultEventArgs | 821 | public class PlanMsiFeatureEventArgs : CancellableHResultEventArgs |
849 | { | 822 | { |
850 | /// <summary> | 823 | /// <summary /> |
851 | /// Creates a new instance of the <see cref="PlanMsiFeatureEventArgs"/> class. | ||
852 | /// </summary> | ||
853 | /// <param name="packageId">Package identifier being planned.</param> | ||
854 | /// <param name="featureId">Feature identifier being planned.</param> | ||
855 | /// <param name="recommendedState">Recommended feature state being planned.</param> | ||
856 | /// <param name="state">Feature state being planned.</param> | ||
857 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
858 | public PlanMsiFeatureEventArgs(string packageId, string featureId, FeatureState recommendedState, FeatureState state, bool cancelRecommendation) | 824 | public PlanMsiFeatureEventArgs(string packageId, string featureId, FeatureState recommendedState, FeatureState state, bool cancelRecommendation) |
859 | : base(cancelRecommendation) | 825 | : base(cancelRecommendation) |
860 | { | 826 | { |
@@ -886,21 +852,12 @@ namespace WixToolset.Mba.Core | |||
886 | } | 852 | } |
887 | 853 | ||
888 | /// <summary> | 854 | /// <summary> |
889 | /// Additional arguments used when the engine is planning an MSI or MSP package. | 855 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.PlanMsiPackage"/> |
890 | /// </summary> | 856 | /// </summary> |
891 | [Serializable] | 857 | [Serializable] |
892 | public class PlanMsiPackageEventArgs : CancellableHResultEventArgs | 858 | public class PlanMsiPackageEventArgs : CancellableHResultEventArgs |
893 | { | 859 | { |
894 | /// <summary> | 860 | /// <summary /> |
895 | /// Creates a new instance of the <see cref="PlanMsiPackageEventArgs"/> class. | ||
896 | /// </summary> | ||
897 | /// <param name="packageId">The identity of the package planned for.</param> | ||
898 | /// <param name="shouldExecute">Whether the package is planned to execute or roll back.</param> | ||
899 | /// <param name="action">The action planned for the package.</param> | ||
900 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
901 | /// <param name="actionMsiProperty">The requested MSI property to add.</param> | ||
902 | /// <param name="uiLevel">The requested internal UI level.</param> | ||
903 | /// <param name="disableExternalUiHandler">Whether Burn is requested to set up an external UI handler.</param> | ||
904 | public PlanMsiPackageEventArgs(string packageId, bool shouldExecute, ActionState action, bool cancelRecommendation, BURN_MSI_PROPERTY actionMsiProperty, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler) | 861 | public PlanMsiPackageEventArgs(string packageId, bool shouldExecute, ActionState action, bool cancelRecommendation, BURN_MSI_PROPERTY actionMsiProperty, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler) |
905 | : base(cancelRecommendation) | 862 | : base(cancelRecommendation) |
906 | { | 863 | { |
@@ -1080,16 +1037,12 @@ namespace WixToolset.Mba.Core | |||
1080 | } | 1037 | } |
1081 | 1038 | ||
1082 | /// <summary> | 1039 | /// <summary> |
1083 | /// Additional arguments used when the engine has begun installing the bundle. | 1040 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ApplyBegin"/> |
1084 | /// </summary> | 1041 | /// </summary> |
1085 | [Serializable] | 1042 | [Serializable] |
1086 | public class ApplyBeginEventArgs : CancellableHResultEventArgs | 1043 | public class ApplyBeginEventArgs : CancellableHResultEventArgs |
1087 | { | 1044 | { |
1088 | /// <summary> | 1045 | /// <summary /> |
1089 | /// Creates a new instance of the <see cref="ApplyBeginEventArgs"/> class. | ||
1090 | /// </summary> | ||
1091 | /// <param name="phaseCount">The number of phases during apply.</param> | ||
1092 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1093 | public ApplyBeginEventArgs(int phaseCount, bool cancelRecommendation) | 1046 | public ApplyBeginEventArgs(int phaseCount, bool cancelRecommendation) |
1094 | : base(cancelRecommendation) | 1047 | : base(cancelRecommendation) |
1095 | { | 1048 | { |
@@ -1104,15 +1057,12 @@ namespace WixToolset.Mba.Core | |||
1104 | } | 1057 | } |
1105 | 1058 | ||
1106 | /// <summary> | 1059 | /// <summary> |
1107 | /// Additional arguments used when the engine is about to start the elevated process. | 1060 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ElevateBegin"/> |
1108 | /// </summary> | 1061 | /// </summary> |
1109 | [Serializable] | 1062 | [Serializable] |
1110 | public class ElevateBeginEventArgs : CancellableHResultEventArgs | 1063 | public class ElevateBeginEventArgs : CancellableHResultEventArgs |
1111 | { | 1064 | { |
1112 | /// <summary> | 1065 | /// <summary /> |
1113 | /// Creates a new instance of the <see cref="ElevateBeginEventArgs"/> class. | ||
1114 | /// </summary> | ||
1115 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1116 | public ElevateBeginEventArgs(bool cancelRecommendation) | 1066 | public ElevateBeginEventArgs(bool cancelRecommendation) |
1117 | : base(cancelRecommendation) | 1067 | : base(cancelRecommendation) |
1118 | { | 1068 | { |
@@ -1136,17 +1086,12 @@ namespace WixToolset.Mba.Core | |||
1136 | } | 1086 | } |
1137 | 1087 | ||
1138 | /// <summary> | 1088 | /// <summary> |
1139 | /// Additional arguments used when the engine has changed progress for the bundle installation. | 1089 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.Progress"/> |
1140 | /// </summary> | 1090 | /// </summary> |
1141 | [Serializable] | 1091 | [Serializable] |
1142 | public class ProgressEventArgs : CancellableHResultEventArgs | 1092 | public class ProgressEventArgs : CancellableHResultEventArgs |
1143 | { | 1093 | { |
1144 | /// <summary> | 1094 | /// <summary /> |
1145 | /// Creates an new instance of the <see cref="ProgressEventArgs"/> class. | ||
1146 | /// </summary> | ||
1147 | /// <param name="progressPercentage">The percentage from 0 to 100 completed for a package.</param> | ||
1148 | /// <param name="overallPercentage">The percentage from 0 to 100 completed for the bundle.</param> | ||
1149 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1150 | public ProgressEventArgs(int progressPercentage, int overallPercentage, bool cancelRecommendation) | 1095 | public ProgressEventArgs(int progressPercentage, int overallPercentage, bool cancelRecommendation) |
1151 | : base(cancelRecommendation) | 1096 | : base(cancelRecommendation) |
1152 | { | 1097 | { |
@@ -1166,22 +1111,12 @@ namespace WixToolset.Mba.Core | |||
1166 | } | 1111 | } |
1167 | 1112 | ||
1168 | /// <summary> | 1113 | /// <summary> |
1169 | /// Additional arguments used when the engine has encountered an error. | 1114 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.Error"/> |
1170 | /// </summary> | 1115 | /// </summary> |
1171 | [Serializable] | 1116 | [Serializable] |
1172 | public class ErrorEventArgs : ResultEventArgs | 1117 | public class ErrorEventArgs : ResultEventArgs |
1173 | { | 1118 | { |
1174 | /// <summary> | 1119 | /// <summary /> |
1175 | /// Creates a new instance of the <see cref="ErrorEventArgs"/> class. | ||
1176 | /// </summary> | ||
1177 | /// <param name="errorType">The error type.</param> | ||
1178 | /// <param name="packageId">The identity of the package that yielded the error.</param> | ||
1179 | /// <param name="errorCode">The error code.</param> | ||
1180 | /// <param name="errorMessage">The error message.</param> | ||
1181 | /// <param name="dwUIHint">Recommended display flags for an error dialog.</param> | ||
1182 | /// <param name="data">The exteded data for the error.</param> | ||
1183 | /// <param name="recommendation">Recommended result from engine.</param> | ||
1184 | /// <param name="result">The result to return to the engine.</param> | ||
1185 | public ErrorEventArgs(ErrorType errorType, string packageId, int errorCode, string errorMessage, int dwUIHint, string[] data, Result recommendation, Result result) | 1120 | public ErrorEventArgs(ErrorType errorType, string packageId, int errorCode, string errorMessage, int dwUIHint, string[] data, Result recommendation, Result result) |
1186 | : base(recommendation, result) | 1121 | : base(recommendation, result) |
1187 | { | 1122 | { |
@@ -1225,15 +1160,12 @@ namespace WixToolset.Mba.Core | |||
1225 | } | 1160 | } |
1226 | 1161 | ||
1227 | /// <summary> | 1162 | /// <summary> |
1228 | /// Additional arguments used when the engine has begun registering the location and visibility of the bundle. | 1163 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.RegisterBegin"/> |
1229 | /// </summary> | 1164 | /// </summary> |
1230 | [Serializable] | 1165 | [Serializable] |
1231 | public class RegisterBeginEventArgs : CancellableHResultEventArgs | 1166 | public class RegisterBeginEventArgs : CancellableHResultEventArgs |
1232 | { | 1167 | { |
1233 | /// <summary> | 1168 | /// <summary /> |
1234 | /// Creates a new instance of the <see cref="RegisterBeginEventArgs"/> class. | ||
1235 | /// </summary> | ||
1236 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1237 | public RegisterBeginEventArgs(bool cancelRecommendation) | 1169 | public RegisterBeginEventArgs(bool cancelRecommendation) |
1238 | : base(cancelRecommendation) | 1170 | : base(cancelRecommendation) |
1239 | { | 1171 | { |
@@ -1301,15 +1233,12 @@ namespace WixToolset.Mba.Core | |||
1301 | } | 1233 | } |
1302 | 1234 | ||
1303 | /// <summary> | 1235 | /// <summary> |
1304 | /// Additional arguments used when the engine has begun caching the installation sources. | 1236 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CacheBegin"/> |
1305 | /// </summary> | 1237 | /// </summary> |
1306 | [Serializable] | 1238 | [Serializable] |
1307 | public class CacheBeginEventArgs : CancellableHResultEventArgs | 1239 | public class CacheBeginEventArgs : CancellableHResultEventArgs |
1308 | { | 1240 | { |
1309 | /// <summary> | 1241 | /// <summary /> |
1310 | /// Creates a new instance of the <see cref="CacheBeginEventArgs"/> class. | ||
1311 | /// </summary> | ||
1312 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1313 | public CacheBeginEventArgs(bool cancelRecommendation) | 1242 | public CacheBeginEventArgs(bool cancelRecommendation) |
1314 | : base(cancelRecommendation) | 1243 | : base(cancelRecommendation) |
1315 | { | 1244 | { |
@@ -1363,43 +1292,13 @@ namespace WixToolset.Mba.Core | |||
1363 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheAcquireProgress"/>. | 1292 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheAcquireProgress"/>. |
1364 | /// </summary> | 1293 | /// </summary> |
1365 | [Serializable] | 1294 | [Serializable] |
1366 | public class CacheAcquireProgressEventArgs : CancellableHResultEventArgs | 1295 | public class CacheAcquireProgressEventArgs : CacheProgressBaseEventArgs |
1367 | { | 1296 | { |
1368 | /// <summary /> | 1297 | /// <summary /> |
1369 | public CacheAcquireProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) | 1298 | public CacheAcquireProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) |
1370 | : base(cancelRecommendation) | 1299 | : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) |
1371 | { | 1300 | { |
1372 | this.PackageOrContainerId = packageOrContainerId; | ||
1373 | this.PayloadId = payloadId; | ||
1374 | this.Progress = progress; | ||
1375 | this.Total = total; | ||
1376 | this.OverallPercentage = overallPercentage; | ||
1377 | } | 1301 | } |
1378 | |||
1379 | /// <summary> | ||
1380 | /// Gets the identifier of the container or package. | ||
1381 | /// </summary> | ||
1382 | public string PackageOrContainerId { get; private set; } | ||
1383 | |||
1384 | /// <summary> | ||
1385 | /// Gets the identifier of the payload (if acquiring a payload). | ||
1386 | /// </summary> | ||
1387 | public string PayloadId { get; private set; } | ||
1388 | |||
1389 | /// <summary> | ||
1390 | /// Gets the number of bytes cached thus far. | ||
1391 | /// </summary> | ||
1392 | public long Progress { get; private set; } | ||
1393 | |||
1394 | /// <summary> | ||
1395 | /// Gets the total bytes to cache. | ||
1396 | /// </summary> | ||
1397 | public long Total { get; private set; } | ||
1398 | |||
1399 | /// <summary> | ||
1400 | /// Gets the overall percentage of progress of caching. | ||
1401 | /// </summary> | ||
1402 | public int OverallPercentage { get; private set; } | ||
1403 | } | 1302 | } |
1404 | 1303 | ||
1405 | /// <summary> | 1304 | /// <summary> |
@@ -1428,25 +1327,23 @@ namespace WixToolset.Mba.Core | |||
1428 | } | 1327 | } |
1429 | 1328 | ||
1430 | /// <summary> | 1329 | /// <summary> |
1431 | /// Additional arguments used when the engine starts the verification of a payload. | 1330 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheVerifyBegin"/>. |
1432 | /// </summary> | 1331 | /// </summary> |
1433 | [Serializable] | 1332 | [Serializable] |
1434 | public class CacheVerifyBeginEventArgs : CancellableHResultEventArgs | 1333 | public class CacheVerifyBeginEventArgs : CancellableHResultEventArgs |
1435 | { | 1334 | { |
1436 | /// <summary> | 1335 | /// <summary /> |
1437 | /// Creates a new instance of the <see cref="CacheVerifyBeginEventArgs"/> class. | 1336 | public CacheVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation) |
1438 | /// </summary> | ||
1439 | public CacheVerifyBeginEventArgs(string packageId, string payloadId, bool cancelRecommendation) | ||
1440 | : base(cancelRecommendation) | 1337 | : base(cancelRecommendation) |
1441 | { | 1338 | { |
1442 | this.PackageId = packageId; | 1339 | this.PackageOrContainerId = packageOrContainerId; |
1443 | this.PayloadId = payloadId; | 1340 | this.PayloadId = payloadId; |
1444 | } | 1341 | } |
1445 | 1342 | ||
1446 | /// <summary> | 1343 | /// <summary> |
1447 | /// Gets the identifier of the package. | 1344 | /// Gets the identifier of the container or package. |
1448 | /// </summary> | 1345 | /// </summary> |
1449 | public string PackageId { get; private set; } | 1346 | public string PackageOrContainerId { get; private set; } |
1450 | 1347 | ||
1451 | /// <summary> | 1348 | /// <summary> |
1452 | /// Gets the identifier of the payload. | 1349 | /// Gets the identifier of the payload. |
@@ -1455,25 +1352,42 @@ namespace WixToolset.Mba.Core | |||
1455 | } | 1352 | } |
1456 | 1353 | ||
1457 | /// <summary> | 1354 | /// <summary> |
1458 | /// Additional arguments used when the engine completes the verification of a payload. | 1355 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheVerifyProgress"/>. |
1459 | /// </summary> | 1356 | /// </summary> |
1460 | [Serializable] | 1357 | [Serializable] |
1461 | public class CacheVerifyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION> | 1358 | public class CacheVerifyProgressEventArgs : CacheProgressBaseEventArgs |
1462 | { | 1359 | { |
1360 | /// <summary /> | ||
1361 | public CacheVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, CacheVerifyStep verifyStep, bool cancelRecommendation) | ||
1362 | : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) | ||
1363 | { | ||
1364 | this.Step = verifyStep; | ||
1365 | } | ||
1366 | |||
1463 | /// <summary> | 1367 | /// <summary> |
1464 | /// Creates a new instance of the <see cref="CacheVerifyCompleteEventArgs"/> class. | 1368 | /// Gets the current verification step. |
1465 | /// </summary> | 1369 | /// </summary> |
1466 | public CacheVerifyCompleteEventArgs(string packageId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action) | 1370 | public CacheVerifyStep Step { get; private set; } |
1371 | } | ||
1372 | |||
1373 | /// <summary> | ||
1374 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CacheVerifyComplete"/> | ||
1375 | /// </summary> | ||
1376 | [Serializable] | ||
1377 | public class CacheVerifyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION> | ||
1378 | { | ||
1379 | /// <summary /> | ||
1380 | public CacheVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action) | ||
1467 | : base(hrStatus, recommendation, action) | 1381 | : base(hrStatus, recommendation, action) |
1468 | { | 1382 | { |
1469 | this.PackageId = packageId; | 1383 | this.PackageOrContainerId = packageOrContainerId; |
1470 | this.PayloadId = payloadId; | 1384 | this.PayloadId = payloadId; |
1471 | } | 1385 | } |
1472 | 1386 | ||
1473 | /// <summary> | 1387 | /// <summary> |
1474 | /// Gets the identifier of the package. | 1388 | /// Gets the identifier of the container or package. |
1475 | /// </summary> | 1389 | /// </summary> |
1476 | public string PackageId { get; private set; } | 1390 | public string PackageOrContainerId { get; private set; } |
1477 | 1391 | ||
1478 | /// <summary> | 1392 | /// <summary> |
1479 | /// Gets the identifier of the payload. | 1393 | /// Gets the identifier of the payload. |
@@ -1498,16 +1412,12 @@ namespace WixToolset.Mba.Core | |||
1498 | } | 1412 | } |
1499 | 1413 | ||
1500 | /// <summary> | 1414 | /// <summary> |
1501 | /// Additional arguments used when the engine has begun installing packages. | 1415 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteBegin"/> |
1502 | /// </summary> | 1416 | /// </summary> |
1503 | [Serializable] | 1417 | [Serializable] |
1504 | public class ExecuteBeginEventArgs : CancellableHResultEventArgs | 1418 | public class ExecuteBeginEventArgs : CancellableHResultEventArgs |
1505 | { | 1419 | { |
1506 | /// <summary> | 1420 | /// <summary /> |
1507 | /// Creates a new instance of the <see cref="ExecuteBeginEventArgs"/> class. | ||
1508 | /// </summary> | ||
1509 | /// <param name="packageCount">The number of packages to act on.</param> | ||
1510 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1511 | public ExecuteBeginEventArgs(int packageCount, bool cancelRecommendation) | 1421 | public ExecuteBeginEventArgs(int packageCount, bool cancelRecommendation) |
1512 | : base(cancelRecommendation) | 1422 | : base(cancelRecommendation) |
1513 | { | 1423 | { |
@@ -1521,20 +1431,12 @@ namespace WixToolset.Mba.Core | |||
1521 | } | 1431 | } |
1522 | 1432 | ||
1523 | /// <summary> | 1433 | /// <summary> |
1524 | /// Additional arguments used when the engine has begun installing a specific package. | 1434 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecutePackageBegin"/> |
1525 | /// </summary> | 1435 | /// </summary> |
1526 | [Serializable] | 1436 | [Serializable] |
1527 | public class ExecutePackageBeginEventArgs : CancellableHResultEventArgs | 1437 | public class ExecutePackageBeginEventArgs : CancellableHResultEventArgs |
1528 | { | 1438 | { |
1529 | /// <summary> | 1439 | /// <summary /> |
1530 | /// Creates a new instance of the <see cref="ExecutePackageBeginEventArgs"/> class. | ||
1531 | /// </summary> | ||
1532 | /// <param name="packageId">The identity of the package to act on.</param> | ||
1533 | /// <param name="shouldExecute">Whether the package is being executed or rolled back.</param> | ||
1534 | /// <param name="action">The action about to be executed.</param> | ||
1535 | /// <param name="uiLevel">The internal UI level (if this is an MSI or MSP package).</param> | ||
1536 | /// <param name="disableExternalUiHandler">Whether Burn will set up an external UI handler (if this is an MSI or MSP package).</param> | ||
1537 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1538 | public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, ActionState action, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, bool cancelRecommendation) | 1440 | public ExecutePackageBeginEventArgs(string packageId, bool shouldExecute, ActionState action, INSTALLUILEVEL uiLevel, bool disableExternalUiHandler, bool cancelRecommendation) |
1539 | : base(cancelRecommendation) | 1441 | : base(cancelRecommendation) |
1540 | { | 1442 | { |
@@ -1572,17 +1474,12 @@ namespace WixToolset.Mba.Core | |||
1572 | } | 1474 | } |
1573 | 1475 | ||
1574 | /// <summary> | 1476 | /// <summary> |
1575 | /// Additional arguments used when the engine executes one or more patches targeting a product. | 1477 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecutePatchTarget"/> |
1576 | /// </summary> | 1478 | /// </summary> |
1577 | [Serializable] | 1479 | [Serializable] |
1578 | public class ExecutePatchTargetEventArgs : CancellableHResultEventArgs | 1480 | public class ExecutePatchTargetEventArgs : CancellableHResultEventArgs |
1579 | { | 1481 | { |
1580 | /// <summary> | 1482 | /// <summary /> |
1581 | /// Creates a new instance of the <see cref="ExecutePatchTargetEventArgs"/> class. | ||
1582 | /// </summary> | ||
1583 | /// <param name="packageId">The identity of the package to act on.</param> | ||
1584 | /// <param name="targetProductCode">The product code of the target of the patch.</param> | ||
1585 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1586 | public ExecutePatchTargetEventArgs(string packageId, string targetProductCode, bool cancelRecommendation) | 1483 | public ExecutePatchTargetEventArgs(string packageId, string targetProductCode, bool cancelRecommendation) |
1587 | : base(cancelRecommendation) | 1484 | : base(cancelRecommendation) |
1588 | { | 1485 | { |
@@ -1602,21 +1499,12 @@ namespace WixToolset.Mba.Core | |||
1602 | } | 1499 | } |
1603 | 1500 | ||
1604 | /// <summary> | 1501 | /// <summary> |
1605 | /// Additional arguments used when Windows Installer sends an installation message. | 1502 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteMsiMessage"/> |
1606 | /// </summary> | 1503 | /// </summary> |
1607 | [Serializable] | 1504 | [Serializable] |
1608 | public class ExecuteMsiMessageEventArgs : ResultEventArgs | 1505 | public class ExecuteMsiMessageEventArgs : ResultEventArgs |
1609 | { | 1506 | { |
1610 | /// <summary> | 1507 | /// <summary /> |
1611 | /// Creates a new instance of the <see cref="ExecuteMsiMessageEventArgs"/> class. | ||
1612 | /// </summary> | ||
1613 | /// <param name="packageId">The identity of the package that yielded this message.</param> | ||
1614 | /// <param name="messageType">The type of this message.</param> | ||
1615 | /// <param name="dwUIHint">Recommended display flags for this message.</param> | ||
1616 | /// <param name="message">The message.</param> | ||
1617 | /// <param name="data">The extended data for the message.</param> | ||
1618 | /// <param name="recommendation">Recommended result from engine.</param> | ||
1619 | /// <param name="result">The result to return to the engine.</param> | ||
1620 | public ExecuteMsiMessageEventArgs(string packageId, InstallMessage messageType, int dwUIHint, string message, string[] data, Result recommendation, Result result) | 1508 | public ExecuteMsiMessageEventArgs(string packageId, InstallMessage messageType, int dwUIHint, string message, string[] data, Result recommendation, Result result) |
1621 | : base(recommendation, result) | 1509 | : base(recommendation, result) |
1622 | { | 1510 | { |
@@ -1654,18 +1542,12 @@ namespace WixToolset.Mba.Core | |||
1654 | } | 1542 | } |
1655 | 1543 | ||
1656 | /// <summary> | 1544 | /// <summary> |
1657 | /// Additional arugments used for file in use installation messages. | 1545 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteFilesInUse"/> |
1658 | /// </summary> | 1546 | /// </summary> |
1659 | [Serializable] | 1547 | [Serializable] |
1660 | public class ExecuteFilesInUseEventArgs : ResultEventArgs | 1548 | public class ExecuteFilesInUseEventArgs : ResultEventArgs |
1661 | { | 1549 | { |
1662 | /// <summary> | 1550 | /// <summary /> |
1663 | /// Creates a new instance of the <see cref="ExecuteFilesInUseEventArgs"/> class. | ||
1664 | /// </summary> | ||
1665 | /// <param name="packageId">The identity of the package that yielded the files in use message.</param> | ||
1666 | /// <param name="files">The list of files in use.</param> | ||
1667 | /// <param name="recommendation">Recommended result from engine.</param> | ||
1668 | /// <param name="result">The result to return to the engine.</param> | ||
1669 | public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, Result result) | 1551 | public ExecuteFilesInUseEventArgs(string packageId, string[] files, Result recommendation, Result result) |
1670 | : base(recommendation, result) | 1552 | : base(recommendation, result) |
1671 | { | 1553 | { |
@@ -1685,19 +1567,13 @@ namespace WixToolset.Mba.Core | |||
1685 | } | 1567 | } |
1686 | 1568 | ||
1687 | /// <summary> | 1569 | /// <summary> |
1570 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/> | ||
1688 | /// Additional arguments used when the engine has completed installing a specific package. | 1571 | /// Additional arguments used when the engine has completed installing a specific package. |
1689 | /// </summary> | 1572 | /// </summary> |
1690 | [Serializable] | 1573 | [Serializable] |
1691 | public class ExecutePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION> | 1574 | public class ExecutePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION> |
1692 | { | 1575 | { |
1693 | /// <summary> | 1576 | /// <summary /> |
1694 | /// Creates a new instance of the <see cref="ExecutePackageCompleteEventArgs"/> class. | ||
1695 | /// </summary> | ||
1696 | /// <param name="packageId">The identity of the package that was acted on.</param> | ||
1697 | /// <param name="hrStatus">The return code of the operation.</param> | ||
1698 | /// <param name="restart">Whether a restart is required.</param> | ||
1699 | /// <param name="recommendation">Recommended action from engine.</param> | ||
1700 | /// <param name="action">The action to perform.</param> | ||
1701 | public ExecutePackageCompleteEventArgs(string packageId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action) | 1577 | public ExecutePackageCompleteEventArgs(string packageId, int hrStatus, ApplyRestart restart, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action) |
1702 | : base(hrStatus, recommendation, action) | 1578 | : base(hrStatus, recommendation, action) |
1703 | { | 1579 | { |
@@ -1733,18 +1609,12 @@ namespace WixToolset.Mba.Core | |||
1733 | } | 1609 | } |
1734 | 1610 | ||
1735 | /// <summary> | 1611 | /// <summary> |
1736 | /// Additional arguments used when the engine has completed installing the bundle. | 1612 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ApplyComplete"/> |
1737 | /// </summary> | 1613 | /// </summary> |
1738 | [Serializable] | 1614 | [Serializable] |
1739 | public class ApplyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_APPLYCOMPLETE_ACTION> | 1615 | public class ApplyCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_APPLYCOMPLETE_ACTION> |
1740 | { | 1616 | { |
1741 | /// <summary> | 1617 | /// <summary /> |
1742 | /// Creates a new instance of the <see cref="ApplyCompleteEventArgs"/> clas. | ||
1743 | /// </summary> | ||
1744 | /// <param name="hrStatus">The return code of the operation.</param> | ||
1745 | /// <param name="restart">Whether a restart is required.</param> | ||
1746 | /// <param name="recommendation">Recommended action from engine.</param> | ||
1747 | /// <param name="action">The action to perform.</param> | ||
1748 | public ApplyCompleteEventArgs(int hrStatus, ApplyRestart restart, BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_APPLYCOMPLETE_ACTION action) | 1618 | public ApplyCompleteEventArgs(int hrStatus, ApplyRestart restart, BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation, BOOTSTRAPPER_APPLYCOMPLETE_ACTION action) |
1749 | : base(hrStatus, recommendation, action) | 1619 | : base(hrStatus, recommendation, action) |
1750 | { | 1620 | { |
@@ -1819,18 +1689,12 @@ namespace WixToolset.Mba.Core | |||
1819 | } | 1689 | } |
1820 | 1690 | ||
1821 | /// <summary> | 1691 | /// <summary> |
1822 | /// Additional arguments used by the engine when it has begun caching a specific package. | 1692 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CachePackageBegin"/> |
1823 | /// </summary> | 1693 | /// </summary> |
1824 | [Serializable] | 1694 | [Serializable] |
1825 | public class CachePackageBeginEventArgs : CancellableHResultEventArgs | 1695 | public class CachePackageBeginEventArgs : CancellableHResultEventArgs |
1826 | { | 1696 | { |
1827 | /// <summary> | 1697 | /// <summary /> |
1828 | /// Creates a new instance of the <see cref="CachePackageBeginEventArgs"/> class. | ||
1829 | /// </summary> | ||
1830 | /// <param name="packageId">The identity of the package that is being cached.</param> | ||
1831 | /// <param name="cachePayloads">Number of payloads to be cached.</param> | ||
1832 | /// <param name="packageCacheSize">The size on disk required by the specific package.</param> | ||
1833 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1834 | public CachePackageBeginEventArgs(string packageId, int cachePayloads, long packageCacheSize, bool cancelRecommendation) | 1698 | public CachePackageBeginEventArgs(string packageId, int cachePayloads, long packageCacheSize, bool cancelRecommendation) |
1835 | : base(cancelRecommendation) | 1699 | : base(cancelRecommendation) |
1836 | { | 1700 | { |
@@ -1856,18 +1720,12 @@ namespace WixToolset.Mba.Core | |||
1856 | } | 1720 | } |
1857 | 1721 | ||
1858 | /// <summary> | 1722 | /// <summary> |
1859 | /// Additional arguments passed by the engine when it has completed caching a specific package. | 1723 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CachePackageComplete"/> |
1860 | /// </summary> | 1724 | /// </summary> |
1861 | [Serializable] | 1725 | [Serializable] |
1862 | public class CachePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION> | 1726 | public class CachePackageCompleteEventArgs : ActionEventArgs<BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION> |
1863 | { | 1727 | { |
1864 | /// <summary> | 1728 | /// <summary /> |
1865 | /// Creates a new instance of the <see cref="CachePackageCompleteEventArgs"/> class. | ||
1866 | /// </summary> | ||
1867 | /// <param name="packageId">The identity of the package that was cached.</param> | ||
1868 | /// <param name="hrStatus">The return code of the operation.</param> | ||
1869 | /// <param name="recommendation">Recommended action from engine.</param> | ||
1870 | /// <param name="action">The action to perform.</param> | ||
1871 | public CachePackageCompleteEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action) | 1729 | public CachePackageCompleteEventArgs(string packageId, int hrStatus, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation, BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action) |
1872 | : base(hrStatus, recommendation, action) | 1730 | : base(hrStatus, recommendation, action) |
1873 | { | 1731 | { |
@@ -1881,18 +1739,12 @@ namespace WixToolset.Mba.Core | |||
1881 | } | 1739 | } |
1882 | 1740 | ||
1883 | /// <summary> | 1741 | /// <summary> |
1884 | /// Additional arguments passed by the engine while executing on payload. | 1742 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteProgress"/> |
1885 | /// </summary> | 1743 | /// </summary> |
1886 | [Serializable] | 1744 | [Serializable] |
1887 | public class ExecuteProgressEventArgs : CancellableHResultEventArgs | 1745 | public class ExecuteProgressEventArgs : CancellableHResultEventArgs |
1888 | { | 1746 | { |
1889 | /// <summary> | 1747 | /// <summary /> |
1890 | /// Creates a new instance of the <see cref="ExecuteProgressEventArgs"/> class. | ||
1891 | /// </summary> | ||
1892 | /// <param name="packageId">The identifier of the package being executed.</param> | ||
1893 | /// <param name="progressPercentage">The percentage from 0 to 100 of the execution progress for a single payload.</param> | ||
1894 | /// <param name="overallPercentage">The percentage from 0 to 100 of the execution progress for all payload.</param> | ||
1895 | /// <param name="cancelRecommendation">The recommendation from the engine.</param> | ||
1896 | public ExecuteProgressEventArgs(string packageId, int progressPercentage, int overallPercentage, bool cancelRecommendation) | 1748 | public ExecuteProgressEventArgs(string packageId, int progressPercentage, int overallPercentage, bool cancelRecommendation) |
1897 | : base(cancelRecommendation) | 1749 | : base(cancelRecommendation) |
1898 | { | 1750 | { |
@@ -2187,4 +2039,130 @@ namespace WixToolset.Mba.Core | |||
2187 | { | 2039 | { |
2188 | } | 2040 | } |
2189 | } | 2041 | } |
2042 | |||
2043 | /// <summary> | ||
2044 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyBegin"/>. | ||
2045 | /// </summary> | ||
2046 | [Serializable] | ||
2047 | public class CacheContainerOrPayloadVerifyBeginEventArgs : CancellableHResultEventArgs | ||
2048 | { | ||
2049 | /// <summary /> | ||
2050 | public CacheContainerOrPayloadVerifyBeginEventArgs(string packageOrContainerId, string payloadId, bool cancelRecommendation) | ||
2051 | : base(cancelRecommendation) | ||
2052 | { | ||
2053 | this.PackageOrContainerId = packageOrContainerId; | ||
2054 | this.PayloadId = payloadId; | ||
2055 | } | ||
2056 | |||
2057 | /// <summary> | ||
2058 | /// Gets the identifier of the container or package. | ||
2059 | /// </summary> | ||
2060 | public string PackageOrContainerId { get; private set; } | ||
2061 | |||
2062 | /// <summary> | ||
2063 | /// Gets the identifier of the payload. | ||
2064 | /// </summary> | ||
2065 | public string PayloadId { get; private set; } | ||
2066 | } | ||
2067 | |||
2068 | /// <summary> | ||
2069 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyProgress"/>. | ||
2070 | /// </summary> | ||
2071 | [Serializable] | ||
2072 | public class CacheContainerOrPayloadVerifyProgressEventArgs : CacheProgressBaseEventArgs | ||
2073 | { | ||
2074 | /// <summary /> | ||
2075 | public CacheContainerOrPayloadVerifyProgressEventArgs(string packageOrContainerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) | ||
2076 | : base(packageOrContainerId, payloadId, progress, total, overallPercentage, cancelRecommendation) | ||
2077 | { | ||
2078 | } | ||
2079 | } | ||
2080 | |||
2081 | /// <summary> | ||
2082 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyComplete"/> | ||
2083 | /// </summary> | ||
2084 | [Serializable] | ||
2085 | public class CacheContainerOrPayloadVerifyCompleteEventArgs : StatusEventArgs | ||
2086 | { | ||
2087 | /// <summary /> | ||
2088 | public CacheContainerOrPayloadVerifyCompleteEventArgs(string packageOrContainerId, string payloadId, int hrStatus) | ||
2089 | : base(hrStatus) | ||
2090 | { | ||
2091 | this.PackageOrContainerId = packageOrContainerId; | ||
2092 | this.PayloadId = payloadId; | ||
2093 | } | ||
2094 | |||
2095 | /// <summary> | ||
2096 | /// Gets the identifier of the container or package. | ||
2097 | /// </summary> | ||
2098 | public string PackageOrContainerId { get; private set; } | ||
2099 | |||
2100 | /// <summary> | ||
2101 | /// Gets the identifier of the payload. | ||
2102 | /// </summary> | ||
2103 | public string PayloadId { get; private set; } | ||
2104 | } | ||
2105 | |||
2106 | /// <summary> | ||
2107 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CachePayloadExtractBegin"/>. | ||
2108 | /// </summary> | ||
2109 | [Serializable] | ||
2110 | public class CachePayloadExtractBeginEventArgs : CancellableHResultEventArgs | ||
2111 | { | ||
2112 | /// <summary /> | ||
2113 | public CachePayloadExtractBeginEventArgs(string containerId, string payloadId, bool cancelRecommendation) | ||
2114 | : base(cancelRecommendation) | ||
2115 | { | ||
2116 | this.ContainerId = containerId; | ||
2117 | this.PayloadId = payloadId; | ||
2118 | } | ||
2119 | |||
2120 | /// <summary> | ||
2121 | /// Gets the identifier of the container. | ||
2122 | /// </summary> | ||
2123 | public string ContainerId { get; private set; } | ||
2124 | |||
2125 | /// <summary> | ||
2126 | /// Gets the identifier of the payload. | ||
2127 | /// </summary> | ||
2128 | public string PayloadId { get; private set; } | ||
2129 | } | ||
2130 | |||
2131 | /// <summary> | ||
2132 | /// EventArgs for <see cref="IDefaultBootstrapperApplication.CachePayloadExtractProgress"/>. | ||
2133 | /// </summary> | ||
2134 | [Serializable] | ||
2135 | public class CachePayloadExtractProgressEventArgs : CacheProgressBaseEventArgs | ||
2136 | { | ||
2137 | /// <summary /> | ||
2138 | public CachePayloadExtractProgressEventArgs(string containerId, string payloadId, long progress, long total, int overallPercentage, bool cancelRecommendation) | ||
2139 | : base(containerId, payloadId, progress, total, overallPercentage, cancelRecommendation) | ||
2140 | { | ||
2141 | } | ||
2142 | } | ||
2143 | |||
2144 | /// <summary> | ||
2145 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.CachePayloadExtractComplete"/> | ||
2146 | /// </summary> | ||
2147 | [Serializable] | ||
2148 | public class CachePayloadExtractCompleteEventArgs : StatusEventArgs | ||
2149 | { | ||
2150 | /// <summary /> | ||
2151 | public CachePayloadExtractCompleteEventArgs(string containerId, string payloadId, int hrStatus) | ||
2152 | : base(hrStatus) | ||
2153 | { | ||
2154 | this.ContainerId = containerId; | ||
2155 | this.PayloadId = payloadId; | ||
2156 | } | ||
2157 | |||
2158 | /// <summary> | ||
2159 | /// Gets the identifier of the container. | ||
2160 | /// </summary> | ||
2161 | public string ContainerId { get; private set; } | ||
2162 | |||
2163 | /// <summary> | ||
2164 | /// Gets the identifier of the payload. | ||
2165 | /// </summary> | ||
2166 | public string PayloadId { get; private set; } | ||
2167 | } | ||
2190 | } | 2168 | } |
diff --git a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs index 88c65674..2195fd4b 100644 --- a/src/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/IBootstrapperApplication.cs | |||
@@ -3,7 +3,6 @@ | |||
3 | namespace WixToolset.Mba.Core | 3 | namespace WixToolset.Mba.Core |
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.CodeDom.Compiler; | ||
7 | using System.Runtime.InteropServices; | 6 | using System.Runtime.InteropServices; |
8 | 7 | ||
9 | /// <summary> | 8 | /// <summary> |
@@ -15,6 +14,29 @@ namespace WixToolset.Mba.Core | |||
15 | public interface IBootstrapperApplication | 14 | public interface IBootstrapperApplication |
16 | { | 15 | { |
17 | /// <summary> | 16 | /// <summary> |
17 | /// Low level method that is called directly from the engine. | ||
18 | /// </summary> | ||
19 | [PreserveSig] | ||
20 | [return: MarshalAs(UnmanagedType.I4)] | ||
21 | int BAProc( | ||
22 | int message, | ||
23 | IntPtr pvArgs, | ||
24 | IntPtr pvResults, | ||
25 | IntPtr pvContext | ||
26 | ); | ||
27 | |||
28 | /// <summary> | ||
29 | /// Low level method that is called directly from the engine. | ||
30 | /// </summary> | ||
31 | void BAProcFallback( | ||
32 | int message, | ||
33 | IntPtr pvArgs, | ||
34 | IntPtr pvResults, | ||
35 | ref int phr, | ||
36 | IntPtr pvContext | ||
37 | ); | ||
38 | |||
39 | /// <summary> | ||
18 | /// See <see cref="IDefaultBootstrapperApplication.Startup"/>. | 40 | /// See <see cref="IDefaultBootstrapperApplication.Startup"/>. |
19 | /// </summary> | 41 | /// </summary> |
20 | [PreserveSig] | 42 | [PreserveSig] |
@@ -600,31 +622,36 @@ namespace WixToolset.Mba.Core | |||
600 | /// <summary> | 622 | /// <summary> |
601 | /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyBegin"/>. | 623 | /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyBegin"/>. |
602 | /// </summary> | 624 | /// </summary> |
603 | /// <param name="wzPackageId"></param> | ||
604 | /// <param name="wzPayloadId"></param> | ||
605 | /// <param name="fCancel"></param> | ||
606 | /// <returns></returns> | ||
607 | [PreserveSig] | 625 | [PreserveSig] |
608 | [return: MarshalAs(UnmanagedType.I4)] | 626 | [return: MarshalAs(UnmanagedType.I4)] |
609 | int OnCacheVerifyBegin( | 627 | int OnCacheVerifyBegin( |
610 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | 628 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, |
611 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | 629 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, |
612 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel | 630 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel |
613 | ); | 631 | ); |
614 | 632 | ||
615 | /// <summary> | 633 | /// <summary> |
634 | /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyProgress"/>. | ||
635 | /// </summary> | ||
636 | [PreserveSig] | ||
637 | [return: MarshalAs(UnmanagedType.I4)] | ||
638 | int OnCacheVerifyProgress( | ||
639 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, | ||
640 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | ||
641 | [MarshalAs(UnmanagedType.U8)] long dw64Progress, | ||
642 | [MarshalAs(UnmanagedType.U8)] long dw64Total, | ||
643 | [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage, | ||
644 | [MarshalAs(UnmanagedType.I4)] CacheVerifyStep verifyStep, | ||
645 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel | ||
646 | ); | ||
647 | |||
648 | /// <summary> | ||
616 | /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyComplete"/>. | 649 | /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyComplete"/>. |
617 | /// </summary> | 650 | /// </summary> |
618 | /// <param name="wzPackageId"></param> | ||
619 | /// <param name="wzPayloadId"></param> | ||
620 | /// <param name="hrStatus"></param> | ||
621 | /// <param name="recommendation"></param> | ||
622 | /// <param name="action"></param> | ||
623 | /// <returns></returns> | ||
624 | [PreserveSig] | 651 | [PreserveSig] |
625 | [return: MarshalAs(UnmanagedType.I4)] | 652 | [return: MarshalAs(UnmanagedType.I4)] |
626 | int OnCacheVerifyComplete( | 653 | int OnCacheVerifyComplete( |
627 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | 654 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, |
628 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | 655 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, |
629 | int hrStatus, | 656 | int hrStatus, |
630 | BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, | 657 | BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation, |
@@ -1006,36 +1033,75 @@ namespace WixToolset.Mba.Core | |||
1006 | ); | 1033 | ); |
1007 | 1034 | ||
1008 | /// <summary> | 1035 | /// <summary> |
1009 | /// Low level method that is called directly from the engine. | 1036 | /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyBegin"/>. |
1010 | /// </summary> | 1037 | /// </summary> |
1011 | /// <param name="message"></param> | ||
1012 | /// <param name="pvArgs"></param> | ||
1013 | /// <param name="pvResults"></param> | ||
1014 | /// <param name="pvContext"></param> | ||
1015 | /// <returns></returns> | ||
1016 | [PreserveSig] | 1038 | [PreserveSig] |
1017 | [return: MarshalAs(UnmanagedType.I4)] | 1039 | [return: MarshalAs(UnmanagedType.I4)] |
1018 | int BAProc( | 1040 | int OnCacheContainerOrPayloadVerifyBegin( |
1019 | int message, | 1041 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, |
1020 | IntPtr pvArgs, | 1042 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, |
1021 | IntPtr pvResults, | 1043 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel |
1022 | IntPtr pvContext | ||
1023 | ); | 1044 | ); |
1024 | 1045 | ||
1025 | /// <summary> | 1046 | /// <summary> |
1026 | /// Low level method that is called directly from the engine. | 1047 | /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyProgress"/>. |
1027 | /// </summary> | 1048 | /// </summary> |
1028 | /// <param name="message"></param> | 1049 | [PreserveSig] |
1029 | /// <param name="pvArgs"></param> | 1050 | [return: MarshalAs(UnmanagedType.I4)] |
1030 | /// <param name="pvResults"></param> | 1051 | int OnCacheContainerOrPayloadVerifyProgress( |
1031 | /// <param name="phr"></param> | 1052 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, |
1032 | /// <param name="pvContext"></param> | 1053 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, |
1033 | void BAProcFallback( | 1054 | [MarshalAs(UnmanagedType.U8)] long dw64Progress, |
1034 | int message, | 1055 | [MarshalAs(UnmanagedType.U8)] long dw64Total, |
1035 | IntPtr pvArgs, | 1056 | [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage, |
1036 | IntPtr pvResults, | 1057 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel |
1037 | ref int phr, | 1058 | ); |
1038 | IntPtr pvContext | 1059 | |
1060 | /// <summary> | ||
1061 | /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyComplete"/>. | ||
1062 | /// </summary> | ||
1063 | [PreserveSig] | ||
1064 | [return: MarshalAs(UnmanagedType.I4)] | ||
1065 | int OnCacheContainerOrPayloadVerifyComplete( | ||
1066 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | ||
1067 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | ||
1068 | int hrStatus | ||
1069 | ); | ||
1070 | |||
1071 | /// <summary> | ||
1072 | /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractBegin"/>. | ||
1073 | /// </summary> | ||
1074 | [PreserveSig] | ||
1075 | [return: MarshalAs(UnmanagedType.I4)] | ||
1076 | int OnCachePayloadExtractBegin( | ||
1077 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | ||
1078 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | ||
1079 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel | ||
1080 | ); | ||
1081 | |||
1082 | /// <summary> | ||
1083 | /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractProgress"/>. | ||
1084 | /// </summary> | ||
1085 | [PreserveSig] | ||
1086 | [return: MarshalAs(UnmanagedType.I4)] | ||
1087 | int OnCachePayloadExtractProgress( | ||
1088 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId, | ||
1089 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | ||
1090 | [MarshalAs(UnmanagedType.U8)] long dw64Progress, | ||
1091 | [MarshalAs(UnmanagedType.U8)] long dw64Total, | ||
1092 | [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage, | ||
1093 | [MarshalAs(UnmanagedType.Bool)] ref bool fCancel | ||
1094 | ); | ||
1095 | |||
1096 | /// <summary> | ||
1097 | /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractComplete"/>. | ||
1098 | /// </summary> | ||
1099 | [PreserveSig] | ||
1100 | [return: MarshalAs(UnmanagedType.I4)] | ||
1101 | int OnCachePayloadExtractComplete( | ||
1102 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | ||
1103 | [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId, | ||
1104 | int hrStatus | ||
1039 | ); | 1105 | ); |
1040 | } | 1106 | } |
1041 | 1107 | ||
@@ -1449,6 +1515,26 @@ namespace WixToolset.Mba.Core | |||
1449 | } | 1515 | } |
1450 | 1516 | ||
1451 | /// <summary> | 1517 | /// <summary> |
1518 | /// The current step when verifying a container or payload. | ||
1519 | /// </summary> | ||
1520 | public enum CacheVerifyStep | ||
1521 | { | ||
1522 | /// <summary> | ||
1523 | /// Copying or moving the file from the working path to the unverified path. | ||
1524 | /// Not used during Layout. | ||
1525 | /// </summary> | ||
1526 | Stage, | ||
1527 | /// <summary> | ||
1528 | /// Hashing the file. | ||
1529 | /// </summary> | ||
1530 | Hash, | ||
1531 | /// <summary> | ||
1532 | /// Copying or moving the file to the final location. | ||
1533 | /// </summary> | ||
1534 | Finalize, | ||
1535 | } | ||
1536 | |||
1537 | /// <summary> | ||
1452 | /// The restart state after a package or all packages were applied. | 1538 | /// The restart state after a package or all packages were applied. |
1453 | /// </summary> | 1539 | /// </summary> |
1454 | public enum ApplyRestart | 1540 | public enum ApplyRestart |
@@ -1566,7 +1652,7 @@ namespace WixToolset.Mba.Core | |||
1566 | None, | 1652 | None, |
1567 | 1653 | ||
1568 | /// <summary> | 1654 | /// <summary> |
1569 | /// Instructs the engine to try the acquisition of the package again. | 1655 | /// Instructs the engine to try the acquisition of the payload again. |
1570 | /// Ignored if hrStatus is a success. | 1656 | /// Ignored if hrStatus is a success. |
1571 | /// </summary> | 1657 | /// </summary> |
1572 | Retry, | 1658 | Retry, |
diff --git a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs index 03f94d37..a295f6c0 100644 --- a/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs +++ b/src/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs | |||
@@ -44,7 +44,7 @@ namespace WixToolset.Mba.Core | |||
44 | event EventHandler<CacheAcquireCompleteEventArgs> CacheAcquireComplete; | 44 | event EventHandler<CacheAcquireCompleteEventArgs> CacheAcquireComplete; |
45 | 45 | ||
46 | /// <summary> | 46 | /// <summary> |
47 | /// Fired when the engine has progress acquiring the installation sources. | 47 | /// Fired when the engine has progress acquiring the payload or container. |
48 | /// </summary> | 48 | /// </summary> |
49 | event EventHandler<CacheAcquireProgressEventArgs> CacheAcquireProgress; | 49 | event EventHandler<CacheAcquireProgressEventArgs> CacheAcquireProgress; |
50 | 50 | ||
@@ -64,6 +64,21 @@ namespace WixToolset.Mba.Core | |||
64 | event EventHandler<CacheCompleteEventArgs> CacheComplete; | 64 | event EventHandler<CacheCompleteEventArgs> CacheComplete; |
65 | 65 | ||
66 | /// <summary> | 66 | /// <summary> |
67 | /// Fired when the engine begins the verification of the payload or container that was already in the package cache. | ||
68 | /// </summary> | ||
69 | event EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> CacheContainerOrPayloadVerifyBegin; | ||
70 | |||
71 | /// <summary> | ||
72 | /// Fired when the engine has completed the verification of the payload or container that was already in the package cache. | ||
73 | /// </summary> | ||
74 | event EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> CacheContainerOrPayloadVerifyComplete; | ||
75 | |||
76 | /// <summary> | ||
77 | /// Fired when the engine has progress verifying the payload or container that was already in the package cache. | ||
78 | /// </summary> | ||
79 | event EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> CacheContainerOrPayloadVerifyProgress; | ||
80 | |||
81 | /// <summary> | ||
67 | /// Fired when the engine has begun caching a specific package. | 82 | /// Fired when the engine has begun caching a specific package. |
68 | /// </summary> | 83 | /// </summary> |
69 | event EventHandler<CachePackageBeginEventArgs> CachePackageBegin; | 84 | event EventHandler<CachePackageBeginEventArgs> CachePackageBegin; |
@@ -74,16 +89,36 @@ namespace WixToolset.Mba.Core | |||
74 | event EventHandler<CachePackageCompleteEventArgs> CachePackageComplete; | 89 | event EventHandler<CachePackageCompleteEventArgs> CachePackageComplete; |
75 | 90 | ||
76 | /// <summary> | 91 | /// <summary> |
77 | /// Fired when the engine begins the verification of the acquired installation sources. | 92 | /// Fired when the engine begins the extraction of the payload from the container. |
93 | /// </summary> | ||
94 | event EventHandler<CachePayloadExtractBeginEventArgs> CachePayloadExtractBegin; | ||
95 | |||
96 | /// <summary> | ||
97 | /// Fired when the engine has completed the extraction of the payload from the container. | ||
98 | /// </summary> | ||
99 | event EventHandler<CachePayloadExtractCompleteEventArgs> CachePayloadExtractComplete; | ||
100 | |||
101 | /// <summary> | ||
102 | /// Fired when the engine has progress extracting the payload from the container. | ||
103 | /// </summary> | ||
104 | event EventHandler<CachePayloadExtractProgressEventArgs> CachePayloadExtractProgress; | ||
105 | |||
106 | /// <summary> | ||
107 | /// Fired when the engine begins the verification of the acquired payload or container. | ||
78 | /// </summary> | 108 | /// </summary> |
79 | event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin; | 109 | event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin; |
80 | 110 | ||
81 | /// <summary> | 111 | /// <summary> |
82 | /// Fired when the engine complete the verification of the acquired installation sources. | 112 | /// Fired when the engine has completed the verification of the acquired payload or container. |
83 | /// </summary> | 113 | /// </summary> |
84 | event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete; | 114 | event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete; |
85 | 115 | ||
86 | /// <summary> | 116 | /// <summary> |
117 | /// Fired when the engine has progress verifying the payload or container. | ||
118 | /// </summary> | ||
119 | event EventHandler<CacheVerifyProgressEventArgs> CacheVerifyProgress; | ||
120 | |||
121 | /// <summary> | ||
87 | /// Fired when the engine is about to commit an MSI transaction. | 122 | /// Fired when the engine is about to commit an MSI transaction. |
88 | /// </summary> | 123 | /// </summary> |
89 | event EventHandler<CommitMsiTransactionBeginEventArgs> CommitMsiTransactionBegin; | 124 | event EventHandler<CommitMsiTransactionBeginEventArgs> CommitMsiTransactionBegin; |
@@ -179,7 +214,7 @@ namespace WixToolset.Mba.Core | |||
179 | event EventHandler<ExecuteCompleteEventArgs> ExecuteComplete; | 214 | event EventHandler<ExecuteCompleteEventArgs> ExecuteComplete; |
180 | 215 | ||
181 | /// <summary> | 216 | /// <summary> |
182 | /// Fired when Windows Installer sends a files in use installation message. | 217 | /// Fired when a package sends a files in use installation message. |
183 | /// </summary> | 218 | /// </summary> |
184 | event EventHandler<ExecuteFilesInUseEventArgs> ExecuteFilesInUse; | 219 | event EventHandler<ExecuteFilesInUseEventArgs> ExecuteFilesInUse; |
185 | 220 | ||
@@ -204,7 +239,7 @@ namespace WixToolset.Mba.Core | |||
204 | event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget; | 239 | event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget; |
205 | 240 | ||
206 | /// <summary> | 241 | /// <summary> |
207 | /// Fired by the engine while executing on payload. | 242 | /// Fired by the engine while executing a package. |
208 | /// </summary> | 243 | /// </summary> |
209 | event EventHandler<ExecuteProgressEventArgs> ExecuteProgress; | 244 | event EventHandler<ExecuteProgressEventArgs> ExecuteProgress; |
210 | 245 | ||
diff --git a/src/balutil/inc/BAFunctions.h b/src/balutil/inc/BAFunctions.h index 07f7a750..2970478f 100644 --- a/src/balutil/inc/BAFunctions.h +++ b/src/balutil/inc/BAFunctions.h | |||
@@ -74,6 +74,13 @@ enum BA_FUNCTIONS_MESSAGE | |||
74 | BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE, | 74 | BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE, |
75 | BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE, | 75 | BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE, |
76 | BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE, | 76 | BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE, |
77 | BA_FUNCTIONS_MESSAGE_ONCACHEVERIFYPROGRESS = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS, | ||
78 | BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN, | ||
79 | BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE, | ||
80 | BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS, | ||
81 | BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, | ||
82 | BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, | ||
83 | BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, | ||
77 | 84 | ||
78 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, | 85 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, |
79 | BA_FUNCTIONS_MESSAGE_WNDPROC, | 86 | BA_FUNCTIONS_MESSAGE_WNDPROC, |
diff --git a/src/balutil/inc/BalBaseBAFunctions.h b/src/balutil/inc/BalBaseBAFunctions.h index ca727f49..054bfb26 100644 --- a/src/balutil/inc/BalBaseBAFunctions.h +++ b/src/balutil/inc/BalBaseBAFunctions.h | |||
@@ -69,6 +69,26 @@ public: // IUnknown | |||
69 | } | 69 | } |
70 | 70 | ||
71 | public: // IBootstrapperApplication | 71 | public: // IBootstrapperApplication |
72 | virtual STDMETHODIMP_(HRESULT) BAProc( | ||
73 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
74 | __in const LPVOID /*pvArgs*/, | ||
75 | __inout LPVOID /*pvResults*/, | ||
76 | __in_opt LPVOID /*pvContext*/ | ||
77 | ) | ||
78 | { | ||
79 | return E_NOTIMPL; | ||
80 | } | ||
81 | |||
82 | virtual STDMETHODIMP_(void) BAProcFallback( | ||
83 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
84 | __in const LPVOID /*pvArgs*/, | ||
85 | __inout LPVOID /*pvResults*/, | ||
86 | __inout HRESULT* /*phr*/, | ||
87 | __in_opt LPVOID /*pvContext*/ | ||
88 | ) | ||
89 | { | ||
90 | } | ||
91 | |||
72 | virtual STDMETHODIMP OnStartup() | 92 | virtual STDMETHODIMP OnStartup() |
73 | { | 93 | { |
74 | return S_OK; | 94 | return S_OK; |
@@ -439,7 +459,7 @@ public: // IBootstrapperApplication | |||
439 | } | 459 | } |
440 | 460 | ||
441 | virtual STDMETHODIMP OnCacheVerifyBegin( | 461 | virtual STDMETHODIMP OnCacheVerifyBegin( |
442 | __in_z LPCWSTR /*wzPackageId*/, | 462 | __in_z LPCWSTR /*wzPackageOrContainerId*/, |
443 | __in_z LPCWSTR /*wzPayloadId*/, | 463 | __in_z LPCWSTR /*wzPayloadId*/, |
444 | __inout BOOL* /*pfCancel*/ | 464 | __inout BOOL* /*pfCancel*/ |
445 | ) | 465 | ) |
@@ -447,8 +467,21 @@ public: // IBootstrapperApplication | |||
447 | return S_OK; | 467 | return S_OK; |
448 | } | 468 | } |
449 | 469 | ||
470 | virtual STDMETHODIMP OnCacheVerifyProgress( | ||
471 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
472 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
473 | __in DWORD64 /*dw64Progress*/, | ||
474 | __in DWORD64 /*dw64Total*/, | ||
475 | __in DWORD /*dwOverallPercentage*/, | ||
476 | __in BOOTSTRAPPER_CACHE_VERIFY_STEP /*verifyStep*/, | ||
477 | __inout BOOL* /*pfCancel*/ | ||
478 | ) | ||
479 | { | ||
480 | return S_OK; | ||
481 | } | ||
482 | |||
450 | virtual STDMETHODIMP OnCacheVerifyComplete( | 483 | virtual STDMETHODIMP OnCacheVerifyComplete( |
451 | __in_z LPCWSTR /*wzPackageId*/, | 484 | __in_z LPCWSTR /*wzPackageOrContainerId*/, |
452 | __in_z LPCWSTR /*wzPayloadId*/, | 485 | __in_z LPCWSTR /*wzPayloadId*/, |
453 | __in HRESULT /*hrStatus*/, | 486 | __in HRESULT /*hrStatus*/, |
454 | __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, | 487 | __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, |
@@ -684,24 +717,64 @@ public: // IBootstrapperApplication | |||
684 | return S_OK; | 717 | return S_OK; |
685 | } | 718 | } |
686 | 719 | ||
687 | virtual STDMETHODIMP_(HRESULT) BAProc( | 720 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyBegin( |
688 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | 721 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, |
689 | __in const LPVOID /*pvArgs*/, | 722 | __in_z_opt LPCWSTR /*wzPayloadId*/, |
690 | __inout LPVOID /*pvResults*/, | 723 | __inout BOOL* /*pfCancel*/ |
691 | __in_opt LPVOID /*pvContext*/ | ||
692 | ) | 724 | ) |
693 | { | 725 | { |
694 | return E_NOTIMPL; | 726 | return S_OK; |
695 | } | 727 | } |
696 | 728 | ||
697 | virtual STDMETHODIMP_(void) BAProcFallback( | 729 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress( |
698 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | 730 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, |
699 | __in const LPVOID /*pvArgs*/, | 731 | __in_z_opt LPCWSTR /*wzPayloadId*/, |
700 | __inout LPVOID /*pvResults*/, | 732 | __in DWORD64 /*dw64Progress*/, |
701 | __inout HRESULT* /*phr*/, | 733 | __in DWORD64 /*dw64Total*/, |
702 | __in_opt LPVOID /*pvContext*/ | 734 | __in DWORD /*dwOverallPercentage*/, |
735 | __inout BOOL* /*pfCancel*/ | ||
736 | ) | ||
737 | { | ||
738 | return S_OK; | ||
739 | } | ||
740 | |||
741 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete( | ||
742 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
743 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
744 | __in HRESULT /*hrStatus*/ | ||
745 | ) | ||
746 | { | ||
747 | return S_OK; | ||
748 | } | ||
749 | |||
750 | virtual STDMETHODIMP OnCachePayloadExtractBegin( | ||
751 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
752 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
753 | __inout BOOL* /*pfCancel*/ | ||
703 | ) | 754 | ) |
704 | { | 755 | { |
756 | return S_OK; | ||
757 | } | ||
758 | |||
759 | virtual STDMETHODIMP OnCachePayloadExtractProgress( | ||
760 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
761 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
762 | __in DWORD64 /*dw64Progress*/, | ||
763 | __in DWORD64 /*dw64Total*/, | ||
764 | __in DWORD /*dwOverallPercentage*/, | ||
765 | __inout BOOL* /*pfCancel*/ | ||
766 | ) | ||
767 | { | ||
768 | return S_OK; | ||
769 | } | ||
770 | |||
771 | virtual STDMETHODIMP OnCachePayloadExtractComplete( | ||
772 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
773 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
774 | __in HRESULT /*hrStatus*/ | ||
775 | ) | ||
776 | { | ||
777 | return S_OK; | ||
705 | } | 778 | } |
706 | 779 | ||
707 | public: // IBAFunctions | 780 | public: // IBAFunctions |
diff --git a/src/balutil/inc/BalBaseBootstrapperApplication.h b/src/balutil/inc/BalBaseBootstrapperApplication.h index 3d3e4ffa..812025eb 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/balutil/inc/BalBaseBootstrapperApplication.h | |||
@@ -61,6 +61,26 @@ public: // IUnknown | |||
61 | } | 61 | } |
62 | 62 | ||
63 | public: // IBootstrapperApplication | 63 | public: // IBootstrapperApplication |
64 | virtual STDMETHODIMP_(HRESULT) BAProc( | ||
65 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
66 | __in const LPVOID /*pvArgs*/, | ||
67 | __inout LPVOID /*pvResults*/, | ||
68 | __in_opt LPVOID /*pvContext*/ | ||
69 | ) | ||
70 | { | ||
71 | return E_NOTIMPL; | ||
72 | } | ||
73 | |||
74 | virtual STDMETHODIMP_(void) BAProcFallback( | ||
75 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
76 | __in const LPVOID /*pvArgs*/, | ||
77 | __inout LPVOID /*pvResults*/, | ||
78 | __inout HRESULT* /*phr*/, | ||
79 | __in_opt LPVOID /*pvContext*/ | ||
80 | ) | ||
81 | { | ||
82 | } | ||
83 | |||
64 | virtual STDMETHODIMP OnStartup() | 84 | virtual STDMETHODIMP OnStartup() |
65 | { | 85 | { |
66 | return S_OK; | 86 | return S_OK; |
@@ -540,7 +560,7 @@ public: // IBootstrapperApplication | |||
540 | } | 560 | } |
541 | 561 | ||
542 | virtual STDMETHODIMP OnCacheVerifyBegin( | 562 | virtual STDMETHODIMP OnCacheVerifyBegin( |
543 | __in_z LPCWSTR /*wzPackageId*/, | 563 | __in_z LPCWSTR /*wzPackageOrContainerId*/, |
544 | __in_z LPCWSTR /*wzPayloadId*/, | 564 | __in_z LPCWSTR /*wzPayloadId*/, |
545 | __inout BOOL* pfCancel | 565 | __inout BOOL* pfCancel |
546 | ) | 566 | ) |
@@ -549,8 +569,22 @@ public: // IBootstrapperApplication | |||
549 | return S_OK; | 569 | return S_OK; |
550 | } | 570 | } |
551 | 571 | ||
572 | virtual STDMETHODIMP OnCacheVerifyProgress( | ||
573 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
574 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
575 | __in DWORD64 /*dw64Progress*/, | ||
576 | __in DWORD64 /*dw64Total*/, | ||
577 | __in DWORD /*dwOverallPercentage*/, | ||
578 | __in BOOTSTRAPPER_CACHE_VERIFY_STEP /*verifyStep*/, | ||
579 | __inout BOOL* pfCancel | ||
580 | ) | ||
581 | { | ||
582 | *pfCancel |= CheckCanceled(); | ||
583 | return S_OK; | ||
584 | } | ||
585 | |||
552 | virtual STDMETHODIMP OnCacheVerifyComplete( | 586 | virtual STDMETHODIMP OnCacheVerifyComplete( |
553 | __in_z LPCWSTR /*wzPackageId*/, | 587 | __in_z LPCWSTR /*wzPackageOrContainerId*/, |
554 | __in_z LPCWSTR /*wzPayloadId*/, | 588 | __in_z LPCWSTR /*wzPayloadId*/, |
555 | __in HRESULT /*hrStatus*/, | 589 | __in HRESULT /*hrStatus*/, |
556 | __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, | 590 | __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, |
@@ -870,24 +904,68 @@ public: // IBootstrapperApplication | |||
870 | return S_OK; | 904 | return S_OK; |
871 | } | 905 | } |
872 | 906 | ||
873 | virtual STDMETHODIMP_(HRESULT) BAProc( | 907 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyBegin( |
874 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | 908 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, |
875 | __in const LPVOID /*pvArgs*/, | 909 | __in_z_opt LPCWSTR /*wzPayloadId*/, |
876 | __inout LPVOID /*pvResults*/, | 910 | __inout BOOL* pfCancel |
877 | __in_opt LPVOID /*pvContext*/ | ||
878 | ) | 911 | ) |
879 | { | 912 | { |
880 | return E_NOTIMPL; | 913 | *pfCancel |= CheckCanceled(); |
914 | return S_OK; | ||
881 | } | 915 | } |
882 | 916 | ||
883 | virtual STDMETHODIMP_(void) BAProcFallback( | 917 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress( |
884 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | 918 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, |
885 | __in const LPVOID /*pvArgs*/, | 919 | __in_z_opt LPCWSTR /*wzPayloadId*/, |
886 | __inout LPVOID /*pvResults*/, | 920 | __in DWORD64 /*dw64Progress*/, |
887 | __inout HRESULT* /*phr*/, | 921 | __in DWORD64 /*dw64Total*/, |
888 | __in_opt LPVOID /*pvContext*/ | 922 | __in DWORD /*dwOverallPercentage*/, |
923 | __inout BOOL* pfCancel | ||
889 | ) | 924 | ) |
890 | { | 925 | { |
926 | *pfCancel |= CheckCanceled(); | ||
927 | return S_OK; | ||
928 | } | ||
929 | |||
930 | virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete( | ||
931 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
932 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
933 | __in HRESULT /*hrStatus*/ | ||
934 | ) | ||
935 | { | ||
936 | return S_OK; | ||
937 | } | ||
938 | |||
939 | virtual STDMETHODIMP OnCachePayloadExtractBegin( | ||
940 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
941 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
942 | __inout BOOL* pfCancel | ||
943 | ) | ||
944 | { | ||
945 | *pfCancel |= CheckCanceled(); | ||
946 | return S_OK; | ||
947 | } | ||
948 | |||
949 | virtual STDMETHODIMP OnCachePayloadExtractProgress( | ||
950 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
951 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
952 | __in DWORD64 /*dw64Progress*/, | ||
953 | __in DWORD64 /*dw64Total*/, | ||
954 | __in DWORD /*dwOverallPercentage*/, | ||
955 | __inout BOOL* pfCancel | ||
956 | ) | ||
957 | { | ||
958 | *pfCancel |= CheckCanceled(); | ||
959 | return S_OK; | ||
960 | } | ||
961 | |||
962 | virtual STDMETHODIMP OnCachePayloadExtractComplete( | ||
963 | __in_z_opt LPCWSTR /*wzPackageOrContainerId*/, | ||
964 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
965 | __in HRESULT /*hrStatus*/ | ||
966 | ) | ||
967 | { | ||
968 | return S_OK; | ||
891 | } | 969 | } |
892 | 970 | ||
893 | protected: | 971 | protected: |
diff --git a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h index 42ffeb79..10769529 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h | |||
@@ -342,6 +342,15 @@ static HRESULT BalBaseBAProcOnCacheVerifyBegin( | |||
342 | return pBA->OnCacheVerifyBegin(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, &pResults->fCancel); | 342 | return pBA->OnCacheVerifyBegin(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, &pResults->fCancel); |
343 | } | 343 | } |
344 | 344 | ||
345 | static HRESULT BalBaseBAProcOnCacheVerifyProgress( | ||
346 | __in IBootstrapperApplication* pBA, | ||
347 | __in BA_ONCACHEVERIFYPROGRESS_ARGS* pArgs, | ||
348 | __inout BA_ONCACHEVERIFYPROGRESS_RESULTS* pResults | ||
349 | ) | ||
350 | { | ||
351 | return pBA->OnCacheVerifyProgress(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, pArgs->dw64Progress, pArgs->dw64Total, pArgs->dwOverallPercentage, pArgs->verifyStep, &pResults->fCancel); | ||
352 | } | ||
353 | |||
345 | static HRESULT BalBaseBAProcOnCacheVerifyComplete( | 354 | static HRESULT BalBaseBAProcOnCacheVerifyComplete( |
346 | __in IBootstrapperApplication* pBA, | 355 | __in IBootstrapperApplication* pBA, |
347 | __in BA_ONCACHEVERIFYCOMPLETE_ARGS* pArgs, | 356 | __in BA_ONCACHEVERIFYCOMPLETE_ARGS* pArgs, |
@@ -594,6 +603,60 @@ static HRESULT BalBaseBAProcOnPlanForwardCompatibleBundle( | |||
594 | return pBA->OnPlanForwardCompatibleBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->fRecommendedIgnoreBundle, &pResults->fCancel, &pResults->fIgnoreBundle); | 603 | return pBA->OnPlanForwardCompatibleBundle(pArgs->wzBundleId, pArgs->relationType, pArgs->wzBundleTag, pArgs->fPerMachine, pArgs->wzVersion, pArgs->fRecommendedIgnoreBundle, &pResults->fCancel, &pResults->fIgnoreBundle); |
595 | } | 604 | } |
596 | 605 | ||
606 | static HRESULT BalBaseBAProcOnCacheContainerOrPayloadVerifyBegin( | ||
607 | __in IBootstrapperApplication* pBA, | ||
608 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS* pArgs, | ||
609 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS* pResults | ||
610 | ) | ||
611 | { | ||
612 | return pBA->OnCacheContainerOrPayloadVerifyBegin(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, &pResults->fCancel); | ||
613 | } | ||
614 | |||
615 | static HRESULT BalBaseBAProcOnCacheContainerOrPayloadVerifyProgress( | ||
616 | __in IBootstrapperApplication* pBA, | ||
617 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS* pArgs, | ||
618 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS* pResults | ||
619 | ) | ||
620 | { | ||
621 | return pBA->OnCacheContainerOrPayloadVerifyProgress(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, pArgs->dw64Progress, pArgs->dw64Total, pArgs->dwOverallPercentage, &pResults->fCancel); | ||
622 | } | ||
623 | |||
624 | static HRESULT BalBaseBAProcOnCacheContainerOrPayloadVerifyComplete( | ||
625 | __in IBootstrapperApplication* pBA, | ||
626 | __in BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS* pArgs, | ||
627 | __inout BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS* /*pResults*/ | ||
628 | ) | ||
629 | { | ||
630 | return pBA->OnCacheContainerOrPayloadVerifyComplete(pArgs->wzPackageOrContainerId, pArgs->wzPayloadId, pArgs->hrStatus); | ||
631 | } | ||
632 | |||
633 | static HRESULT BalBaseBAProcOnCachePayloadExtractBegin( | ||
634 | __in IBootstrapperApplication* pBA, | ||
635 | __in BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS* pArgs, | ||
636 | __inout BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS* pResults | ||
637 | ) | ||
638 | { | ||
639 | return pBA->OnCachePayloadExtractBegin(pArgs->wzContainerId, pArgs->wzPayloadId, &pResults->fCancel); | ||
640 | } | ||
641 | |||
642 | static HRESULT BalBaseBAProcOnCachePayloadExtractProgress( | ||
643 | __in IBootstrapperApplication* pBA, | ||
644 | __in BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS* pArgs, | ||
645 | __inout BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS* pResults | ||
646 | ) | ||
647 | { | ||
648 | return pBA->OnCachePayloadExtractProgress(pArgs->wzContainerId, pArgs->wzPayloadId, pArgs->dw64Progress, pArgs->dw64Total, pArgs->dwOverallPercentage, &pResults->fCancel); | ||
649 | } | ||
650 | |||
651 | static HRESULT BalBaseBAProcOnCachePayloadExtractComplete( | ||
652 | __in IBootstrapperApplication* pBA, | ||
653 | __in BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS* pArgs, | ||
654 | __inout BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS* /*pResults*/ | ||
655 | ) | ||
656 | { | ||
657 | return pBA->OnCachePayloadExtractComplete(pArgs->wzContainerId, pArgs->wzPayloadId, pArgs->hrStatus); | ||
658 | } | ||
659 | |||
597 | /******************************************************************* | 660 | /******************************************************************* |
598 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. | 661 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. |
599 | Provides a default mapping between the new message based BA interface and | 662 | Provides a default mapping between the new message based BA interface and |
@@ -722,6 +785,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
722 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYBEGIN: | 785 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYBEGIN: |
723 | hr = BalBaseBAProcOnCacheVerifyBegin(pBA, reinterpret_cast<BA_ONCACHEVERIFYBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYBEGIN_RESULTS*>(pvResults)); | 786 | hr = BalBaseBAProcOnCacheVerifyBegin(pBA, reinterpret_cast<BA_ONCACHEVERIFYBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYBEGIN_RESULTS*>(pvResults)); |
724 | break; | 787 | break; |
788 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS: | ||
789 | hr = BalBaseBAProcOnCacheVerifyProgress(pBA, reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYPROGRESS_RESULTS*>(pvResults)); | ||
790 | break; | ||
725 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYCOMPLETE: | 791 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYCOMPLETE: |
726 | hr = BalBaseBAProcOnCacheVerifyComplete(pBA, reinterpret_cast<BA_ONCACHEVERIFYCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYCOMPLETE_RESULTS*>(pvResults)); | 792 | hr = BalBaseBAProcOnCacheVerifyComplete(pBA, reinterpret_cast<BA_ONCACHEVERIFYCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEVERIFYCOMPLETE_RESULTS*>(pvResults)); |
727 | break; | 793 | break; |
@@ -808,6 +874,24 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
808 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE: | 874 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE: |
809 | hr = BalBaseBAProcOnPlanForwardCompatibleBundle(pBA, reinterpret_cast<BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS*>(pvResults)); | 875 | hr = BalBaseBAProcOnPlanForwardCompatibleBundle(pBA, reinterpret_cast<BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS*>(pvResults)); |
810 | break; | 876 | break; |
877 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN: | ||
878 | hr = BalBaseBAProcOnCacheContainerOrPayloadVerifyBegin(pBA, reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS*>(pvResults)); | ||
879 | break; | ||
880 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS: | ||
881 | hr = BalBaseBAProcOnCacheContainerOrPayloadVerifyProgress(pBA, reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS*>(pvResults)); | ||
882 | break; | ||
883 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE: | ||
884 | hr = BalBaseBAProcOnCacheContainerOrPayloadVerifyComplete(pBA, reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS*>(pvResults)); | ||
885 | break; | ||
886 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN: | ||
887 | hr = BalBaseBAProcOnCachePayloadExtractBegin(pBA, reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS*>(pvResults)); | ||
888 | break; | ||
889 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS: | ||
890 | hr = BalBaseBAProcOnCachePayloadExtractProgress(pBA, reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS*>(pvResults)); | ||
891 | break; | ||
892 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE: | ||
893 | hr = BalBaseBAProcOnCachePayloadExtractComplete(pBA, reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS*>(pvResults)); | ||
894 | break; | ||
811 | } | 895 | } |
812 | } | 896 | } |
813 | 897 | ||
diff --git a/src/balutil/inc/IBootstrapperApplication.h b/src/balutil/inc/IBootstrapperApplication.h index 8fcdd318..7d6a7164 100644 --- a/src/balutil/inc/IBootstrapperApplication.h +++ b/src/balutil/inc/IBootstrapperApplication.h | |||
@@ -4,6 +4,26 @@ | |||
4 | 4 | ||
5 | DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-AB06-099D717C67FE") | 5 | DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-AB06-099D717C67FE") |
6 | { | 6 | { |
7 | // BAProc - The PFN_BOOTSTRAPPER_APPLICATION_PROC can call this method to give the BA raw access to the callback from the engine. | ||
8 | // This might be used to help the BA support more than one version of the engine. | ||
9 | STDMETHOD(BAProc)( | ||
10 | __in BOOTSTRAPPER_APPLICATION_MESSAGE message, | ||
11 | __in const LPVOID pvArgs, | ||
12 | __inout LPVOID pvResults, | ||
13 | __in_opt LPVOID pvContext | ||
14 | ) = 0; | ||
15 | |||
16 | // BAProcFallback - The PFN_BOOTSTRAPPER_APPLICATION_PROC can call this method | ||
17 | // to give the BA the ability to use default behavior | ||
18 | // and then forward the message to extensions. | ||
19 | STDMETHOD_(void, BAProcFallback)( | ||
20 | __in BOOTSTRAPPER_APPLICATION_MESSAGE message, | ||
21 | __in const LPVOID pvArgs, | ||
22 | __inout LPVOID pvResults, | ||
23 | __inout HRESULT* phr, | ||
24 | __in_opt LPVOID pvContext | ||
25 | ) = 0; | ||
26 | |||
7 | // OnStartup - called when the engine is ready for the bootstrapper application to start. | 27 | // OnStartup - called when the engine is ready for the bootstrapper application to start. |
8 | // | 28 | // |
9 | STDMETHOD(OnStartup)() = 0; | 29 | STDMETHOD(OnStartup)() = 0; |
@@ -297,8 +317,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
297 | __inout BOOL* pfCancel | 317 | __inout BOOL* pfCancel |
298 | ) = 0; | 318 | ) = 0; |
299 | 319 | ||
300 | // OnCacheAcquireProgress - called when the engine makes progresss copying | 320 | // OnCacheAcquireProgress - called when the engine makes progress acquiring the payload or container. |
301 | // or downloading a payload to the working folder. | ||
302 | // | 321 | // |
303 | STDMETHOD(OnCacheAcquireProgress)( | 322 | STDMETHOD(OnCacheAcquireProgress)( |
304 | __in_z_opt LPCWSTR wzPackageOrContainerId, | 323 | __in_z_opt LPCWSTR wzPackageOrContainerId, |
@@ -359,6 +378,16 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
359 | __inout BOOL* pfCancel | 378 | __inout BOOL* pfCancel |
360 | ) = 0; | 379 | ) = 0; |
361 | 380 | ||
381 | STDMETHOD(OnCacheVerifyProgress)( | ||
382 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
383 | __in_z_opt LPCWSTR wzPayloadId, | ||
384 | __in DWORD64 dw64Progress, | ||
385 | __in DWORD64 dw64Total, | ||
386 | __in DWORD dwOverallPercentage, | ||
387 | __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep, | ||
388 | __inout BOOL* pfCancel | ||
389 | ) = 0; | ||
390 | |||
362 | // OnCacheVerifyComplete - called after the engine verifies and copies | 391 | // OnCacheVerifyComplete - called after the engine verifies and copies |
363 | // a payload or container to the package cache folder. | 392 | // a payload or container to the package cache folder. |
364 | // | 393 | // |
@@ -570,23 +599,45 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
570 | __inout BOOL* pfIgnoreBundle | 599 | __inout BOOL* pfIgnoreBundle |
571 | ) = 0; | 600 | ) = 0; |
572 | 601 | ||
573 | // BAProc - The PFN_BOOTSTRAPPER_APPLICATION_PROC can call this method to give the BA raw access to the callback from the engine. | 602 | STDMETHOD(OnCacheContainerOrPayloadVerifyBegin)( |
574 | // This might be used to help the BA support more than one version of the engine. | 603 | __in_z_opt LPCWSTR wzPackageOrContainerId, |
575 | STDMETHOD(BAProc)( | 604 | __in_z_opt LPCWSTR wzPayloadId, |
576 | __in BOOTSTRAPPER_APPLICATION_MESSAGE message, | 605 | __inout BOOL* pfCancel |
577 | __in const LPVOID pvArgs, | ||
578 | __inout LPVOID pvResults, | ||
579 | __in_opt LPVOID pvContext | ||
580 | ) = 0; | 606 | ) = 0; |
581 | 607 | ||
582 | // BAProcFallback - The PFN_BOOTSTRAPPER_APPLICATION_PROC can call this method | 608 | STDMETHOD(OnCacheContainerOrPayloadVerifyProgress)( |
583 | // to give the BA the ability to use default behavior | 609 | __in_z_opt LPCWSTR wzPackageOrContainerId, |
584 | // and then forward the message to extensions. | 610 | __in_z_opt LPCWSTR wzPayloadId, |
585 | STDMETHOD_(void, BAProcFallback)( | 611 | __in DWORD64 dw64Progress, |
586 | __in BOOTSTRAPPER_APPLICATION_MESSAGE message, | 612 | __in DWORD64 dw64Total, |
587 | __in const LPVOID pvArgs, | 613 | __in DWORD dwOverallPercentage, |
588 | __inout LPVOID pvResults, | 614 | __inout BOOL* pfCancel |
589 | __inout HRESULT* phr, | 615 | ) = 0; |
590 | __in_opt LPVOID pvContext | 616 | |
617 | STDMETHOD(OnCacheContainerOrPayloadVerifyComplete)( | ||
618 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
619 | __in_z_opt LPCWSTR wzPayloadId, | ||
620 | __in HRESULT hrStatus | ||
621 | ) = 0; | ||
622 | |||
623 | STDMETHOD(OnCachePayloadExtractBegin)( | ||
624 | __in_z_opt LPCWSTR wzContainerId, | ||
625 | __in_z_opt LPCWSTR wzPayloadId, | ||
626 | __inout BOOL* pfCancel | ||
627 | ) = 0; | ||
628 | |||
629 | STDMETHOD(OnCachePayloadExtractProgress)( | ||
630 | __in_z_opt LPCWSTR wzContainerId, | ||
631 | __in_z_opt LPCWSTR wzPayloadId, | ||
632 | __in DWORD64 dw64Progress, | ||
633 | __in DWORD64 dw64Total, | ||
634 | __in DWORD dwOverallPercentage, | ||
635 | __inout BOOL* pfCancel | ||
636 | ) = 0; | ||
637 | |||
638 | STDMETHOD(OnCachePayloadExtractComplete)( | ||
639 | __in_z_opt LPCWSTR wzContainerId, | ||
640 | __in_z_opt LPCWSTR wzPayloadId, | ||
641 | __in HRESULT hrStatus | ||
591 | ) = 0; | 642 | ) = 0; |
592 | }; | 643 | }; |