aboutsummaryrefslogtreecommitdiff
path: root/src/libs/dutil/WixToolset.DUtil/inc
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2022-01-15 21:40:54 -0500
committerBob Arnson <github@bobs.org>2022-01-16 10:28:44 -0500
commit47bca2dc51525fcad86f325278b14953ac5b137e (patch)
tree80a153833efbe0794be7153c64e712a5799649c4 /src/libs/dutil/WixToolset.DUtil/inc
parent6d1c4cc83214b65032251c67239b02da59a3e635 (diff)
downloadwix-47bca2dc51525fcad86f325278b14953ac5b137e.tar.gz
wix-47bca2dc51525fcad86f325278b14953ac5b137e.tar.bz2
wix-47bca2dc51525fcad86f325278b14953ac5b137e.zip
Fix 32/64-bit bitness handling in Burn and BUtil.
- Take advantage of RegOpenEx. - Always look for related bundles in both 32 and 64 hives. - BundleEnumRelatedBundle requires caller to specify bitness.
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc')
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/butil.h7
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/regutil.h9
2 files changed, 15 insertions, 1 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/butil.h b/src/libs/dutil/WixToolset.DUtil/inc/butil.h
index 3b316e66..9c2010ee 100644
--- a/src/libs/dutil/WixToolset.DUtil/inc/butil.h
+++ b/src/libs/dutil/WixToolset.DUtil/inc/butil.h
@@ -60,7 +60,9 @@ HRESULT DAPI BundleGetBundleInfoFixed(
60 ); 60 );
61 61
62/******************************************************************** 62/********************************************************************
63BundleEnumRelatedBundle - Queries the bundle installation metadata for installs with the given upgrade code 63BundleEnumRelatedBundle - Queries the bundle installation metadata for installs with the given upgrade code.
64Enumerate 32-bit and 64-bit in two passes.
65
64RETURNS: 66RETURNS:
65 E_INVALIDARG 67 E_INVALIDARG
66 An invalid parameter was passed to the function. 68 An invalid parameter was passed to the function.
@@ -74,12 +76,14 @@ RETURNS:
74HRESULT DAPI BundleEnumRelatedBundle( 76HRESULT DAPI BundleEnumRelatedBundle(
75 __in_z LPCWSTR wzUpgradeCode, 77 __in_z LPCWSTR wzUpgradeCode,
76 __in BUNDLE_INSTALL_CONTEXT context, 78 __in BUNDLE_INSTALL_CONTEXT context,
79 __in REG_KEY_BITNESS kbKeyBitness,
77 __inout PDWORD pdwStartIndex, 80 __inout PDWORD pdwStartIndex,
78 __deref_out_z LPWSTR* psczBundleId 81 __deref_out_z LPWSTR* psczBundleId
79 ); 82 );
80 83
81/******************************************************************** 84/********************************************************************
82BundleEnumRelatedBundleFixed - Queries the bundle installation metadata for installs with the given upgrade code 85BundleEnumRelatedBundleFixed - Queries the bundle installation metadata for installs with the given upgrade code
86Enumerate 32-bit and 64-bit in two passes.
83 87
84NOTE: lpBundleIdBuff is a buffer to receive the bundle GUID. This buffer must be 39 characters long. 88NOTE: lpBundleIdBuff is a buffer to receive the bundle GUID. This buffer must be 39 characters long.
85 The first 38 characters are for the GUID, and the last character is for the terminating null character. 89 The first 38 characters are for the GUID, and the last character is for the terminating null character.
@@ -96,6 +100,7 @@ RETURNS:
96HRESULT DAPI BundleEnumRelatedBundleFixed( 100HRESULT DAPI BundleEnumRelatedBundleFixed(
97 __in_z LPCWSTR wzUpgradeCode, 101 __in_z LPCWSTR wzUpgradeCode,
98 __in BUNDLE_INSTALL_CONTEXT context, 102 __in BUNDLE_INSTALL_CONTEXT context,
103 __in REG_KEY_BITNESS kbKeyBitness,
99 __inout PDWORD pdwStartIndex, 104 __inout PDWORD pdwStartIndex,
100 __out_ecount(MAX_GUID_CHARS+1) LPWSTR wzBundleId 105 __out_ecount(MAX_GUID_CHARS+1) LPWSTR wzBundleId
101 ); 106 );
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/regutil.h b/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
index db8e0c5c..3cbb53b0 100644
--- a/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
+++ b/src/libs/dutil/WixToolset.DUtil/inc/regutil.h
@@ -408,6 +408,15 @@ BOOL DAPI RegValueExists(
408 __in REG_KEY_BITNESS kbKeyBitness 408 __in REG_KEY_BITNESS kbKeyBitness
409 ); 409 );
410 410
411/********************************************************************
412RegTranslateKeyBitness - Converts from REG_KEY_BITNESS values to
413REGSAM-compatible values.
414
415*********************************************************************/
416REGSAM DAPI RegTranslateKeyBitness(
417 __in REG_KEY_BITNESS kbKeyBitness
418 );
419
411#ifdef __cplusplus 420#ifdef __cplusplus
412} 421}
413#endif 422#endif