aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorCharles Baker <charles@juicelabs.co>2024-10-24 13:13:26 +1300
committerRob Mensching <rob@firegiant.com>2026-01-03 06:00:27 -0800
commit8ebde131206f1502cbff2055941ffe52e2802439 (patch)
treec2d9ab840f59d8036c6f19f714b921b27b60f0f7 /src/api
parent2a58247b62bdea7c829ca643812faa7665f39a73 (diff)
downloadwix-8ebde131206f1502cbff2055941ffe52e2802439.tar.gz
wix-8ebde131206f1502cbff2055941ffe52e2802439.tar.bz2
wix-8ebde131206f1502cbff2055941ffe52e2802439.zip
Add bal:DisplayFilesInUseDialogCondition to disable Files In Use dialog
Disabling display skips showing the "Files In Use" dialog and returning a result as if the user had chosen to ignore the dialog and reboot in the case of files that were unable to be replaced.
Diffstat (limited to 'src/api')
-rw-r--r--src/api/burn/WixToolset.BootstrapperApplicationApi/IPackageInfo.cs5
-rw-r--r--src/api/burn/WixToolset.BootstrapperApplicationApi/PackageInfo.cs4
-rw-r--r--src/api/burn/balutil/balinfo.cpp4
-rw-r--r--src/api/burn/balutil/inc/balinfo.h1
4 files changed, 14 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperApplicationApi/IPackageInfo.cs b/src/api/burn/WixToolset.BootstrapperApplicationApi/IPackageInfo.cs
index e2512584..9b5e74cb 100644
--- a/src/api/burn/WixToolset.BootstrapperApplicationApi/IPackageInfo.cs
+++ b/src/api/burn/WixToolset.BootstrapperApplicationApi/IPackageInfo.cs
@@ -28,6 +28,11 @@ namespace WixToolset.BootstrapperApplicationApi
28 string DisplayInternalUICondition { get; } 28 string DisplayInternalUICondition { get; }
29 29
30 /// <summary> 30 /// <summary>
31 /// The authored bal:DisplayFilesInUseDialogCondition.
32 /// </summary>
33 string DisplayFilesInUseDialogCondition { get; }
34
35 /// <summary>
31 /// The package's display name. 36 /// The package's display name.
32 /// </summary> 37 /// </summary>
33 string DisplayName { get; } 38 string DisplayName { get; }
diff --git a/src/api/burn/WixToolset.BootstrapperApplicationApi/PackageInfo.cs b/src/api/burn/WixToolset.BootstrapperApplicationApi/PackageInfo.cs
index e835f9ea..81a8869f 100644
--- a/src/api/burn/WixToolset.BootstrapperApplicationApi/PackageInfo.cs
+++ b/src/api/burn/WixToolset.BootstrapperApplicationApi/PackageInfo.cs
@@ -121,6 +121,9 @@ namespace WixToolset.BootstrapperApplicationApi
121 public string DisplayInternalUICondition { get; internal set; } 121 public string DisplayInternalUICondition { get; internal set; }
122 122
123 /// <inheritdoc/> 123 /// <inheritdoc/>
124 public string DisplayFilesInUseDialogCondition { get; internal set; }
125
126 /// <inheritdoc/>
124 public string ProductCode { get; internal set; } 127 public string ProductCode { get; internal set; }
125 128
126 /// <inheritdoc/> 129 /// <inheritdoc/>
@@ -363,6 +366,7 @@ namespace WixToolset.BootstrapperApplicationApi
363 var package = (PackageInfo)ipackage; 366 var package = (PackageInfo)ipackage;
364 367
365 package.DisplayInternalUICondition = BootstrapperApplicationData.GetAttribute(node, "DisplayInternalUICondition"); 368 package.DisplayInternalUICondition = BootstrapperApplicationData.GetAttribute(node, "DisplayInternalUICondition");
369 package.DisplayFilesInUseDialogCondition = BootstrapperApplicationData.GetAttribute(node, "DisplayFilesInUseDialogCondition");
366 } 370 }
367 371
368 nodes = root.Select("/p:BootstrapperApplicationData/p:WixPrereqInformation", namespaceManager); 372 nodes = root.Select("/p:BootstrapperApplicationData/p:WixPrereqInformation", namespaceManager);
diff --git a/src/api/burn/balutil/balinfo.cpp b/src/api/burn/balutil/balinfo.cpp
index 38c4bd18..ff0dfd9f 100644
--- a/src/api/burn/balutil/balinfo.cpp
+++ b/src/api/burn/balutil/balinfo.cpp
@@ -291,6 +291,7 @@ DAPI_(void) BalInfoUninitialize(
291 ReleaseStr(pBundle->packages.rgPackages[i].sczDescription); 291 ReleaseStr(pBundle->packages.rgPackages[i].sczDescription);
292 ReleaseStr(pBundle->packages.rgPackages[i].sczId); 292 ReleaseStr(pBundle->packages.rgPackages[i].sczId);
293 ReleaseStr(pBundle->packages.rgPackages[i].sczDisplayInternalUICondition); 293 ReleaseStr(pBundle->packages.rgPackages[i].sczDisplayInternalUICondition);
294 ReleaseStr(pBundle->packages.rgPackages[i].sczDisplayFilesInUseDialogCondition);
294 ReleaseStr(pBundle->packages.rgPackages[i].sczProductCode); 295 ReleaseStr(pBundle->packages.rgPackages[i].sczProductCode);
295 ReleaseStr(pBundle->packages.rgPackages[i].sczUpgradeCode); 296 ReleaseStr(pBundle->packages.rgPackages[i].sczUpgradeCode);
296 ReleaseStr(pBundle->packages.rgPackages[i].sczVersion); 297 ReleaseStr(pBundle->packages.rgPackages[i].sczVersion);
@@ -517,6 +518,9 @@ static HRESULT ParseBalPackageInfoFromXml(
517 hr = XmlGetAttributeEx(pNode, L"DisplayInternalUICondition", &pPackage->sczDisplayInternalUICondition); 518 hr = XmlGetAttributeEx(pNode, L"DisplayInternalUICondition", &pPackage->sczDisplayInternalUICondition);
518 ExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed to get DisplayInternalUICondition setting for package."); 519 ExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed to get DisplayInternalUICondition setting for package.");
519 520
521 hr = XmlGetAttributeEx(pNode, L"DisplayFilesInUseDialogCondition", &pPackage->sczDisplayFilesInUseDialogCondition);
522 ExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed to get DisplayFilesInUseDialogCondition setting for package.");
523
520 hr = XmlGetAttributeEx(pNode, L"PrimaryPackageType", &scz); 524 hr = XmlGetAttributeEx(pNode, L"PrimaryPackageType", &scz);
521 ExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed to get PrimaryPackageType setting for package."); 525 ExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed to get PrimaryPackageType setting for package.");
522 526
diff --git a/src/api/burn/balutil/inc/balinfo.h b/src/api/burn/balutil/inc/balinfo.h
index 234284f6..8baee844 100644
--- a/src/api/burn/balutil/inc/balinfo.h
+++ b/src/api/burn/balutil/inc/balinfo.h
@@ -54,6 +54,7 @@ typedef struct _BAL_INFO_PACKAGE
54 BOOL fPermanent; 54 BOOL fPermanent;
55 BOOL fVital; 55 BOOL fVital;
56 LPWSTR sczDisplayInternalUICondition; 56 LPWSTR sczDisplayInternalUICondition;
57 LPWSTR sczDisplayFilesInUseDialogCondition;
57 LPWSTR sczProductCode; 58 LPWSTR sczProductCode;
58 LPWSTR sczUpgradeCode; 59 LPWSTR sczUpgradeCode;
59 LPWSTR sczVersion; 60 LPWSTR sczVersion;