summaryrefslogtreecommitdiff
path: root/src/test/burn/WixToolset.WixBA
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-05-13 13:50:50 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-05-14 11:12:31 -0500
commit6a6974a15deb6edf593736cdb8043bfb93064782 (patch)
tree0ae2afffcd02967ba3fe0f0a5d3e9273811f1e6f /src/test/burn/WixToolset.WixBA
parent7d56566b7c51c49ded526466dfae6af9e1709040 (diff)
downloadwix-6a6974a15deb6edf593736cdb8043bfb93064782.tar.gz
wix-6a6974a15deb6edf593736cdb8043bfb93064782.tar.bz2
wix-6a6974a15deb6edf593736cdb8043bfb93064782.zip
Move infinite loop detection into the hosts.
Tell the BA during Destroy whether it will be reloaded, and let the BA decide then whether it's module should be unloaded. Show error when infinite prereq loop detected. Only clip the exit code if they're Win32 errors. Set related bundle type to none to avoid downgrades during preqba.
Diffstat (limited to 'src/test/burn/WixToolset.WixBA')
-rw-r--r--src/test/burn/WixToolset.WixBA/WixBA.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/test/burn/WixToolset.WixBA/WixBA.cs b/src/test/burn/WixToolset.WixBA/WixBA.cs
index 68288f2d..60426ca8 100644
--- a/src/test/burn/WixToolset.WixBA/WixBA.cs
+++ b/src/test/burn/WixToolset.WixBA/WixBA.cs
@@ -179,7 +179,14 @@ namespace WixToolset.WixBA
179 Threading.Dispatcher.Run(); 179 Threading.Dispatcher.Run();
180 180
181 this.PostTelemetry(); 181 this.PostTelemetry();
182 this.Engine.Quit(WixBA.Model.Result); 182
183 var exitCode = WixBA.Model.Result;
184 if ((exitCode & 0xFFFF0000) == unchecked(0x80070000))
185 {
186 exitCode &= 0xFFFF; // return plain old Win32 error, not HRESULT.
187 }
188
189 this.Engine.Quit(exitCode);
183 } 190 }
184 191
185 private void PostTelemetry() 192 private void PostTelemetry()