From ddf762a82f2c578cd3b0d4ff0c13c8a08641a666 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 18 Jul 2018 11:19:54 +0200 Subject: [PATCH] msi: Use msi_get_package_code in msi_publish_product_properties. Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/msi/action.c | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 15f187687bf..29c6827b3f1 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -4281,10 +4281,8 @@ static UINT msi_publish_product_properties(MSIPACKAGE *package, HKEY hkey) static const WCHAR szClients[] = {'C','l','i','e','n','t','s',0}; static const WCHAR szColon[] = {':',0}; - MSIHANDLE hdb, suminfo; - WCHAR *buffer, *ptr, guids[MAX_PATH], packcode[SQUASHED_GUID_SIZE]; - DWORD langid, size; - UINT r; + WCHAR *buffer, *ptr, *guids, packcode[SQUASHED_GUID_SIZE]; + DWORD langid; buffer = msi_dup_property(package->db, INSTALLPROPERTY_PRODUCTNAMEW); msi_reg_set_val_str(hkey, INSTALLPROPERTY_PRODUCTNAMEW, buffer); @@ -4318,28 +4316,12 @@ static UINT msi_publish_product_properties(MSIPACKAGE *package, HKEY hkey) msi_reg_set_val_dword(hkey, INSTALLPROPERTY_INSTANCETYPEW, 0); msi_reg_set_val_str(hkey, szClients, szColon); - hdb = alloc_msihandle(&package->db->hdr); - if (!hdb) - return ERROR_NOT_ENOUGH_MEMORY; - - r = MsiGetSummaryInformationW(hdb, NULL, 0, &suminfo); - MsiCloseHandle(hdb); - if (r != ERROR_SUCCESS) - goto done; - - size = MAX_PATH; - r = MsiSummaryInfoGetPropertyW(suminfo, PID_REVNUMBER, NULL, NULL, - NULL, guids, &size); - if (r != ERROR_SUCCESS) - goto done; - - ptr = strchrW(guids, ';'); - if (ptr) *ptr = 0; + if (!(guids = msi_get_package_code(package->db))) return ERROR_OUTOFMEMORY; + if ((ptr = strchrW(guids, ';'))) *ptr = 0; squash_guid(guids, packcode); + msi_free( guids); msi_reg_set_val_str(hkey, INSTALLPROPERTY_PACKAGECODEW, packcode); -done: - MsiCloseHandle(suminfo); return ERROR_SUCCESS; }