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