[1/5] msi: Improve tracing in the FindRelatedProducts action.

Hans Leidekker hans at codeweavers.com
Tue May 17 04:08:49 CDT 2011


---
 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);
-- 
1.7.4.1







More information about the wine-patches mailing list