Hans Leidekker : msi: Improve tracing in the FindRelatedProducts action.
Alexandre Julliard
julliard at winehq.org
Tue May 17 12:52:59 CDT 2011
Module: wine
Branch: master
Commit: 9e5562297dcea5e49f2a330e41bf1d7170890fb9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e5562297dcea5e49f2a330e41bf1d7170890fb9
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue May 17 11:08:49 2011 +0200
msi: Improve tracing in the FindRelatedProducts action.
---
dlls/msi/upgrade.c | 31 +++++++++++++++----------------
1 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/dlls/msi/upgrade.c b/dlls/msi/upgrade.c
index ef4f503..8a0c43a 100644
--- a/dlls/msi/upgrade.c
+++ b/dlls/msi/upgrade.c
@@ -123,33 +123,31 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
while (rc == ERROR_SUCCESS)
{
rc = RegEnumValueW(hkey, index, product, &sz, NULL, NULL, NULL, NULL);
- TRACE("Looking at (%i) %s\n",index,debugstr_w(product));
if (rc == ERROR_SUCCESS)
{
WCHAR productid[GUID_SIZE];
- LPCWSTR ver;
- LPCWSTR language;
- LPCWSTR action_property;
- DWORD check = 0x00000000;
- DWORD comp_ver = 0x00000000;
- DWORD sz = 0x100;
+ LPCWSTR ver, language, action_property;
+ DWORD check = 0, comp_ver, sz = 0x100;
HKEY hukey;
INT r;
+ TRACE("Looking at index %u product %s\n", index, debugstr_w(product));
+
unsquash_guid(product, productid);
rc = MSIREG_OpenProductKey(productid, NULL, package->Context,
&hukey, FALSE);
if (rc != ERROR_SUCCESS)
{
+ TRACE("product key not found\n");
rc = ERROR_SUCCESS;
index ++;
continue;
}
sz = sizeof(DWORD);
- RegQueryValueExW(hukey, INSTALLPROPERTY_VERSIONW, NULL, NULL,
- (LPBYTE)&check, &sz);
- /* check min */
+ RegQueryValueExW(hukey, INSTALLPROPERTY_VERSIONW, NULL, NULL, (LPBYTE)&check, &sz);
+
+ /* check version minimum */
ver = MSI_RecordGetString(rec,2);
if (ver)
{
@@ -157,13 +155,14 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
r = check - comp_ver;
if (r < 0 || (r == 0 && !(attributes & msidbUpgradeAttributesVersionMinInclusive)))
{
+ TRACE("version below minimum\n");
RegCloseKey(hukey);
index ++;
continue;
}
}
- /* check max */
+ /* check version maximum */
ver = MSI_RecordGetString(rec,3);
if (ver)
{
@@ -175,21 +174,21 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
index ++;
continue;
}
+ TRACE("version above maximum\n");
}
- /* check language*/
+ /* check language */
sz = sizeof(DWORD);
- RegQueryValueExW(hukey, INSTALLPROPERTY_LANGUAGEW, NULL, NULL,
- (LPBYTE)&check, &sz);
+ RegQueryValueExW(hukey, INSTALLPROPERTY_LANGUAGEW, NULL, NULL, (LPBYTE)&check, &sz);
RegCloseKey(hukey);
language = MSI_RecordGetString(rec,4);
- TRACE("Checking languages %x and %s\n", check,
- debugstr_w(language));
if (!check_language(check, language, attributes))
{
index ++;
continue;
+ TRACE("language doesn't match\n");
}
+ TRACE("found related product\n");
action_property = MSI_RecordGetString(rec, 7);
append_productcode(package, action_property, productid);
More information about the wine-cvs
mailing list