[PATCH 2/2] msi/tests: Build without -DWINE_NO_LONG_TYPES.

Hans Leidekker hans at codeweavers.com
Mon Feb 7 10:47:06 CST 2022


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/msi/tests/Makefile.in  |    1 -
 dlls/msi/tests/action.c     |  472 +++----
 dlls/msi/tests/automation.c |  397 +++---
 dlls/msi/tests/custom.c     |    2 +-
 dlls/msi/tests/db.c         |  164 +--
 dlls/msi/tests/format.c     |  207 ++-
 dlls/msi/tests/install.c    |  102 +-
 dlls/msi/tests/msi.c        | 2651 +++++++++++++++++------------------
 dlls/msi/tests/package.c    |  454 +++---
 dlls/msi/tests/patch.c      |   25 +-
 dlls/msi/tests/record.c     |   22 +-
 dlls/msi/tests/source.c     |  654 ++++-----
 dlls/msi/tests/suminfo.c    |    2 +-
 13 files changed, 2577 insertions(+), 2576 deletions(-)

diff --git a/dlls/msi/tests/Makefile.in b/dlls/msi/tests/Makefile.in
index 3970a211d77..5c99e67a68a 100644
--- a/dlls/msi/tests/Makefile.in
+++ b/dlls/msi/tests/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
 TESTDLL   = msi.dll
 IMPORTS   = secur32 cabinet msi shell32 ole32 oleaut32 user32 advapi32 version odbccp32
 
diff --git a/dlls/msi/tests/action.c b/dlls/msi/tests/action.c
index 1889e39195b..224637eb286 100644
--- a/dlls/msi/tests/action.c
+++ b/dlls/msi/tests/action.c
@@ -2472,7 +2472,7 @@ static void remove_restore_point(DWORD seq_number)
 
     res = pSRRemoveRestorePoint(seq_number);
     if (res != ERROR_SUCCESS)
-        trace("Failed to remove the restore point : %08x\n", res);
+        trace("Failed to remove the restore point : %#lx\n", res);
 }
 
 static LONG delete_key( HKEY key, LPCSTR subkey, REGSAM access )
@@ -2513,8 +2513,8 @@ static void check_reg_str(HKEY prodkey, LPCSTR name, LPCSTR expected, BOOL bcase
     size = MAX_PATH;
     val[0] = '\0';
     res = RegQueryValueExA(prodkey, name, NULL, &type, (BYTE *)val, &size);
-    ok_(__FILE__, line)(!res, "Failed to query value, error %u\n", res);
-    ok_(__FILE__, line)(type == REG_SZ || type == REG_EXPAND_SZ, "Got wrong type %u\n", type);
+    ok_(__FILE__, line)(!res, "Failed to query value, error %ld\n", res);
+    ok_(__FILE__, line)(type == REG_SZ || type == REG_EXPAND_SZ, "Got wrong type %lu\n", type);
     todo_wine_if (todo)
     {
         if (bcase)
@@ -2538,9 +2538,9 @@ static void check_reg_multi(HKEY prodkey, const char *name, const char *expect,
     size = MAX_PATH;
     val[0] = '\0';
     res = RegQueryValueExA(prodkey, name, NULL, &type, (BYTE *)val, &size);
-    ok_(__FILE__, line)(!res, "Failed to query value, error %u\n", res);
-    ok_(__FILE__, line)(type == REG_MULTI_SZ, "Got wrong type %u\n", type);
-    ok_(__FILE__, line)(size == expect_size, "expected size %u, got %u\n", expect_size, size);
+    ok_(__FILE__, line)(!res, "Failed to query value, error %ld\n", res);
+    ok_(__FILE__, line)(type == REG_MULTI_SZ, "Got wrong type %lu\n", type);
+    ok_(__FILE__, line)(size == expect_size, "expected size %lu, got %lu\n", expect_size, size);
     ok_(__FILE__, line)(!memcmp(val, expect, size), "got %s\n", debugstr_an(val, size));
 }
 
@@ -2551,10 +2551,10 @@ static void check_reg_dword(HKEY prodkey, LPCSTR name, DWORD expected, BOOL todo
 
     size = sizeof(DWORD);
     res = RegQueryValueExA(prodkey, name, NULL, &type, (BYTE *)&val, &size);
-    ok_(__FILE__, line)(!res, "Failed to query value, error %u\n", res);
-    ok_(__FILE__, line)(type == REG_DWORD, "Got wrong type %u\n", type);
+    ok_(__FILE__, line)(!res, "Failed to query value, error %ld\n", res);
+    ok_(__FILE__, line)(type == REG_DWORD, "Got wrong type %lu\n", type);
     todo_wine_if (todo)
-        ok_(__FILE__, line)(val == expected, "Expected %d, got %d\n", expected, val);
+        ok_(__FILE__, line)(val == expected, "Expected %lu, got %lu\n", expected, val);
 }
 
 #define CHECK_REG_STR(prodkey, name, expected) \
@@ -2641,7 +2641,7 @@ static void extract_resource(const char *name, const char *type, const char *pat
     void *ptr;
 
     file = CreateFileA(path, GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0);
-    ok(file != INVALID_HANDLE_VALUE, "file creation failed, at %s, error %d\n", path, GetLastError());
+    ok(file != INVALID_HANDLE_VALUE, "file creation failed, at %s, error %lu\n", path, GetLastError());
 
     res = FindResourceA(NULL, name, type);
     ok( res != 0, "couldn't find resource\n" );
@@ -2700,10 +2700,10 @@ static void test_register_product(void)
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, userugkey, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, uninstall, 0, KEY_READ | KEY_WOW64_32KEY, &hkey);
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "DisplayName", "MSITEST");
     CHECK_DEL_REG_STR(hkey, "DisplayVersion", "1.1.1");
@@ -2731,15 +2731,15 @@ static void test_register_product(void)
     CHECK_DEL_REG_DWORD_TODO(hkey, "EstimatedSize", get_estimated_size());
 
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     sprintf(keypath, userdata, usersid);
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "InstallProperties", 0, KEY_READ, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = sizeof(path);
     RegQueryValueExA(props, "LocalPackage", NULL, &type, (LPBYTE)path, &size);
@@ -2772,43 +2772,43 @@ static void test_register_product(void)
     CHECK_DEL_REG_DWORD_TODO(props, "EstimatedSize", get_estimated_size());
 
     res = RegDeleteKeyA(props, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(props);
 
     res = RegOpenKeyExA(hkey, "Usage", 0, KEY_READ, &usage);
     todo_wine
     {
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     res = RegDeleteKeyA(usage, "");
     todo_wine
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(usage);
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, ugkey, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "84A88FD7F6998CE40A22FB59F6B9C2BB", "");
 
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     /* RegisterProduct, machine */
     r = MsiInstallProductA(msifile, "REGISTER_PRODUCT=1 ALLUSERS=1");
-    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
     ok(delete_pf("msitest\\maximus", TRUE), "File not installed\n");
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, userugkey, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, uninstall, 0, KEY_READ | KEY_WOW64_32KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "DisplayName", "MSITEST");
     CHECK_DEL_REG_STR(hkey, "DisplayVersion", "1.1.1");
@@ -2836,15 +2836,15 @@ static void test_register_product(void)
     CHECK_DEL_REG_DWORD_TODO(hkey, "EstimatedSize", get_estimated_size());
 
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     sprintf(keypath, userdata, "S-1-5-18");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "InstallProperties", 0, KEY_READ, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = sizeof(path);
     RegQueryValueExA(props, "LocalPackage", NULL, &type, (LPBYTE)path, &size);
@@ -2877,30 +2877,30 @@ static void test_register_product(void)
     CHECK_DEL_REG_DWORD_TODO(props, "EstimatedSize", get_estimated_size());
 
     res = RegDeleteKeyA(props, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(props);
 
     res = RegOpenKeyExA(hkey, "Usage", 0, KEY_READ, &usage);
     todo_wine
     {
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     res = RegDeleteKeyA(usage, "");
     todo_wine
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(usage);
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, ugkey, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "84A88FD7F6998CE40A22FB59F6B9C2BB", "");
 
     res = RegDeleteKeyA(hkey, "");
-    ok(!res, "got %d\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(hkey);
 
     if (is_wow64 || is_64bit)
@@ -2914,13 +2914,13 @@ static void test_register_product(void)
         ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, userugkey, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, uninstall, 0, KEY_READ | KEY_WOW64_32KEY, &hkey);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, uninstall, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         CHECK_DEL_REG_STR(hkey, "DisplayName", "MSITEST");
         CHECK_DEL_REG_STR(hkey, "DisplayVersion", "1.1.1");
@@ -2948,15 +2948,15 @@ static void test_register_product(void)
         CHECK_DEL_REG_DWORD_TODO(hkey, "EstimatedSize", get_estimated_size());
 
         res = RegDeleteKeyA(hkey, "");
-        ok(!res, "got %d\n", res);
+        ok(!res, "got %ld\n", res);
         RegCloseKey(hkey);
 
         sprintf(keypath, userdata, "S-1-5-18");
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         res = RegOpenKeyExA(hkey, "InstallProperties", 0, KEY_READ, &props);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         size = sizeof(path);
         RegQueryValueExA(props, "LocalPackage", NULL, &type, (LPBYTE)path, &size);
@@ -2989,30 +2989,30 @@ static void test_register_product(void)
         CHECK_DEL_REG_DWORD_TODO(props, "EstimatedSize", get_estimated_size());
 
         res = RegDeleteKeyA(props, "");
-        ok(!res, "got %d\n", res);
+        ok(!res, "got %ld\n", res);
         RegCloseKey(props);
 
         res = RegOpenKeyExA(hkey, "Usage", 0, KEY_READ, &usage);
         todo_wine
         {
-            ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+            ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
         }
 
         res = RegDeleteKeyA(usage, "");
         todo_wine
-        ok(!res, "got %d\n", res);
+        ok(!res, "got %ld\n", res);
         RegCloseKey(usage);
         res = RegDeleteKeyA(hkey, "");
-        ok(!res, "got %d\n", res);
+        ok(!res, "got %ld\n", res);
         RegCloseKey(hkey);
 
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, ugkey, 0, KEY_READ | KEY_WOW64_64KEY, &hkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         CHECK_DEL_REG_STR(hkey, "84A88FD7F6998CE40A22FB59F6B9C2BB", "");
 
         res = RegDeleteKeyA(hkey, "");
-        ok(!res, "got %d\n", res);
+        ok(!res, "got %ld\n", res);
         RegCloseKey(hkey);
     }
     else
@@ -3085,7 +3085,7 @@ static void test_publish_product(void)
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, badprod, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     sprintf(keypath, prodpath, usersid);
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey);
@@ -3105,13 +3105,13 @@ static void test_publish_product(void)
             return;
         }
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "InstallProperties", 0, access, &props);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "Patches", 0, access, &patches);
-    todo_wine ok(!res, "Expected ERROR_SUCCESS, got %d\n", res);
+    todo_wine ok(!res, "Expected ERROR_SUCCESS, got %ld\n", res);
     if (!res)
         CHECK_DEL_REG_STR(patches, "AllPatches", "");
 
@@ -3122,7 +3122,7 @@ static void test_publish_product(void)
 
 currentuser:
     res = RegOpenKeyA(HKEY_CURRENT_USER, cuprodpath, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "ProductName", "MSITEST");
     CHECK_DEL_REG_STR(hkey, "PackageCode", "AC75740029052C94DA02821EECD05F2F");
@@ -3136,7 +3136,7 @@ currentuser:
     CHECK_DEL_REG_MULTI(hkey, "Clients", ":\0");
 
     res = RegOpenKeyA(hkey, "SourceList", &sourcelist);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(path, "n;1;");
     lstrcatA(path, temp);
@@ -3144,7 +3144,7 @@ currentuser:
     CHECK_DEL_REG_STR(sourcelist, "PackageName", "msitest.msi");
 
     res = RegOpenKeyA(sourcelist, "Net", &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(net, "1", temp);
 
@@ -3152,7 +3152,7 @@ currentuser:
     RegCloseKey(net);
 
     res = RegOpenKeyA(sourcelist, "Media", &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(media, "1", "DISK1;");
 
@@ -3164,7 +3164,7 @@ currentuser:
     RegCloseKey(hkey);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, cuupgrades, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "84A88FD7F6998CE40A22FB59F6B9C2BB", "");
 
@@ -3180,17 +3180,17 @@ currentuser:
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, badprod, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     sprintf(keypath, prodpath, "S-1-5-18");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "InstallProperties", 0, access, &props);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyExA(hkey, "Patches", 0, access, &patches);
-    todo_wine ok(!res, "Expected ERROR_SUCCESS, got %d\n", res);
+    todo_wine ok(!res, "Expected ERROR_SUCCESS, got %ld\n", res);
     if (!res)
         CHECK_DEL_REG_STR(patches, "AllPatches", "");
 
@@ -3201,7 +3201,7 @@ currentuser:
 
 machprod:
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, machprod, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "ProductName", "MSITEST");
     CHECK_DEL_REG_STR(hkey, "PackageCode", "AC75740029052C94DA02821EECD05F2F");
@@ -3215,7 +3215,7 @@ machprod:
     CHECK_DEL_REG_MULTI(hkey, "Clients", ":\0");
 
     res = RegOpenKeyExA(hkey, "SourceList", 0, access, &sourcelist);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(path, "n;1;");
     lstrcatA(path, temp);
@@ -3223,36 +3223,36 @@ machprod:
     CHECK_DEL_REG_STR(sourcelist, "PackageName", "msitest.msi");
 
     res = RegOpenKeyExA(sourcelist, "Net", 0, access, &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(net, "1", temp);
 
     res = delete_key(net, "", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(net);
 
     res = RegOpenKeyExA(sourcelist, "Media", 0, access, &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(media, "1", "DISK1;");
 
     res = delete_key(media, "", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(media);
     res = delete_key(sourcelist, "", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(sourcelist);
     res = delete_key(hkey, "", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, machup, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_DEL_REG_STR(hkey, "84A88FD7F6998CE40A22FB59F6B9C2BB", "");
 
     res = delete_key(hkey, "", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(hkey);
 
 error:
@@ -3314,13 +3314,13 @@ static void test_publish_features(void)
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, featkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, classfeat, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, cupath, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(hkey, "feature", "");
     CHECK_REG_STR(hkey, "montecristo", "");
@@ -3332,7 +3332,7 @@ static void test_publish_features(void)
 
     sprintf(keypath, udfeatpath, usersid);
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(hkey, "feature", "VGtfp^p+,?82 at JU1j_KE");
     CHECK_REG_STR(hkey, "montecristo", "VGtfp^p+,?82 at JU1j_KE");
@@ -3351,12 +3351,12 @@ static void test_publish_features(void)
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, featkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, cupath, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, classfeat, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(hkey, "feature", "");
     CHECK_REG_STR(hkey, "montecristo", "");
@@ -3368,7 +3368,7 @@ static void test_publish_features(void)
 
     sprintf(keypath, udfeatpath, "S-1-5-18");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(hkey, "feature", "VGtfp^p+,?82 at JU1j_KE");
     CHECK_REG_STR(hkey, "montecristo", "VGtfp^p+,?82 at JU1j_KE");
@@ -3501,7 +3501,7 @@ static void test_register_user(void)
 
     sprintf(keypath, keypropsfmt, usersid);
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(props, "ProductID", "none");
     CHECK_REG_STR(props, "RegCompany", company);
@@ -3523,7 +3523,7 @@ static void test_register_user(void)
 
     sprintf(keypath, keypropsfmt, "S-1-5-18");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(props, "ProductID", "none");
     CHECK_REG_STR(props, "RegCompany", company);
@@ -3595,12 +3595,12 @@ static void test_process_components(void)
 
     sprintf(keypath, keyfmt, usersid, "CBABC2FDCCB35E749A8944D8C1C098B5");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &comp);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB",
                            NULL, NULL, (LPBYTE)val, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(program_files_maximus,PROG_FILES_DIR);
     lstrcatA(program_files_maximus,"\\msitest\\maximus");
@@ -3609,7 +3609,7 @@ static void test_process_components(void)
        "Expected \"%s\", got \"%s\"\n", program_files_maximus, val);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, compkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     RegDeleteValueA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB");
     delete_key(comp, "", access);
@@ -3617,17 +3617,17 @@ static void test_process_components(void)
 
     sprintf(keypath, keyfmt, usersid, "241C3DA58FECD0945B9687D408766058");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &comp);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB",
                            NULL, NULL, (LPBYTE)val, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(val, "01\\msitest\\augustus"),
        "Expected \"01\\msitest\\augustus\", got \"%s\"\n", val);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, compkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     RegDeleteValueA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB");
     delete_key(comp, "", access);
@@ -3641,17 +3641,17 @@ static void test_process_components(void)
 
     sprintf(keypath, keyfmt, "S-1-5-18", "CBABC2FDCCB35E749A8944D8C1C098B5");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &comp);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB",
                            NULL, NULL, (LPBYTE)val, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpiA(val, program_files_maximus),
        "Expected \"%s\", got \"%s\"\n", program_files_maximus, val);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, compkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     RegDeleteValueA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB");
     delete_key(comp, "", access);
@@ -3659,17 +3659,17 @@ static void test_process_components(void)
 
     sprintf(keypath, keyfmt, "S-1-5-18", "241C3DA58FECD0945B9687D408766058");
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &comp);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB",
                            NULL, NULL, (LPBYTE)val, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(val, "01\\msitest\\augustus"),
        "Expected \"01\\msitest\\augustus\", got \"%s\"\n", val);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, compkey, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     RegDeleteValueA(comp, "84A88FD7F6998CE40A22FB59F6B9C2BB");
     delete_key(comp, "", access);
@@ -3712,12 +3712,12 @@ static void test_publish(void)
         access |= KEY_WOW64_64KEY;
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, subkey, 0, KEY_ALL_ACCESS, &uninstall);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     if (is_64bit)
     {
         res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, subkey_32node, 0, KEY_ALL_ACCESS, &uninstall_32node);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CreateDirectoryA("msitest", NULL);
@@ -3739,7 +3739,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r);
     ok(state == 0xdead, "got %d\n", state);
-    ok(error == 0xdeadbeef, "got %u\n", error);
+    ok(error == 0xdeadbeef, "got %lu\n", error);
 
     state = 0xdead;
     SetLastError(0xdeadbeef);
@@ -3747,7 +3747,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r);
     ok(state == 0xdead, "got %d\n", state);
-    ok(error == ERROR_SUCCESS, "got %u\n", error);
+    ok(error == ERROR_SUCCESS, "got %lu\n", error);
 
     state = 0xdead;
     SetLastError(0xdeadbeef);
@@ -3755,7 +3755,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r);
     ok(state == 0xdead, "got %d\n", state);
-    ok(error == ERROR_SUCCESS, "got %u\n", error);
+    ok(error == ERROR_SUCCESS, "got %lu\n", error);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
@@ -3769,7 +3769,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* nothing published */
     r = MsiInstallProductA(msifile, NULL);
@@ -3797,7 +3797,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* PublishProduct and RegisterProduct */
     r = MsiInstallProductA(msifile, "REGISTER_PRODUCT=1 PUBLISH_PRODUCT=1");
@@ -3822,14 +3822,14 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
         if (is_wow64 && res == ERROR_FILE_NOT_FOUND) /* XP - Vista, Wow64 */
             res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -3879,7 +3879,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* complete install */
     r = MsiInstallProductA(msifile, "FULL=1");
@@ -3899,7 +3899,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r);
     ok(state == 0xdead, "got %d\n", state);
-    ok(error == 0xdeadbeef, "got %u\n", error);
+    ok(error == 0xdeadbeef, "got %lu\n", error);
 
     state = 0xdead;
     SetLastError(0xdeadbeef);
@@ -3907,7 +3907,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r);
     ok(state == 0xdead, "got %d\n", state);
-    ok(error == ERROR_SUCCESS, "got %u\n", error);
+    ok(error == ERROR_SUCCESS, "got %lu\n", error);
 
     state = 0xdead;
     SetLastError(0xdeadbeef);
@@ -3915,7 +3915,7 @@ static void test_publish(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "got %u\n", r);
     ok(state == INSTALLSTATE_LOCAL, "got %d\n", state);
-    ok(error == ERROR_SUCCESS, "got %u\n", error);
+    ok(error == ERROR_SUCCESS, "got %lu\n", error);
 
     state = MsiQueryFeatureStateA(prodcode, "montecristo");
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
@@ -3928,12 +3928,12 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -3984,7 +3984,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* complete install */
     r = MsiInstallProductA(msifile, "FULL=1");
@@ -4009,12 +4009,12 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -4067,12 +4067,12 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -4125,12 +4125,12 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -4181,7 +4181,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* complete install */
     r = MsiInstallProductA(msifile, "FULL=1");
@@ -4206,12 +4206,12 @@ static void test_publish(void)
     if (is_64bit)
     {
         res = RegOpenKeyExA(uninstall_32node, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
     else
     {
         res = RegOpenKeyExA(uninstall, prodcode, 0, KEY_ALL_ACCESS, &prodkey);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     CHECK_REG_STR(prodkey, "DisplayName", "MSITEST");
@@ -4262,7 +4262,7 @@ static void test_publish(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegOpenKeyExA(uninstall, prodcode, 0, access, &prodkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* make sure 'Program Files\msitest' is removed */
     delete_pfmsitest_files();
@@ -4317,7 +4317,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListGetInfoA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     size = MAX_PATH;
@@ -4325,7 +4325,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListEnumSourcesA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     r = MsiInstallProductA(msifile, "REGISTER_PRODUCT=1");
@@ -4339,7 +4339,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListGetInfoA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     size = MAX_PATH;
@@ -4347,7 +4347,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListEnumSourcesA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     r = MsiInstallProductA(msifile, "PROCESS_COMPONENTS=1");
@@ -4361,7 +4361,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListGetInfoA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     size = MAX_PATH;
@@ -4369,7 +4369,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListEnumSourcesA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     r = MsiInstallProductA(msifile, "PUBLISH_FEATURES=1");
@@ -4383,7 +4383,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListGetInfoA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     size = MAX_PATH;
@@ -4391,7 +4391,7 @@ static void test_publish_sourcelist(void)
     r = pMsiSourceListEnumSourcesA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "got %lu\n", size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     r = MsiInstallProductA(msifile, "PUBLISH_PRODUCT=1");
@@ -4406,7 +4406,7 @@ static void test_publish_sourcelist(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "msitest.msi"), "Expected 'msitest.msi', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4414,7 +4414,7 @@ static void test_publish_sourcelist(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_MEDIAPACKAGEPATHA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4422,7 +4422,7 @@ static void test_publish_sourcelist(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_DISKPROMPTA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     lstrcpyA(path, CURR_DIR);
     lstrcatA(path, "\\");
@@ -4433,7 +4433,7 @@ static void test_publish_sourcelist(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, path), "Expected \"%s\", got \"%s\"\n", path, value);
-    ok(size == lstrlenA(path), "Expected %d, got %d\n", lstrlenA(path), size);
+    ok(size == lstrlenA(path), "Expected %d, got %lu\n", lstrlenA(path), size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4441,7 +4441,7 @@ static void test_publish_sourcelist(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDTYPEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "n"), "Expected \"n\", got \"%s\"\n", value);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4449,7 +4449,7 @@ static void test_publish_sourcelist(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4457,7 +4457,7 @@ static void test_publish_sourcelist(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, path), "Expected \"%s\", got \"%s\"\n", path, value);
-    ok(size == lstrlenA(path), "Expected %d, got %d\n", lstrlenA(path), size);
+    ok(size == lstrlenA(path), "Expected %d, got %lu\n", lstrlenA(path), size);
 
     size = MAX_PATH;
     lstrcpyA(value, "aaa");
@@ -4465,7 +4465,7 @@ static void test_publish_sourcelist(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 1, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* complete uninstall */
     r = MsiInstallProductA(msifile, "FULL=1 REMOVE=ALL");
@@ -4823,28 +4823,28 @@ static void test_write_registry_values(void)
     MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, "msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hkey, "Value1", 0, REG_MULTI_SZ, (const BYTE *)"two\0", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value2", 0, REG_MULTI_SZ, (const BYTE *)"one\0", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value3", 0, REG_MULTI_SZ, (const BYTE *)"two\0", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value4", 0, REG_MULTI_SZ, (const BYTE *)"one\0", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value5", 0, REG_MULTI_SZ, (const BYTE *)"one\0two\0", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value6", 0, REG_MULTI_SZ, (const BYTE *)"one\0", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     res = RegSetValueExA(hkey, "Value7", 0, REG_SZ, (const BYTE *)"one", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hkey, "instremove", 0, REG_SZ, (const BYTE *)"val", 3);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
 
     res = RegCreateKeyA(hkey, "instremove", &subkey);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(subkey);
 
     r = MsiInstallProductA(msifile, NULL);
@@ -4861,21 +4861,21 @@ static void test_write_registry_values(void)
 
     size = sizeof(buf);
     res = RegQueryValueExA(hkey, "expandsz", NULL, &type, (BYTE *)buf, &size);
-    ok(!res, "got %u\n", res);
-    ok(type == REG_EXPAND_SZ, "got %d\n", type);
+    ok(!res, "got %ld\n", res);
+    ok(type == REG_EXPAND_SZ, "got %ld\n", type);
     ok(!strcmp(buf, "string"), "got %s\n", buf);
 
     size = sizeof(buf);
     res = RegQueryValueExA(hkey, "binary", NULL, &type, (BYTE *)buf, &size);
-    ok(!res, "got %u\n", res);
-    ok(type == REG_BINARY, "got %d\n", type);
-    ok(size == 4, "got size %u\n", size);
+    ok(!res, "got %ld\n", res);
+    ok(type == REG_BINARY, "got %ld\n", type);
+    ok(size == 4, "got size %lu\n", size);
     ok(!memcmp(buf, "\x01\x23\x45\x67", 4), "wrong data\n");
 
     CHECK_REG_STR(hkey, "", "default");
 
     res = RegOpenKeyA(hkey, "VisualStudio", &subkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(subkey);
 
     CHECK_REG_MULTI(hkey, "Value1", "one\0");
@@ -4890,55 +4890,55 @@ static void test_write_registry_values(void)
     CHECK_REG_DWORD(hkey, "source", 1);
 
     res = RegOpenKeyA(hkey, "subkey", &subkey);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
     res = RegQueryValueExA(subkey, "", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     RegCloseKey(subkey);
 
     res = RegOpenKeyA(hkey, "create", &subkey);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(subkey);
 
     res = RegOpenKeyA(hkey, "delete", &subkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegCreateKeyA(hkey, "delete", &subkey);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(subkey);
 
     res = RegQueryValueExA(hkey, "instremove", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegOpenKeyA(hkey, "instremove", &subkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(!r, "got %u\n", r);
 
     res = RegQueryValueExA(hkey, "sz", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "multisz", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "dword", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "expandsz", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "binary", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     res = RegOpenKeyA(hkey, "VisualStudio", &subkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     res = RegQueryValueExA(hkey, "Value1", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "Value4", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "Value5", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "Value6", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "Value7", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
 todo_wine {
     CHECK_REG_MULTI(hkey, "Value2", "one\0");
@@ -4946,25 +4946,25 @@ todo_wine {
 }
 
     res = RegQueryValueExA(hkey, "format", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
     res = RegQueryValueExA(hkey, "source", NULL, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     res = RegOpenKeyA(hkey, "subkey", &subkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     res = RegOpenKeyA(hkey, "create", &subkey);
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
     RegCloseKey(subkey);
     res = RegDeleteKeyA(hkey, "create");
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
 
     res = RegOpenKeyA(hkey, "delete", &subkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     RegCloseKey(hkey);
     res = RegDeleteKeyA(HKEY_CURRENT_USER, "msitest");
-    ok(!res, "got %u\n", res);
+    ok(!res, "got %ld\n", res);
 
 error:
     DeleteFileA(msifile);
@@ -4987,20 +4987,20 @@ static void test_envvar(void)
     create_database(msifile, env_tables, ARRAY_SIZE(env_tables));
 
     res = RegCreateKeyExA(HKEY_CURRENT_USER, "Environment", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &env, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Control\\Session Manager\\Environment",
                           0, NULL, 0, KEY_ALL_ACCESS, NULL, &env2, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(env, "MSITESTVAR1", 0, REG_SZ, (const BYTE *)"0", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(env, "MSITESTVAR2", 0, REG_SZ, (const BYTE *)"0", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(env, "MSITESTVAR21", 0, REG_SZ, (const BYTE *)"1", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
 
@@ -5018,22 +5018,22 @@ static void test_envvar(void)
     CHECK_REG_STR(env, "MSITESTVAR4", "1");
 
     res = RegDeleteValueA(env, "MSITESTVAR5");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR6");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR7");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR8");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR9");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR10");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     CHECK_REG_STR(env, "MSITESTVAR11", "1;2");
     CHECK_REG_STR(env, "MSITESTVAR12", "1");
@@ -5050,13 +5050,13 @@ static void test_envvar(void)
     CHECK_REG_STR(env2, "MSITESTVAR100", "1");
 
     res = RegSetValueExA(env, "MSITESTVAR22", 0, REG_SZ, (const BYTE *)"1", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(env, "MSITESTVAR23", 0, REG_SZ, (const BYTE *)"1", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegDeleteValueA(env, "MSITESTVAR25");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(!r, "got %u\n", r);
@@ -5073,11 +5073,11 @@ static void test_envvar(void)
     {
         sprintf(buffer, "MSITESTVAR%i", i);
         res = RegDeleteValueA(env, buffer);
-        ok(res == ERROR_FILE_NOT_FOUND, "[%d] got %u\n", i, res);
+        ok(res == ERROR_FILE_NOT_FOUND, "[%d] got %ld\n", i, res);
     }
 
     res = RegDeleteValueA(env2, "MSITESTVAR100");
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
 error:
     RegDeleteValueA(env, "MSITESTVAR1");
@@ -5165,7 +5165,7 @@ static void test_start_stop_services(void)
         CloseServiceHandle(scm);
         return;
     }
-    ok(service != NULL, "Failed to open Spooler, error %d\n", GetLastError());
+    ok(service != NULL, "Failed to open Spooler, error %lu\n", GetLastError());
     if (!service) {
         CloseServiceHandle(scm);
         return;
@@ -5199,7 +5199,7 @@ static void test_start_stop_services(void)
         service = OpenServiceA(scm, "Spooler", SC_MANAGER_ALL_ACCESS);
 
         ret = ControlService(service, SERVICE_CONTROL_STOP, &status);
-        ok(ret, "ControlService failed %u\n", GetLastError());
+        ok(ret, "ControlService failed %lu\n", GetLastError());
 
         CloseServiceHandle(service);
         CloseServiceHandle(scm);
@@ -5230,7 +5230,7 @@ static void test_start_stop_services(void)
         service = OpenServiceA(scm, "Spooler", SC_MANAGER_ALL_ACCESS);
 
         ret = ControlService(service, SERVICE_CONTROL_STOP, &status);
-        ok(ret, "ControlService failed %u\n", GetLastError());
+        ok(ret, "ControlService failed %lu\n", GetLastError());
 
         CloseServiceHandle(service);
         CloseServiceHandle(scm);
@@ -5253,7 +5253,7 @@ static void delete_test_service(const char *name)
     if (service)
     {
         ret = DeleteService( service );
-        ok( ret, "failed to delete service %u\n", GetLastError() );
+        ok( ret, "failed to delete service %lu\n", GetLastError() );
         CloseServiceHandle(service);
     }
     CloseServiceHandle(manager);
@@ -5272,13 +5272,13 @@ static void test_delete_services(void)
     }
 
     manager = OpenSCManagerA(NULL, NULL, SC_MANAGER_ALL_ACCESS);
-    ok(manager != NULL, "can't open service manager %u\n", GetLastError());
+    ok(manager != NULL, "can't open service manager %lu\n", GetLastError());
     if (!manager) return;
 
     service = CreateServiceA(manager, "TestService3", "TestService3",
         SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START,
         SERVICE_ERROR_NORMAL, "C:\\doesnt_exist.exe", NULL, NULL, NULL, NULL, NULL);
-    ok(service != NULL, "can't create service %u\n", GetLastError());
+    ok(service != NULL, "can't create service %lu\n", GetLastError());
     CloseServiceHandle(service);
     CloseServiceHandle(manager);
     if (!service) return;
@@ -5303,7 +5303,7 @@ static void test_delete_services(void)
     service = OpenServiceA(manager, "TestService3", GENERIC_ALL);
     error = GetLastError();
     ok(service == NULL, "TestService3 not deleted\n");
-    ok(error == ERROR_SERVICE_DOES_NOT_EXIST, "wrong error %u\n", error);
+    ok(error == ERROR_SERVICE_DOES_NOT_EXIST, "wrong error %lu\n", error);
     CloseServiceHandle(manager);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
@@ -5370,7 +5370,7 @@ static void test_install_services(void)
     ok(service == NULL, "TestService4 installed\n");
 
     res = RegOpenKeyA(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\TestService", &hKey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     if (res == ERROR_SUCCESS)
     {
@@ -5378,7 +5378,7 @@ static void test_install_services(void)
         err_controltype = REG_DWORD;
         err_controlsize = sizeof(err_control);
         res = RegQueryValueExA(hKey, "ErrorControl", NULL, &err_controltype, (LPBYTE)&err_control, &err_controlsize);
-        ok(err_control == 0, "TestService.ErrorControl wrong, expected 0, got %u\n", err_control);
+        ok(err_control == 0, "TestService.ErrorControl wrong, expected 0, got %lu\n", err_control);
         RegCloseKey(hKey);
     }
 
@@ -5491,7 +5491,7 @@ static void test_register_font(void)
         RegOpenKeyExA(HKEY_LOCAL_MACHINE, regfont2, 0, access, &key);
 
     ret = RegQueryValueExA(key, "msi test font", NULL, NULL, NULL, NULL);
-    ok(ret != ERROR_FILE_NOT_FOUND, "unexpected result %d\n", ret);
+    ok(ret != ERROR_FILE_NOT_FOUND, "unexpected result %ld\n", ret);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -5499,7 +5499,7 @@ static void test_register_font(void)
     ok(!delete_pf("msitest", FALSE), "directory not removed\n");
 
     ret = RegQueryValueExA(key, "msi test font", NULL, NULL, NULL, NULL);
-    ok(ret == ERROR_FILE_NOT_FOUND, "unexpected result %d\n", ret);
+    ok(ret == ERROR_FILE_NOT_FOUND, "unexpected result %ld\n", ret);
 
     RegDeleteValueA(key, "msi test font");
     RegCloseKey(key);
@@ -5679,14 +5679,14 @@ static void test_register_typelib(void)
     ok(r == ERROR_SUCCESS, "got %u\n", r);
 
     hr = LoadRegTypeLib(&LIBID_register_test, 7, 1, 0, &tlb);
-    ok(hr == S_OK, "got %#x\n", hr);
+    ok(hr == S_OK, "got %#lx\n", hr);
     ITypeLib_Release(tlb);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     hr = LoadRegTypeLib(&LIBID_register_test, 7, 1, 0, &tlb);
-    ok(hr == TYPE_E_LIBNOTREGISTERED, "got %#x\n", hr);
+    ok(hr == TYPE_E_LIBNOTREGISTERED, "got %#lx\n", hr);
 
     ok(!delete_pf("msitest\\typelib.dll", TRUE), "file not removed\n");
     ok(!delete_pf("msitest", FALSE), "directory not removed\n");
@@ -5776,24 +5776,24 @@ static void test_publish_components(void)
     ok(r == ERROR_SUCCESS, "MsiProvideQualifiedComponent returned %d\n", r);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, keypath, &key);
-    ok(res == ERROR_SUCCESS, "components key not created %d\n", res);
+    ok(res == ERROR_SUCCESS, "components key not created %ld\n", res);
 
     res = RegQueryValueExA(key, "english.txt", NULL, NULL, NULL, &size);
-    ok(res == ERROR_SUCCESS, "value not found %d\n", res);
+    ok(res == ERROR_SUCCESS, "value not found %ld\n", res);
 
     data = malloc(size);
     res = RegQueryValueExA(key, "english.txt", NULL, NULL, data, &size);
-    ok(res == ERROR_SUCCESS, "value not found %d\n", res);
+    ok(res == ERROR_SUCCESS, "value not found %ld\n", res);
     RegCloseKey(key);
 
     res = RegDeleteKeyA(HKEY_CURRENT_USER, keypath);
-    ok(res == ERROR_SUCCESS, "RegDeleteKey failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegDeleteKey failed %ld\n", res);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath2, 0, NULL, REG_OPTION_NON_VOLATILE,
             MAXIMUM_ALLOWED | KEY_WOW64_64KEY, NULL, &key, NULL );
-    ok(res == ERROR_SUCCESS, "RegCreateKeyEx failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegCreateKeyEx failed %ld\n", res);
     res = RegSetValueExA(key, "english.txt", 0, REG_MULTI_SZ, data, size);
-    ok(res == ERROR_SUCCESS, "RegSetValueEx failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegSetValueEx failed %ld\n", res);
     RegCloseKey(key);
 
     size = 0;
@@ -5805,13 +5805,13 @@ static void test_publish_components(void)
         res = pRegDeleteKeyExA(HKEY_LOCAL_MACHINE, keypath2, KEY_WOW64_64KEY, 0);
     else
         res = RegDeleteKeyA(HKEY_LOCAL_MACHINE, keypath2);
-    ok(res == ERROR_SUCCESS, "RegDeleteKey failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegDeleteKey failed %ld\n", res);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &key);
-    ok(res == ERROR_SUCCESS, "RegCreateKey failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegCreateKey failed %ld\n", res);
 
     res = RegSetValueExA(key, "english.txt", 0, REG_MULTI_SZ, data, size);
-    ok(res == ERROR_SUCCESS, "RegSetValueEx failed %d\n", res);
+    ok(res == ERROR_SUCCESS, "RegSetValueEx failed %ld\n", res);
     free(data);
     RegCloseKey(key);
 
@@ -5819,7 +5819,7 @@ static void test_publish_components(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, keypath, &key);
-    ok(res == ERROR_FILE_NOT_FOUND, "unexpected result %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "unexpected result %ld\n", res);
 
     ok(!delete_pf("msitest\\english.txt", TRUE), "file not removed\n");
     ok(!delete_pf("msitest", FALSE), "directory not removed\n");
@@ -5951,7 +5951,7 @@ static void test_ini_values(void)
     CloseHandle(file);
 
     ret = WritePrivateProfileStringA("sectionA", "keyA", "valueA", inifile);
-    ok(ret, "failed to write profile string %u\n", GetLastError());
+    ok(ret, "failed to write profile string %lu\n", GetLastError());
 
     MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
 
@@ -5959,19 +5959,19 @@ static void test_ini_values(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     len = GetPrivateProfileStringA("section1", "key1", NULL, buf, sizeof(buf), inifile);
-    ok(len == 6, "got %u expected 6\n", len);
+    ok(len == 6, "got %lu expected 6\n", len);
 
     len = GetPrivateProfileStringA("sectionA", "keyA", NULL, buf, sizeof(buf), inifile);
-    ok(!len, "got %u expected 0\n", len);
+    ok(!len, "got %lu expected 0\n", len);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     len = GetPrivateProfileStringA("section1", "key1", NULL, buf, sizeof(buf), inifile);
-    ok(!len, "got %u expected 0\n", len);
+    ok(!len, "got %lu expected 0\n", len);
 
     len = GetPrivateProfileStringA("sectionA", "keyA", NULL, buf, sizeof(buf), inifile);
-    ok(!len, "got %u expected 0\n", len);
+    ok(!len, "got %lu expected 0\n", len);
 
     todo_wine ok(!delete_pf("msitest\\test.ini", TRUE), "file removed\n");
     ok(!delete_pf("msitest\\inifile.txt", TRUE), "file not removed\n");
@@ -6360,31 +6360,31 @@ static void test_publish_assemblies(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, path_dotnet, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_dotnet, "rcHQPHq?CA at Uv-XqMI1e>Z'q,T*76M@=YEg6My?~]\0");
     RegCloseKey(hkey);
 
     path = (is_wow64 || is_64bit) ? path_dotnet_local_wow64 : path_dotnet_local;
     res = RegOpenKeyA(HKEY_CURRENT_USER, path, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_dotnet_local, "rcHQPHq?CA at Uv-XqMI1e>LF,8A?0d.AW at vcZ$Cgox\0");
     RegCloseKey(hkey);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, path_win32, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_win32, "rcHQPHq?CA at Uv-XqMI1e>}NJjwR'%D9v1p!v{WV(%\0");
     RegCloseKey(hkey);
 
     path = (is_wow64 || is_64bit) ? path_win32_local_wow64 : path_win32_local;
     res = RegOpenKeyA(HKEY_CURRENT_USER, path, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_win32_local, "rcHQPHq?CA at Uv-XqMI1e>C)Uvlj*53A)u(QQ9=)X!\0");
     RegCloseKey(hkey);
 
     /* No registration is done for a local assembly with no matching file */
     path = (is_wow64 || is_64bit) ? path_fake_local_wow64 : path_fake_local;
     res = RegOpenKeyA(HKEY_CURRENT_USER, path, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -6393,25 +6393,25 @@ static void test_publish_assemblies(void)
     if (res == ERROR_SUCCESS)
     {
         res = RegDeleteValueA(hkey, name_dotnet);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
         RegCloseKey(hkey);
     }
 
     path = (is_wow64 || is_64bit) ? path_dotnet_local_wow64 : path_dotnet_local;
     res = RegOpenKeyA(HKEY_CURRENT_USER, path, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, path_win32, &hkey);
     if (res == ERROR_SUCCESS)
     {
         res = RegDeleteValueA(hkey, name_win32);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
         RegCloseKey(hkey);
     }
 
     path = (is_wow64 || is_64bit) ? path_win32_local_wow64 : path_win32_local;
     res = RegOpenKeyA(HKEY_CURRENT_USER, path, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "ALLUSERS=1");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -6424,31 +6424,31 @@ static void test_publish_assemblies(void)
         access = KEY_QUERY_VALUE | KEY_WOW64_64KEY;
         res = RegOpenKeyExA(HKEY_CLASSES_ROOT, classes_path_dotnet, 0, access, &hkey);
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_dotnet, "rcHQPHq?CA at Uv-XqMI1e>Z'q,T*76M@=YEg6My?~]\0");
     RegCloseKey(hkey);
 
     path = (is_wow64 || is_64bit) ? classes_path_dotnet_local_wow64 : classes_path_dotnet_local;
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT, path, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_dotnet_local, "rcHQPHq?CA at Uv-XqMI1e>LF,8A?0d.AW at vcZ$Cgox\0");
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT, classes_path_win32, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_win32, "rcHQPHq?CA at Uv-XqMI1e>}NJjwR'%D9v1p!v{WV(%\0");
     RegCloseKey(hkey);
 
     path = (is_wow64 || is_64bit) ? classes_path_win32_local_wow64 : classes_path_win32_local;
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT, path, 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_MULTI(hkey, name_win32_local, "rcHQPHq?CA at Uv-XqMI1e>C)Uvlj*53A)u(QQ9=)X!\0");
     RegCloseKey(hkey);
 
     /* No registration is done for a local assembly with no matching file */
     path = (is_wow64 || is_64bit) ? classes_path_fake_local_wow64 : classes_path_fake_local;
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT, path, 0, access, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "got %u\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL ALLUSERS=1");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -6457,25 +6457,25 @@ static void test_publish_assemblies(void)
     if (res == ERROR_SUCCESS)
     {
         res = RegDeleteValueA(hkey, name_dotnet);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
         RegCloseKey(hkey);
     }
 
     path = (is_wow64 || is_64bit) ? classes_path_dotnet_local_wow64 : classes_path_dotnet_local;
     res = RegOpenKeyA(HKEY_CLASSES_ROOT, path, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     res = RegOpenKeyA(HKEY_CLASSES_ROOT, classes_path_win32, &hkey);
     if (res == ERROR_SUCCESS)
     {
         res = RegDeleteValueA(hkey, name_win32);
-        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+        ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
         RegCloseKey(hkey);
     }
 
     path = (is_wow64 || is_64bit) ? classes_path_win32_local_wow64 : classes_path_win32_local;
     res = RegOpenKeyA(HKEY_CLASSES_ROOT, path, &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
 done:
     DeleteFileA("msitest\\win32.txt");
diff --git a/dlls/msi/tests/automation.c b/dlls/msi/tests/automation.c
index 5d0126e6ac4..45354cc2bb2 100644
--- a/dlls/msi/tests/automation.c
+++ b/dlls/msi/tests/automation.c
@@ -343,7 +343,7 @@ static BOOL create_package(LPWSTR path)
 
     len = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
                               CURR_DIR, -1, path, MAX_PATH);
-    ok(len, "MultiByteToWideChar returned error %d\n", GetLastError());
+    ok(len, "MultiByteToWideChar returned error %lu\n", GetLastError());
     if (!len)
         return FALSE;
 
@@ -581,32 +581,32 @@ static void test_dispid(void)
     {
         dispid = get_dispid(pInstaller, ptr->name);
         todo_wine_if (ptr->todo)
-            ok(dispid == ptr->did, "%s: expected %d, got %d\n", ptr->name, ptr->did, dispid);
+            ok(dispid == ptr->did, "%s: expected %ld, got %ld\n", ptr->name, ptr->did, dispid);
         ptr++;
     }
 
     dispid = get_dispid(pInstaller, "RemovePatches");
-    ok(dispid == 49 || dispid == -1, "Expected 49 or -1, got %d\n", dispid);
+    ok(dispid == 49 || dispid == -1, "Expected 49 or -1, got %ld\n", dispid);
     dispid = get_dispid(pInstaller, "ApplyMultiplePatches");
-    ok(dispid == 51 || dispid == -1, "Expected 51 or -1, got %d\n", dispid);
+    ok(dispid == 51 || dispid == -1, "Expected 51 or -1, got %ld\n", dispid);
     dispid = get_dispid(pInstaller, "ProductsEx");
-    ok(dispid == 52 || dispid == -1, "Expected 52 or -1, got %d\n", dispid);
+    ok(dispid == 52 || dispid == -1, "Expected 52 or -1, got %ld\n", dispid);
     dispid = get_dispid(pInstaller, "PatchesEx");
-    ok(dispid == 55 || dispid == -1, "Expected 55 or -1, got %d\n", dispid);
+    ok(dispid == 55 || dispid == -1, "Expected 55 or -1, got %ld\n", dispid);
     dispid = get_dispid(pInstaller, "ExtractPatchXMLData");
-    ok(dispid == 57 || dispid == -1, "Expected 57 or -1, got %d\n", dispid);
+    ok(dispid == 57 || dispid == -1, "Expected 57 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "ProductElevated" );
-    ok(dispid == 59 || dispid == -1, "Expected 59 or -1, got %d\n", dispid);
+    ok(dispid == 59 || dispid == -1, "Expected 59 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "ProvideAssembly" );
-    ok(dispid == 60 || dispid == -1, "Expected 60 or -1, got %d\n", dispid);
+    ok(dispid == 60 || dispid == -1, "Expected 60 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "ProductInfoFromScript" );
-    ok(dispid == 61 || dispid == -1, "Expected 61 or -1, got %d\n", dispid);
+    ok(dispid == 61 || dispid == -1, "Expected 61 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "AdvertiseProduct" );
-    ok(dispid == 62 || dispid == -1, "Expected 62 or -1, got %d\n", dispid);
+    ok(dispid == 62 || dispid == -1, "Expected 62 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "CreateAdvertiseScript" );
-    ok(dispid == 63 || dispid == -1, "Expected 63 or -1, got %d\n", dispid);
+    ok(dispid == 63 || dispid == -1, "Expected 63 or -1, got %ld\n", dispid);
     dispid = get_dispid( pInstaller, "PatchFiles" );
-    ok(dispid == 65 || dispid == -1, "Expected 65 or -1, got %d\n", dispid);
+    ok(dispid == 65 || dispid == -1, "Expected 65 or -1, got %ld\n", dispid);
 }
 
 /* Test basic IDispatch functions */
@@ -623,16 +623,16 @@ static void test_dispatch(void)
     /* Test getting ID of a function name that does not exist */
     name = (WCHAR *)L"winetest-automation.msi";
     hr = IDispatch_GetIDsOfNames(pInstaller, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid);
-    ok(hr == DISP_E_UNKNOWNNAME, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr);
+    ok(hr == DISP_E_UNKNOWNNAME, "IDispatch::GetIDsOfNames returned %#lx\n", hr);
 
     /* Test invoking this function */
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, NULL, NULL, NULL, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned %#lx\n", hr);
 
     /* Test getting ID of a function name that does exist */
     name = (WCHAR *)L"OpenPackage";
     hr = IDispatch_GetIDsOfNames(pInstaller, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid);
-    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned %#lx\n", hr);
 
     /* Test invoking this function (without parameters passed) */
     if (0) /* All of these crash MSI on Windows XP */
@@ -645,21 +645,21 @@ static void test_dispatch(void)
 
     /* Try with NULL params */
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned %#lx\n", hr);
 
     /* Try one empty parameter */
     dispparams.rgvarg = vararg;
     dispparams.cArgs = 1;
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned %#lx\n", hr);
 
     /* Try two empty parameters */
     dispparams.cArgs = 2;
     VariantInit(&vararg[0]);
     VariantInit(&vararg[1]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned %#lx\n", hr);
 
     /* Try one parameter, the required BSTR.  Second parameter is optional.
      * NOTE: The specified package does not exist, which is why the call fails.
@@ -669,7 +669,7 @@ static void test_dispatch(void)
     V_VT(&vararg[0]) = VT_BSTR;
     V_BSTR(&vararg[0]) = SysAllocString(L"winetest-automation.msi");
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned %#lx\n", hr);
     ok_exception(hr, L"OpenPackage,PackagePath,Options");
     VariantClear(&vararg[0]);
 
@@ -682,7 +682,7 @@ static void test_dispatch(void)
     V_BSTR(&vararg[1]) = SysAllocString(L"winetest-automation.msi");
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned %#lx\n", hr);
     ok_exception(hr, L"OpenPackage,PackagePath,Options");
     VariantClear(&vararg[1]);
 
@@ -696,7 +696,7 @@ static void test_dispatch(void)
     VariantInit(&vararg[1]);
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned %#lx\n", hr);
     ok_exception(hr, L"OpenPackage,PackagePath,Options");
     VariantClear(&vararg[2]);
 
@@ -709,7 +709,7 @@ static void test_dispatch(void)
     V_VT(&vararg[0]) = VT_BSTR;
     V_BSTR(&vararg[0]) = SysAllocString(L"winetest-automation.msi");
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[0]);
     VariantClear(&vararg[1]);
 
@@ -724,7 +724,7 @@ static void test_dispatch(void)
     V_VT(&vararg[0]) = VT_BSTR;
     V_BSTR(&vararg[0]) = SysAllocString(L"winetest-automation.msi");
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    todo_wine ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned 0x%08x\n", hr);
+    todo_wine ok(hr == DISP_E_EXCEPTION, "IDispatch::Invoke returned %#lx\n", hr);
     ok_exception(hr, L"OpenPackage,PackagePath,Options");
     VariantClear(&vararg[0]);
     if (hr != DISP_E_EXCEPTION)
@@ -744,7 +744,7 @@ static void test_dispatch(void)
         DeleteFileW(path);
         return;
     }
-    ok(hr == S_OK, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[0]);
     VariantClear(&varresult);
 
@@ -757,7 +757,7 @@ static void test_dispatch(void)
     V_BSTR(&vararg[1]) = SysAllocString(path);
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == S_OK, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[1]);
     VariantClear(&varresult);
 
@@ -771,7 +771,7 @@ static void test_dispatch(void)
     VariantInit(&vararg[1]);
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == S_OK, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[2]);
     VariantClear(&varresult);
 
@@ -784,7 +784,7 @@ static void test_dispatch(void)
     V_VT(&vararg[0]) = VT_BSTR;
     V_BSTR(&vararg[0]) = SysAllocString(path);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[0]);
     VariantClear(&vararg[1]);
 
@@ -799,7 +799,7 @@ static void test_dispatch(void)
     V_VT(&vararg[0]) = VT_I2;
     V_BSTR(&vararg[0]) = 0;
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == S_OK, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::Invoke returned %#lx\n", hr);
     VariantClear(&vararg[1]);
     VariantClear(&varresult);
 
@@ -808,26 +808,26 @@ static void test_dispatch(void)
     /* Test invoking a method as a DISPATCH_PROPERTYGET or DISPATCH_PROPERTYPUT */
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYGET, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned %#lx\n", hr);
 
     VariantInit(&vararg[0]);
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYPUT, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned %#lx\n", hr);
 
     /* Test invoking a read-only property as DISPATCH_PROPERTYPUT or as a DISPATCH_METHOD */
     name = (WCHAR *)L"ProductState";
     hr = IDispatch_GetIDsOfNames(pInstaller, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid);
-    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned %#lx\n", hr);
 
     dispparams.rgvarg = NULL;
     dispparams.cArgs = 0;
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYPUT, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned %#lx\n", hr);
 
     dispparams.rgvarg = NULL;
     dispparams.cArgs = 0;
     hr = IDispatch_Invoke(pInstaller, dispid, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "IDispatch::Invoke returned %#lx\n", hr);
 }
 
 /* invocation helper function */
@@ -850,7 +850,7 @@ static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARA
     MultiByteToWideChar(CP_ACP, 0, szName, -1, name, len );
     hr = IDispatch_GetIDsOfNames(pDispatch, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid);
     free(name);
-    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr);
+    ok(hr == S_OK, "IDispatch::GetIDsOfNames returned %#lx\n", hr);
     if (hr != S_OK) return hr;
 
     memset(&excepinfo, 0, sizeof(excepinfo));
@@ -863,7 +863,7 @@ static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARA
         if (vtResult != VT_EMPTY)
         {
             hr = VariantChangeTypeEx(pVarResult, pVarResult, LOCALE_NEUTRAL, 0, vtResult);
-            ok(hr == S_OK, "VariantChangeTypeEx returned 0x%08x\n", hr);
+            ok(hr == S_OK, "VariantChangeTypeEx returned %#lx\n", hr);
         }
     }
 
@@ -1584,7 +1584,7 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
 
     /* SummaryInfo::PropertyCount */
     hr = SummaryInfo_PropertyCountGet(pSummaryInfo, &j);
-    ok(hr == S_OK, "SummaryInfo_PropertyCount failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyCount failed, hresult %#lx\n", hr);
     ok(j == num_info, "SummaryInfo_PropertyCount returned %d, expected %d\n", j, num_info);
 
     /* SummaryInfo::Property, get for properties we have set */
@@ -1598,11 +1598,11 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
         else if (vt == VT_I2) vt = VT_I4;
 
         hr = SummaryInfo_PropertyGet(pSummaryInfo, entry->property, &varresult, vt);
-        ok(hr == S_OK, "SummaryInfo_Property (pid %d) failed, hresult 0x%08x\n", entry->property, hr);
+        ok(hr == S_OK, "SummaryInfo_Property (pid %d) failed, hresult %#lx\n", entry->property, hr);
         if (V_VT(&varresult) != vt)
             skip("Skipping property tests due to type mismatch\n");
         else if (vt == VT_I4)
-            ok(V_I4(&varresult) == entry->iValue, "SummaryInfo_Property (pid %d) I4 result expected to be %d, but was %d\n",
+            ok(V_I4(&varresult) == entry->iValue, "SummaryInfo_Property (pid %d) I4 result expected to be %d, but was %ld\n",
                entry->property, entry->iValue, V_I4(&varresult));
         else if (vt == VT_DATE)
         {
@@ -1628,32 +1628,32 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
 
     /* Invalid pids */
     hr = SummaryInfo_PropertyGet(pSummaryInfo, -1, &varresult, VT_EMPTY);
-    ok(hr == DISP_E_EXCEPTION, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Property,Pid");
 
     hr = SummaryInfo_PropertyGet(pSummaryInfo, 1000, &varresult, VT_EMPTY);
-    ok(hr == DISP_E_EXCEPTION, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Property,Pid");
 
     /* Unsupported pids */
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_DICTIONARY, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_THUMBNAIL, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     /* Pids we have not set, one for each type */
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_CODEPAGE, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_TITLE, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_EDITTIME, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_CHARCOUNT, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
 
     if (!readonly)
     {
@@ -1664,10 +1664,10 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
         V_VT(&var) = VT_I2;
         V_I2(&var) = 1;
         hr = SummaryInfo_PropertyPut(pSummaryInfo, PID_CODEPAGE, &var);
-        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult %#lx\n", hr);
 
         hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_CODEPAGE, &varresult, VT_I4 /* NOT VT_I2 */);
-        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
         ok(V_I2(&var) == V_I2(&varresult), "SummaryInfo_PropertyGet expected %d, but returned %d\n", V_I2(&var), V_I2(&varresult));
         VariantClear(&varresult);
         VariantClear(&var);
@@ -1676,10 +1676,10 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = SysAllocString(L"Title");
         hr = SummaryInfo_PropertyPut(pSummaryInfo, PID_TITLE, &var);
-        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult %#lx\n", hr);
 
         hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_TITLE, &varresult, V_VT(&var));
-        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
         ok_w2("SummaryInfo_PropertyGet expected %s, but returned %s\n", V_BSTR(&var), V_BSTR(&varresult));
         VariantClear(&varresult);
         VariantClear(&var);
@@ -1689,10 +1689,10 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
         FileTimeToSystemTime(&systemtime, &st);
         SystemTimeToVariantTime(&st, &V_DATE(&var));
         hr = SummaryInfo_PropertyPut(pSummaryInfo, PID_LASTSAVE_DTM, &var);
-        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult %#lx\n", hr);
 
         hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_LASTSAVE_DTM, &varresult, V_VT(&var));
-        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
         ok(V_DATE(&var) == V_DATE(&varresult), "SummaryInfo_PropertyGet expected %lf, but returned %lf\n", V_DATE(&var), V_DATE(&varresult));
         VariantClear(&varresult);
         VariantClear(&var);
@@ -1701,17 +1701,17 @@ static void test_SummaryInfo(IDispatch *pSummaryInfo, const msi_summary_info *in
         V_VT(&var) = VT_I4;
         V_I4(&var) = 1000;
         hr = SummaryInfo_PropertyPut(pSummaryInfo, PID_CHARCOUNT, &var);
-        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyPut failed, hresult %#lx\n", hr);
 
         hr = SummaryInfo_PropertyGet(pSummaryInfo, PID_CHARCOUNT, &varresult, V_VT(&var));
-        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult 0x%08x\n", hr);
-        ok(V_I4(&var) == V_I4(&varresult), "SummaryInfo_PropertyGet expected %d, but returned %d\n", V_I4(&var), V_I4(&varresult));
+        ok(hr == S_OK, "SummaryInfo_PropertyGet failed, hresult %#lx\n", hr);
+        ok(V_I4(&var) == V_I4(&varresult), "SummaryInfo_PropertyGet expected %ld, but returned %ld\n", V_I4(&var), V_I4(&varresult));
         VariantClear(&varresult);
         VariantClear(&var);
 
         /* SummaryInfo::PropertyCount */
         hr = SummaryInfo_PropertyCountGet(pSummaryInfo, &j);
-        ok(hr == S_OK, "SummaryInfo_PropertyCount failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "SummaryInfo_PropertyCount failed, hresult %#lx\n", hr);
         ok(j == num_info+4, "SummaryInfo_PropertyCount returned %d, expected %d\n", j, num_info);
     }
 }
@@ -1722,7 +1722,7 @@ static void test_Database(IDispatch *pDatabase, BOOL readonly)
     HRESULT hr;
 
     hr = Database_OpenView(pDatabase, L"SELECT `Feature` FROM `Feature` WHERE `Feature_Parent`='One'", &pView);
-    ok(hr == S_OK, "Database_OpenView failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Database_OpenView failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         IDispatch *pRecord = NULL;
@@ -1730,55 +1730,55 @@ static void test_Database(IDispatch *pDatabase, BOOL readonly)
 
         /* View::Execute */
         hr = View_Execute(pView, NULL);
-        ok(hr == S_OK, "View_Execute failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "View_Execute failed, hresult %#lx\n", hr);
 
         /* View::Fetch */
         hr = View_Fetch(pView, &pRecord);
-        ok(hr == S_OK, "View_Fetch failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "View_Fetch failed, hresult %#lx\n", hr);
         ok(pRecord != NULL, "View_Fetch should not have returned NULL record\n");
         if (pRecord)
         {
             /* Record::StringDataGet */
             memset(szString, 0, sizeof(szString));
             hr = Record_StringDataGet(pRecord, 1, szString);
-            ok(hr == S_OK, "Record_StringDataGet failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "Record_StringDataGet failed, hresult %#lx\n", hr);
             ok_w2("Record_StringDataGet result was %s but expected %s\n", szString, L"Three");
 
             /* Record::StringDataPut with correct index */
             hr = Record_StringDataPut(pRecord, 1, L"Two");
-            ok(hr == S_OK, "Record_StringDataPut failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "Record_StringDataPut failed, hresult %#lx\n", hr);
 
             /* Record::StringDataGet */
             memset(szString, 0, sizeof(szString));
             hr = Record_StringDataGet(pRecord, 1, szString);
-            ok(hr == S_OK, "Record_StringDataGet failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "Record_StringDataGet failed, hresult %#lx\n", hr);
             ok_w2("Record_StringDataGet result was %s but expected %s\n", szString, L"Two");
 
             /* Record::StringDataPut with incorrect index */
             hr = Record_StringDataPut(pRecord, -1, szString);
-            ok(hr == DISP_E_EXCEPTION, "Record_StringDataPut failed, hresult 0x%08x\n", hr);
+            ok(hr == DISP_E_EXCEPTION, "Record_StringDataPut failed, hresult %#lx\n", hr);
             ok_exception(hr, L"StringData,Field");
 
             /* View::Modify with incorrect parameters */
             hr = View_Modify(pView, -5, NULL);
-            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult 0x%08x\n", hr);
+            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult %#lx\n", hr);
             ok_exception(hr, L"Modify,Mode,Record");
 
             hr = View_Modify(pView, -5, pRecord);
-            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult 0x%08x\n", hr);
+            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult %#lx\n", hr);
             ok_exception(hr, L"Modify,Mode,Record");
 
             hr = View_Modify(pView, MSIMODIFY_REFRESH, NULL);
-            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult 0x%08x\n", hr);
+            ok(hr == DISP_E_EXCEPTION, "View_Modify failed, hresult %#lx\n", hr);
             ok_exception(hr, L"Modify,Mode,Record");
 
             hr = View_Modify(pView, MSIMODIFY_REFRESH, pRecord);
-            ok(hr == S_OK, "View_Modify failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "View_Modify failed, hresult %#lx\n", hr);
 
             /* Record::StringDataGet, confirm that the record is back to its unmodified value */
             memset(szString, 0, sizeof(szString));
             hr = Record_StringDataGet(pRecord, 1, szString);
-            ok(hr == S_OK, "Record_StringDataGet failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "Record_StringDataGet failed, hresult %#lx\n", hr);
             todo_wine ok_w2("Record_StringDataGet result was %s but expected %s\n", szString, L"Three");
 
             IDispatch_Release(pRecord);
@@ -1786,14 +1786,14 @@ static void test_Database(IDispatch *pDatabase, BOOL readonly)
 
         /* View::Fetch */
         hr = View_Fetch(pView, &pRecord);
-        ok(hr == S_OK, "View_Fetch failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "View_Fetch failed, hresult %#lx\n", hr);
         ok(pRecord != NULL, "View_Fetch should not have returned NULL record\n");
         if (pRecord)
         {
             /* Record::StringDataGet */
             memset(szString, 0, sizeof(szString));
             hr = Record_StringDataGet(pRecord, 1, szString);
-            ok(hr == S_OK, "Record_StringDataGet failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "Record_StringDataGet failed, hresult %#lx\n", hr);
             ok_w2("Record_StringDataGet result was %s but expected %s\n", szString, L"Two");
 
             IDispatch_Release(pRecord);
@@ -1801,21 +1801,21 @@ static void test_Database(IDispatch *pDatabase, BOOL readonly)
 
         /* View::Fetch */
         hr = View_Fetch(pView, &pRecord);
-        ok(hr == S_OK, "View_Fetch failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "View_Fetch failed, hresult %#lx\n", hr);
         ok(pRecord == NULL, "View_Fetch should have returned NULL record\n");
         if (pRecord)
             IDispatch_Release(pRecord);
 
         /* View::Close */
         hr = View_Close(pView);
-        ok(hr == S_OK, "View_Close failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "View_Close failed, hresult %#lx\n", hr);
 
         IDispatch_Release(pView);
     }
 
     /* Database::SummaryInformation */
     hr = Database_SummaryInformation(pDatabase, TEST_SUMMARYINFO_PROPERTIES_MODIFIED, &pSummaryInfo);
-    ok(hr == S_OK, "Database_SummaryInformation failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Database_SummaryInformation failed, hresult %#lx\n", hr);
     ok(pSummaryInfo != NULL, "Database_SummaryInformation should not have returned NULL record\n");
     if (pSummaryInfo)
     {
@@ -1837,93 +1837,93 @@ static void test_Session(IDispatch *pSession)
 
     /* Session::Installer */
     hr = Session_Installer(pSession, &pInst);
-    ok(hr == S_OK, "Session_Installer failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_Installer failed, hresult %#lx\n", hr);
     ok(pInst != NULL, "Session_Installer returned NULL IDispatch pointer\n");
     ok(pInst == pInstaller, "Session_Installer does not match Installer instance from CoCreateInstance\n");
     refs_before = IDispatch_AddRef(pInst);
 
     hr = Session_Installer(pSession, &pInst);
-    ok(hr == S_OK, "Session_Installer failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_Installer failed, hresult %#lx\n", hr);
     ok(pInst != NULL, "Session_Installer returned NULL IDispatch pointer\n");
     ok(pInst == pInstaller, "Session_Installer does not match Installer instance from CoCreateInstance\n");
     refs_after = IDispatch_Release(pInst);
-    ok(refs_before == refs_after, "got %u and %u\n", refs_before, refs_after);
+    ok(refs_before == refs_after, "got %lu and %lu\n", refs_before, refs_after);
 
     /* Session::Property, get */
     memset(stringw, 0, sizeof(stringw));
     hr = Session_PropertyGet(pSession, L"ProductName", stringw);
-    ok(hr == S_OK, "Session_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_PropertyGet failed, hresult %#lx\n", hr);
     if (lstrcmpW(stringw, L"MSITEST") != 0)
     {
         len = WideCharToMultiByte(CP_ACP, 0, stringw, -1, string, MAX_PATH, NULL, NULL);
-        ok(len, "WideCharToMultiByteChar returned error %d\n", GetLastError());
+        ok(len, "WideCharToMultiByteChar returned error %lu\n", GetLastError());
         ok(0, "Property \"ProductName\" expected to be \"MSITEST\" but was \"%s\"\n", string);
     }
 
     /* Session::Property, put */
     hr = Session_PropertyPut(pSession, L"ProductName", L"ProductName");
-    ok(hr == S_OK, "Session_PropertyPut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_PropertyPut failed, hresult %#lx\n", hr);
     memset(stringw, 0, sizeof(stringw));
     hr = Session_PropertyGet(pSession, L"ProductName", stringw);
-    ok(hr == S_OK, "Session_PropertyGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_PropertyGet failed, hresult %#lx\n", hr);
     if (lstrcmpW(stringw, L"ProductName") != 0)
     {
         len = WideCharToMultiByte(CP_ACP, 0, stringw, -1, string, MAX_PATH, NULL, NULL);
-        ok(len, "WideCharToMultiByteChar returned error %d\n", GetLastError());
+        ok(len, "WideCharToMultiByteChar returned error %lu\n", GetLastError());
         ok(0, "Property \"ProductName\" expected to be \"ProductName\" but was \"%s\"\n", string);
     }
 
     /* Try putting a property using empty property identifier */
     hr = Session_PropertyPut(pSession, L"", L"ProductName");
-    ok(hr == DISP_E_EXCEPTION, "Session_PropertyPut failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Session_PropertyPut failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Property,Name");
 
     /* Try putting a property using illegal property identifier */
     hr = Session_PropertyPut(pSession, L"=", L"ProductName");
-    ok(hr == S_OK, "Session_PropertyPut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_PropertyPut failed, hresult %#lx\n", hr);
 
     /* Session::Language, get */
     hr = Session_LanguageGet(pSession, &len);
-    ok(hr == S_OK, "Session_LanguageGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_LanguageGet failed, hresult %#lx\n", hr);
     /* Not sure how to check the language is correct */
 
     /* Session::Mode, get */
     hr = Session_ModeGet(pSession, MSIRUNMODE_REBOOTATEND, &bool);
-    ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModeGet failed, hresult %#lx\n", hr);
     ok(!bool, "Reboot at end session mode is %d\n", bool);
 
     hr = Session_ModeGet(pSession, MSIRUNMODE_MAINTENANCE, &bool);
-    ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModeGet failed, hresult %#lx\n", hr);
     ok(!bool, "Maintenance mode is %d\n", bool);
 
     /* Session::Mode, put */
     hr = Session_ModePut(pSession, MSIRUNMODE_REBOOTATEND, VARIANT_TRUE);
-    ok(hr == S_OK, "Session_ModePut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModePut failed, hresult %#lx\n", hr);
     hr = Session_ModeGet(pSession, MSIRUNMODE_REBOOTATEND, &bool);
-    ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModeGet failed, hresult %#lx\n", hr);
     ok(bool, "Reboot at end session mode is %d, expected 1\n", bool);
     hr = Session_ModePut(pSession, MSIRUNMODE_REBOOTATEND, VARIANT_FALSE);  /* set it again so we don't reboot */
-    ok(hr == S_OK, "Session_ModePut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModePut failed, hresult %#lx\n", hr);
 
     hr = Session_ModePut(pSession, MSIRUNMODE_REBOOTNOW, VARIANT_TRUE);
-    ok(hr == S_OK, "Session_ModePut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModePut failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Mode,Flag");
 
     hr = Session_ModeGet(pSession, MSIRUNMODE_REBOOTNOW, &bool);
-    ok(hr == S_OK, "Session_ModeGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModeGet failed, hresult %#lx\n", hr);
     ok(bool, "Reboot now mode is %d, expected 1\n", bool);
 
     hr = Session_ModePut(pSession, MSIRUNMODE_REBOOTNOW, VARIANT_FALSE);  /* set it again so we don't reboot */
-    ok(hr == S_OK, "Session_ModePut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_ModePut failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Mode,Flag");
 
     hr = Session_ModePut(pSession, MSIRUNMODE_MAINTENANCE, VARIANT_TRUE);
-    ok(hr == DISP_E_EXCEPTION, "Session_ModePut failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Session_ModePut failed, hresult %#lx\n", hr);
     ok_exception(hr, L"Mode,Flag");
 
     /* Session::Database, get */
     hr = Session_Database(pSession, &pDatabase);
-    ok(hr == S_OK, "Session_Database failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_Database failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         test_Database(pDatabase, TRUE);
@@ -1932,61 +1932,61 @@ static void test_Session(IDispatch *pSession)
 
     /* Session::EvaluateCondition */
     hr = Session_EvaluateCondition(pSession, NULL, &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_NONE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     hr = Session_EvaluateCondition(pSession, L"", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_NONE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     hr = Session_EvaluateCondition(pSession, L"=", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_ERROR, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     /* Session::DoAction(CostInitialize) must occur before the next statements */
     hr = Session_DoAction(pSession, L"CostInitialize", &myint);
-    ok(hr == S_OK, "Session_DoAction failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_DoAction failed, hresult %#lx\n", hr);
     ok(myint == IDOK, "DoAction(CostInitialize) returned %d, %d expected\n", myint, IDOK);
 
     /* Session::SetInstallLevel */
     hr = Session_SetInstallLevel(pSession, INSTALLLEVEL_MINIMUM);
-    ok(hr == S_OK, "Session_SetInstallLevel failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_SetInstallLevel failed, hresult %#lx\n", hr);
 
     /* Session::FeatureCurrentState, get */
     hr = Session_FeatureCurrentState(pSession, L"One", &myint);
-    ok(hr == S_OK, "Session_FeatureCurrentState failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_FeatureCurrentState failed, hresult %#lx\n", hr);
     ok(myint == INSTALLSTATE_UNKNOWN, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     /* Session::Message */
     hr = Installer_CreateRecord(0, &record);
-    ok(hr == S_OK, "Installer_CreateRecord failed: %08x\n", hr);
+    ok(hr == S_OK, "Installer_CreateRecord failed: %#lx\n", hr);
     hr = Session_Message(pSession, INSTALLMESSAGE_INFO, record, &myint);
-    ok(hr == S_OK, "Session_Message failed: %08x\n", hr);
+    ok(hr == S_OK, "Session_Message failed: %#lx\n", hr);
     ok(myint == 0, "Session_Message returned %x\n", myint);
 
     /* Session::EvaluateCondition */
     hr = Session_EvaluateCondition(pSession, L"!One>0", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_FALSE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     hr = Session_EvaluateCondition(pSession, L"!One=-1", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_TRUE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     /* Session::FeatureRequestState, put */
     hr = Session_FeatureRequestStatePut(pSession, L"One", INSTALLSTATE_ADVERTISED);
-    ok(hr == S_OK, "Session_FeatureRequestStatePut failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_FeatureRequestStatePut failed, hresult %#lx\n", hr);
     hr = Session_FeatureRequestStateGet(pSession, L"One", &myint);
-    ok(hr == S_OK, "Session_FeatureRequestStateGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_FeatureRequestStateGet failed, hresult %#lx\n", hr);
     ok(myint == INSTALLSTATE_ADVERTISED, "Feature request state was %d but expected %d\n", myint, INSTALLSTATE_ADVERTISED);
 
     /* Session::EvaluateCondition */
     hr = Session_EvaluateCondition(pSession, L"$One=-1", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_FALSE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 
     hr = Session_EvaluateCondition(pSession, L"$One>0", &myint);
-    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Session_EvaluateCondition failed, hresult %#lx\n", hr);
     ok(myint == MSICONDITION_TRUE, "Feature current state was %d but expected %d\n", myint, INSTALLSTATE_UNKNOWN);
 }
 
@@ -2036,16 +2036,16 @@ static void test_Installer_RegistryValue(void)
 
     /* Does our key exist? Shouldn't; check with all three possible value parameter types */
     hr = Installer_RegistryValueE(curr_user, L"Software\\Wine\\Test", &bRet);
-    ok(hr == S_OK, "Installer_RegistryValueE failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueE failed, hresult %#lx\n", hr);
     ok(!bRet, "Registry key expected to not exist, but Installer_RegistryValue claims it does\n");
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", NULL, szString);
-    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", 0, szString, VT_BSTR);
-    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
 
     /* Create key */
     ok(!RegCreateKeyW( HKEY_CURRENT_USER, L"Software\\Wine\\Test", &hkey ), "RegCreateKeyW failed\n");
@@ -2057,7 +2057,7 @@ static void test_Installer_RegistryValue(void)
     ok(!RegSetValueExW(hkey, L"Three", 0, REG_BINARY, (const BYTE *)qw, 4),
         "RegSetValueExW failed\n");
     bRet = SetEnvironmentVariableA("MSITEST", "Four");
-    ok(bRet, "SetEnvironmentVariableA failed %d\n", GetLastError());
+    ok(bRet, "SetEnvironmentVariableA failed %lu\n", GetLastError());
     ok(!RegSetValueExW(hkey, L"Four", 0, REG_EXPAND_SZ, (const BYTE *)L"%MSITEST%", sizeof(L"%MSITEST%")),
         "RegSetValueExW failed\n");
     ok(!RegSetValueExW(hkey, L"Five\0Hi\0", 0, REG_MULTI_SZ, (const BYTE *)L"Five\0Hi\0", sizeof(L"Five\0Hi\0")),
@@ -2075,53 +2075,53 @@ static void test_Installer_RegistryValue(void)
     /* Does our key exist? It should, and make sure we retrieve the correct default value */
     bRet = FALSE;
     hr = Installer_RegistryValueE(curr_user, L"Software\\Wine\\Test", &bRet);
-    ok(hr == S_OK, "Installer_RegistryValueE failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueE failed, hresult %#lx\n", hr);
     ok(bRet, "Registry key expected to exist, but Installer_RegistryValue claims it does not\n");
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", NULL, szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok_w2("Default registry value \"%s\" does not match expected \"%s\"\n", szString, L"One");
 
     /* Ask for the value of a nonexistent key */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"%MSITEST%", szString);
-    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_BADINDEX, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
 
     /* Get values of keys */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"One", szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok_w2("Registry value \"%s\" does not match expected \"%s\"\n", szString, L"One");
 
     VariantInit(&vararg);
     V_VT(&vararg) = VT_BSTR;
     V_BSTR(&vararg) = SysAllocString(L"Two");
     hr = Installer_RegistryValue(curr_user, L"Software\\Wine\\Test", vararg, &varresult, VT_I4);
-    ok(hr == S_OK, "Installer_RegistryValue failed, hresult 0x%08x\n", hr);
-    ok(V_I4(&varresult) == 305419896, "Registry value %d does not match expected value\n", V_I4(&varresult));
+    ok(hr == S_OK, "Installer_RegistryValue failed, hresult %#lx\n", hr);
+    ok(V_I4(&varresult) == 305419896, "Registry value %ld does not match expected value\n", V_I4(&varresult));
     VariantClear(&varresult);
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"Three", szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok_w2("Registry value \"%s\" does not match expected \"%s\"\n", szString, L"(REG_BINARY)");
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"Four", szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok_w2("Registry value \"%s\" does not match expected \"%s\"\n", szString, L"Four");
 
     /* Vista does not NULL-terminate this case */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"Five\0Hi\0", szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok_w2n("Registry value \"%s\" does not match expected \"%s\"\n",
            szString, L"Five\nHi", lstrlenW(L"Five\nHi"));
 
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueW(curr_user, L"Software\\Wine\\Test", L"Six", szString);
-    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueW failed, hresult %#lx\n", hr);
     ok(!lstrcmpW(szString, L"(REG_\?\?)") || broken(!lstrcmpW(szString, L"(REG_]")),
        "Registry value does not match\n");
 
@@ -2129,36 +2129,36 @@ static void test_Installer_RegistryValue(void)
     V_VT(&vararg) = VT_BSTR;
     V_BSTR(&vararg) = SysAllocString(L"Seven");
     hr = Installer_RegistryValue(curr_user, L"Software\\Wine\\Test", vararg, &varresult, VT_EMPTY);
-    ok(hr == S_OK, "Installer_RegistryValue failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValue failed, hresult %#lx\n", hr);
 
     /* Get string class name for the key */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", 0, szString, VT_BSTR);
-    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
     ok_w2("Registry name \"%s\" does not match expected \"%s\"\n", szString, L"");
 
     /* Get name of a value by positive number (RegEnumValue like), valid index */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", 2, szString, VT_BSTR);
-    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
     /* RegEnumValue order seems different on wine */
     todo_wine ok_w2("Registry name \"%s\" does not match expected \"%s\"\n", szString, L"Two");
 
     /* Get name of a value by positive number (RegEnumValue like), invalid index */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", 10, szString, VT_EMPTY);
-    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
 
     /* Get name of a subkey by negative number (RegEnumValue like), valid index */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", -1, szString, VT_BSTR);
-    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
     ok_w2("Registry name \"%s\" does not match expected \"%s\"\n", szString, L"Eight");
 
     /* Get name of a subkey by negative number (RegEnumValue like), invalid index */
     memset(szString, 0, sizeof(szString));
     hr = Installer_RegistryValueI(curr_user, L"Software\\Wine\\Test", -10, szString, VT_EMPTY);
-    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RegistryValueI failed, hresult %#lx\n", hr);
 
     /* clean up */
     delete_key(hkey);
@@ -2179,38 +2179,39 @@ static void test_Installer_Products(BOOL bProductInstalled)
 
     /* Installer::Products */
     hr = Installer_Products(&pStringList);
-    ok(hr == S_OK, "Installer_Products failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_Products failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         /* StringList::_NewEnum */
         hr = StringList__NewEnum(pStringList, &pUnk);
-        ok(hr == S_OK, "StringList_NewEnum failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "StringList_NewEnum failed, hresult %#lx\n", hr);
         if (hr == S_OK)
         {
             hr = IUnknown_QueryInterface(pUnk, &IID_IEnumVARIANT, (void **)&pEnum);
-            ok (hr == S_OK, "IUnknown::QueryInterface returned 0x%08x\n", hr);
+            ok (hr == S_OK, "IUnknown::QueryInterface returned %#lx\n", hr);
         }
         if (!pEnum)
             skip("IEnumVARIANT tests\n");
 
         /* StringList::Count */
         hr = StringList_Count(pStringList, &iCount);
-        ok(hr == S_OK, "StringList_Count failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "StringList_Count failed, hresult %#lx\n", hr);
 
         for (idx=0; idx<iCount; idx++)
         {
             /* StringList::Item */
             memset(szString, 0, sizeof(szString));
             hr = StringList_Item(pStringList, idx, szString);
-            ok(hr == S_OK, "StringList_Item failed (idx %d, count %d), hresult 0x%08x\n", idx, iCount, hr);
+            ok(hr == S_OK, "StringList_Item failed (idx %d, count %d), hresult %#lx\n", idx, iCount, hr);
 
             if (hr == S_OK)
             {
                 /* Installer::ProductState */
                 hr = Installer_ProductState(szString, &iValue);
-                ok(hr == S_OK, "Installer_ProductState failed, hresult 0x%08x\n", hr);
+                ok(hr == S_OK, "Installer_ProductState failed, hresult %#lx\n", hr);
                 if (hr == S_OK)
-                    ok(iValue == INSTALLSTATE_DEFAULT || iValue == INSTALLSTATE_ADVERTISED, "Installer_ProductState returned %d, expected %d or %d\n", iValue, INSTALLSTATE_DEFAULT, INSTALLSTATE_ADVERTISED);
+                    ok(iValue == INSTALLSTATE_DEFAULT || iValue == INSTALLSTATE_ADVERTISED,
+                       "Installer_ProductState returned %d, expected %d or %d\n", iValue, INSTALLSTATE_DEFAULT, INSTALLSTATE_ADVERTISED);
 
                 /* Not found our product code yet? Check */
                 if (!bProductFound && !lstrcmpW(szString, L"{837450fa-a39b-4bc8-b321-08b393f784b3}"))
@@ -2220,8 +2221,8 @@ static void test_Installer_Products(BOOL bProductInstalled)
                 if (pEnum)
                 {
                     hr = IEnumVARIANT_Next(pEnum, 1, &var, &celt);
-                    ok(hr == S_OK, "IEnumVARIANT_Next failed (idx %d, count %d), hresult 0x%08x\n", idx, iCount, hr);
-                    ok(celt == 1, "%d items were retrieved, expected 1\n", celt);
+                    ok(hr == S_OK, "IEnumVARIANT_Next failed (idx %d, count %d), hresult %#lx\n", idx, iCount, hr);
+                    ok(celt == 1, "%lu items were retrieved, expected 1\n", celt);
                     ok(V_VT(&var) == VT_BSTR, "IEnumVARIANT_Next returned variant of type %d, expected %d\n", V_VT(&var), VT_BSTR);
                     ok_w2("%s returned by StringList_Item does not match %s returned by IEnumVARIANT_Next\n", szString, V_BSTR(&var));
                     VariantClear(&var);
@@ -2248,7 +2249,7 @@ static void test_Installer_Products(BOOL bProductInstalled)
 
             /* IEnumVARIANT::Clone */
             hr = IEnumVARIANT_Clone(pEnum, &pEnum2);
-            ok(hr == S_OK, "IEnumVARIANT_Clone failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "IEnumVARIANT_Clone failed, hresult %#lx\n", hr);
             if (hr == S_OK)
             {
                 /* IEnumVARIANT::Clone is supposed to save the position, but it actually just goes back to the beginning */
@@ -2257,8 +2258,8 @@ static void test_Installer_Products(BOOL bProductInstalled)
                 if (iCount)
                 {
                     hr = IEnumVARIANT_Next(pEnum2, 1, &var, &celt);
-                    ok(hr == S_OK, "IEnumVARIANT_Next failed, hresult 0x%08x\n", hr);
-                    ok(celt == 1, "%d items were retrieved, expected 0\n", celt);
+                    ok(hr == S_OK, "IEnumVARIANT_Next failed, hresult %#lx\n", hr);
+                    ok(celt == 1, "%lu items were retrieved, expected 0\n", celt);
                     ok(V_VT(&var) == VT_BSTR, "IEnumVARIANT_Next returned variant of type %d, expected %d\n", V_VT(&var), VT_BSTR);
                     VariantClear(&var);
                 }
@@ -2270,33 +2271,33 @@ static void test_Installer_Products(BOOL bProductInstalled)
 
             /* IEnumVARIANT::Skip should fail */
             hr = IEnumVARIANT_Skip(pEnum, 1);
-            ok(hr == S_FALSE, "IEnumVARIANT_Skip failed, hresult 0x%08x\n", hr);
+            ok(hr == S_FALSE, "IEnumVARIANT_Skip failed, hresult %#lx\n", hr);
 
             /* IEnumVARIANT::Next, NULL variant pointer */
             hr = IEnumVARIANT_Next(pEnum, 1, NULL, &celt);
-            ok(hr == S_FALSE, "IEnumVARIANT_Next failed, hresult 0x%08x\n", hr);
-            ok(celt == 0, "%d items were retrieved, expected 0\n", celt);
+            ok(hr == S_FALSE, "IEnumVARIANT_Next failed, hresult %#lx\n", hr);
+            ok(celt == 0, "%lu items were retrieved, expected 0\n", celt);
 
             /* IEnumVARIANT::Next, should not return any more items */
             hr = IEnumVARIANT_Next(pEnum, 1, &var, &celt);
-            ok(hr == S_FALSE, "IEnumVARIANT_Next failed, hresult 0x%08x\n", hr);
-            ok(celt == 0, "%d items were retrieved, expected 0\n", celt);
+            ok(hr == S_FALSE, "IEnumVARIANT_Next failed, hresult %#lx\n", hr);
+            ok(celt == 0, "%lu items were retrieved, expected 0\n", celt);
             VariantClear(&var);
 
             /* IEnumVARIANT::Reset */
             hr = IEnumVARIANT_Reset(pEnum);
-            ok(hr == S_OK, "IEnumVARIANT_Reset failed, hresult 0x%08x\n", hr);
+            ok(hr == S_OK, "IEnumVARIANT_Reset failed, hresult %#lx\n", hr);
 
             if (iCount)
             {
                 /* IEnumVARIANT::Skip to the last product */
                 hr = IEnumVARIANT_Skip(pEnum, iCount-1);
-                ok(hr == S_OK, "IEnumVARIANT_Skip failed, hresult 0x%08x\n", hr);
+                ok(hr == S_OK, "IEnumVARIANT_Skip failed, hresult %#lx\n", hr);
 
                 /* IEnumVARIANT::Next should match the very last retrieved value, also makes sure it works with
                  * NULL celt pointer. */
                 hr = IEnumVARIANT_Next(pEnum, 1, &var, NULL);
-                ok(hr == S_OK, "IEnumVARIANT_Next failed (idx %d, count %d), hresult 0x%08x\n", idx, iCount, hr);
+                ok(hr == S_OK, "IEnumVARIANT_Next failed (idx %d, count %d), hresult %#lx\n", idx, iCount, hr);
                 ok(V_VT(&var) == VT_BSTR, "IEnumVARIANT_Next returned variant of type %d, expected %d\n", V_VT(&var), VT_BSTR);
                 ok_w2("%s returned by StringList_Item does not match %s returned by IEnumVARIANT_Next\n", szString, V_BSTR(&var));
                 VariantClear(&var);
@@ -2308,7 +2309,7 @@ static void test_Installer_Products(BOOL bProductInstalled)
         /* StringList::Item using an invalid index */
         memset(szString, 0, sizeof(szString));
         hr = StringList_Item(pStringList, iCount, szString);
-        ok(hr == DISP_E_BADINDEX, "StringList_Item for an invalid index did not return DISP_E_BADINDEX, hresult 0x%08x\n", hr);
+        ok(hr == DISP_E_BADINDEX, "StringList_Item for an invalid index did not return DISP_E_BADINDEX, hresult %#lx\n", hr);
 
         if (pEnum) IEnumVARIANT_Release(pEnum);
         if (pUnk) IUnknown_Release(pUnk);
@@ -2402,7 +2403,7 @@ static void test_Installer_InstallProduct(void)
 
     /* Avoid an interactive dialog in case of insufficient privileges. */
     hr = Installer_UILevelPut(INSTALLUILEVEL_NONE);
-    ok(hr == S_OK, "Expected UILevel property put invoke to return S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "Expected UILevel property put invoke to return S_OK, got %#lx\n", hr);
 
     /* Installer::InstallProduct */
     hr = Installer_InstallProduct(L"winetest-automation.msi", NULL);
@@ -2412,11 +2413,11 @@ static void test_Installer_InstallProduct(void)
         delete_test_files();
         return;
     }
-    ok(hr == S_OK, "Installer_InstallProduct failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_InstallProduct failed, hresult %#lx\n", hr);
 
     /* Installer::ProductState for our product code, which has been installed */
     hr = Installer_ProductState(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", &iValue);
-    ok(hr == S_OK, "Installer_ProductState failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_ProductState failed, hresult %#lx\n", hr);
     ok(iValue == INSTALLSTATE_DEFAULT, "Installer_ProductState returned %d, expected %d\n", iValue, INSTALLSTATE_DEFAULT);
 
     /* Installer::ProductInfo for our product code */
@@ -2424,25 +2425,25 @@ static void test_Installer_InstallProduct(void)
     /* NULL attribute */
     memset(szString, 0, sizeof(szString));
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", NULL, szString);
-    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     ok_exception(hr, L"ProductInfo,Product,Attribute");
 
     /* Nonexistent attribute */
     memset(szString, 0, sizeof(szString));
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", L"winetest-automation.msi", szString);
-    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     ok_exception(hr, L"ProductInfo,Product,Attribute");
 
     /* Package name */
     memset(szString, 0, sizeof(szString));
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", L"PackageName", szString);
-    ok(hr == S_OK, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     todo_wine ok_w2("Installer_ProductInfo returned %s but expected %s\n", szString, L"winetest-automation.msi");
 
     /* Product name */
     memset(szString, 0, sizeof(szString));
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", L"ProductName", szString);
-    ok(hr == S_OK, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     todo_wine ok_w2("Installer_ProductInfo returned %s but expected %s\n", szString, L"MSITEST");
 
     /* Installer::Products */
@@ -2450,25 +2451,25 @@ static void test_Installer_InstallProduct(void)
 
     /* Installer::RelatedProducts for our upgrade code */
     hr = Installer_RelatedProducts(L"{CE067E8D-2E1A-4367-B734-4EB2BDAD6565}", &pStringList);
-    ok(hr == S_OK, "Installer_RelatedProducts failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RelatedProducts failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         /* StringList::Count */
         hr = StringList_Count(pStringList, &iCount);
-        ok(hr == S_OK, "StringList_Count failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "StringList_Count failed, hresult %#lx\n", hr);
         ok(iCount == 1, "Expected one related product but found %d\n", iCount);
 
         /* StringList::Item */
         memset(szString, 0, sizeof(szString));
         hr = StringList_Item(pStringList, 0, szString);
-        ok(hr == S_OK, "StringList_Item failed (idx 0, count %d), hresult 0x%08x\n", iCount, hr);
+        ok(hr == S_OK, "StringList_Item failed (idx 0, count %d), hresult %#lx\n", iCount, hr);
         ok_w2("StringList_Item returned %s but expected %s\n", szString, L"{837450fa-a39b-4bc8-b321-08b393f784b3}");
 
         IDispatch_Release(pStringList);
     }
 
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", L"LocalPackage", szString);
-    ok(hr == S_OK, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     DeleteFileW( szString );
 
     /* Check & clean up installed files & registry keys */
@@ -2485,67 +2486,67 @@ static void test_Installer_InstallProduct(void)
     ok(delete_pf("msitest", FALSE), "Directory not created\n");
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "Name", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(path, "imaname"), "Expected imaname, got %s\n", path);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "blah", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     size = sizeof(num);
     type = REG_DWORD;
     res = RegQueryValueExA(hkey, "number", NULL, &type, (LPBYTE)&num, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
-    ok(num == 314, "Expected 314, got %d\n", num);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
+    ok(num == 314, "Expected 314, got %lu\n", num);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "OrderTestName", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(path, "OrderTestValue"), "Expected imaname, got %s\n", path);
 
     RegCloseKey(hkey);
 
     res = RegDeleteKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest");
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Remove registry keys written by RegisterProduct standard action */
     res = delete_key_portable(HKEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{837450fa-a39b-4bc8-b321-08b393f784b3}",
                               KEY_WOW64_32KEY);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = delete_key_portable(HKEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UpgradeCodes\\D8E760ECA1E276347B43E42BDBDA5656", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = find_registry_key(HKEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData", "af054738b93a8cb43b12803b397f483b", access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = delete_registry_key(hkey, "af054738b93a8cb43b12803b397f483b", access);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = delete_key_portable(HKEY_LOCAL_MACHINE,
         "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\Products\\af054738b93a8cb43b12803b397f483b", access);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     /* Remove registry keys written by PublishProduct standard action */
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Installer", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = delete_registry_key(hkey, "Products\\af054738b93a8cb43b12803b397f483b", KEY_ALL_ACCESS);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegDeleteKeyA(hkey, "UpgradeCodes\\D8E760ECA1E276347B43E42BDBDA5656");
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     RegCloseKey(hkey);
 
@@ -2566,42 +2567,42 @@ static void test_Installer(void)
 
     /* Test for error */
     hr = Installer_CreateRecord(-1, &pRecord);
-    ok(hr == DISP_E_EXCEPTION, "Installer_CreateRecord failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_CreateRecord failed, hresult %#lx\n", hr);
     ok_exception(hr, L"CreateRecord,Count");
 
     /* Test for success */
     hr = Installer_CreateRecord(1, &pRecord);
-    ok(hr == S_OK, "Installer_CreateRecord failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_CreateRecord failed, hresult %#lx\n", hr);
     ok(pRecord != NULL, "Installer_CreateRecord should not have returned NULL record\n");
     if (pRecord)
     {
         /* Record::FieldCountGet */
         hr = Record_FieldCountGet(pRecord, &iValue);
-        ok(hr == S_OK, "Record_FiledCountGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "Record_FiledCountGet failed, hresult %#lx\n", hr);
         ok(iValue == 1, "Record_FieldCountGet result was %d but expected 1\n", iValue);
 
         /* Record::IntegerDataGet */
         hr = Record_IntegerDataGet(pRecord, 1, &iValue);
-        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult %#lx\n", hr);
         ok(iValue == MSI_NULL_INTEGER, "Record_IntegerDataGet result was %d but expected %d\n", iValue, MSI_NULL_INTEGER);
 
         /* Record::IntegerDataGet, bad index */
         hr = Record_IntegerDataGet(pRecord, 10, &iValue);
-        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult %#lx\n", hr);
         ok(iValue == MSI_NULL_INTEGER, "Record_IntegerDataGet result was %d but expected %d\n", iValue, MSI_NULL_INTEGER);
 
         /* Record::IntegerDataPut */
         hr = Record_IntegerDataPut(pRecord, 1, 100);
-        ok(hr == S_OK, "Record_IntegerDataPut failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "Record_IntegerDataPut failed, hresult %#lx\n", hr);
 
         /* Record::IntegerDataPut, bad index */
         hr = Record_IntegerDataPut(pRecord, 10, 100);
-        ok(hr == DISP_E_EXCEPTION, "Record_IntegerDataPut failed, hresult 0x%08x\n", hr);
+        ok(hr == DISP_E_EXCEPTION, "Record_IntegerDataPut failed, hresult %#lx\n", hr);
         ok_exception(hr, L"IntegerData,Field");
 
         /* Record::IntegerDataGet */
         hr = Record_IntegerDataGet(pRecord, 1, &iValue);
-        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "Record_IntegerDataGet failed, hresult %#lx\n", hr);
         ok(iValue == 100, "Record_IntegerDataGet result was %d but expected 100\n", iValue);
 
         IDispatch_Release(pRecord);
@@ -2617,7 +2618,7 @@ static void test_Installer(void)
         DeleteFileW(szPath);
         return;
     }
-    ok(hr == S_OK, "Installer_OpenPackage failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_OpenPackage failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         test_Session(pSession);
@@ -2626,7 +2627,7 @@ static void test_Installer(void)
 
     /* Installer::OpenDatabase */
     hr = Installer_OpenDatabase(szPath, (INT_PTR)MSIDBOPEN_TRANSACT, &pDatabase);
-    ok(hr == S_OK, "Installer_OpenDatabase failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_OpenDatabase failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         test_Database(pDatabase, FALSE);
@@ -2635,7 +2636,7 @@ static void test_Installer(void)
 
     /* Installer::SummaryInformation */
     hr = Installer_SummaryInformation(szPath, 0, &pSumInfo);
-    ok(hr == S_OK, "Installer_SummaryInformation failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_SummaryInformation failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         test_SummaryInfo(pSumInfo, summary_info, ARRAY_SIZE(summary_info), TRUE);
@@ -2643,14 +2644,14 @@ static void test_Installer(void)
     }
 
     hr = Installer_SummaryInformation(NULL, 0, &pSumInfo);
-    ok(hr == DISP_E_EXCEPTION, "Installer_SummaryInformation failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_SummaryInformation failed, hresult %#lx\n", hr);
 
     /* Installer::RegistryValue */
     test_Installer_RegistryValue();
 
     /* Installer::ProductState for our product code, which should not be installed */
     hr = Installer_ProductState(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", &iValue);
-    ok(hr == S_OK, "Installer_ProductState failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_ProductState failed, hresult %#lx\n", hr);
     ok(iValue == INSTALLSTATE_UNKNOWN, "Installer_ProductState returned %d, expected %d\n", iValue, INSTALLSTATE_UNKNOWN);
 
     /* Installer::ProductInfo for our product code, which should not be installed */
@@ -2658,13 +2659,13 @@ static void test_Installer(void)
     /* Package name */
     memset(szPath, 0, sizeof(szPath));
     hr = Installer_ProductInfo(L"{837450fa-a39b-4bc8-b321-08b393f784b3}", L"PackageName", szPath);
-    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     ok_exception(hr, L"ProductInfo,Product,Attribute");
 
     /* NULL attribute and NULL product code */
     memset(szPath, 0, sizeof(szPath));
     hr = Installer_ProductInfo(NULL, NULL, szPath);
-    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult 0x%08x\n", hr);
+    ok(hr == DISP_E_EXCEPTION, "Installer_ProductInfo failed, hresult %#lx\n", hr);
     ok_exception(hr, L"ProductInfo,Product,Attribute");
 
     /* Installer::Products */
@@ -2672,12 +2673,12 @@ static void test_Installer(void)
 
     /* Installer::RelatedProducts for our upgrade code, should not find anything */
     hr = Installer_RelatedProducts(L"{CE067E8D-2E1A-4367-B734-4EB2BDAD6565}", &pStringList);
-    ok(hr == S_OK, "Installer_RelatedProducts failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_RelatedProducts failed, hresult %#lx\n", hr);
     if (hr == S_OK)
     {
         /* StringList::Count */
         hr = StringList_Count(pStringList, &iCount);
-        ok(hr == S_OK, "StringList_Count failed, hresult 0x%08x\n", hr);
+        ok(hr == S_OK, "StringList_Count failed, hresult %#lx\n", hr);
         ok(!iCount, "Expected no related products but found %d\n", iCount);
 
         IDispatch_Release(pStringList);
@@ -2686,7 +2687,7 @@ static void test_Installer(void)
     /* Installer::Version */
     memset(szPath, 0, sizeof(szPath));
     hr = Installer_VersionGet(szPath);
-    ok(hr == S_OK, "Installer_VersionGet failed, hresult 0x%08x\n", hr);
+    ok(hr == S_OK, "Installer_VersionGet failed, hresult %#lx\n", hr);
 
     /* Installer::InstallProduct and other tests that depend on our product being installed */
     test_Installer_InstallProduct();
@@ -2720,16 +2721,16 @@ START_TEST(automation)
     get_program_files_dir(PROG_FILES_DIR);
 
     hr = OleInitialize(NULL);
-    ok (hr == S_OK, "OleInitialize returned 0x%08x\n", hr);
+    ok (hr == S_OK, "OleInitialize returned %#lx\n", hr);
     hr = CLSIDFromProgID(L"WindowsInstaller.Installer", &clsid);
-    ok (hr == S_OK, "CLSIDFromProgID returned 0x%08x\n", hr);
+    ok (hr == S_OK, "CLSIDFromProgID returned %#lx\n", hr);
     hr = CoCreateInstance(&clsid, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&pUnk);
-    ok(hr == S_OK, "CoCreateInstance returned 0x%08x\n", hr);
+    ok(hr == S_OK, "CoCreateInstance returned %#lx\n", hr);
 
     if (pUnk)
     {
         hr = IUnknown_QueryInterface(pUnk, &IID_IDispatch, (void **)&pInstaller);
-        ok (hr == S_OK, "IUnknown::QueryInterface returned 0x%08x\n", hr);
+        ok (hr == S_OK, "IUnknown::QueryInterface returned %#lx\n", hr);
 
         test_dispid();
         test_dispatch();
diff --git a/dlls/msi/tests/custom.c b/dlls/msi/tests/custom.c
index 75e234c6583..c1b011c8871 100644
--- a/dlls/msi/tests/custom.c
+++ b/dlls/msi/tests/custom.c
@@ -1141,7 +1141,7 @@ static void test_invalid_functions(MSIHANDLE hinst)
     r = MsiEnableUIPreview(db, &preview);
     ok(hinst, r == ERROR_INVALID_HANDLE, "got %u\n", r);
 
-    sprintf(package_name, "#%u", db);
+    sprintf(package_name, "#%lu", db);
     r = MsiOpenPackageA(package_name, &package);
     ok(hinst, r == ERROR_INVALID_HANDLE, "got %u\n", r);
 
diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index b2a60f5b304..59dcf87a47c 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -548,7 +548,7 @@ static void test_msidecomposedesc(void)
     comp[0] = 0x55;
     r = pMsiDecomposeDescriptorA(desc, prod, feature, comp, &len);
     ok(r == ERROR_SUCCESS, "returned an error\n");
-    ok(len == 41, "got %u\n", len);
+    ok(len == 41, "got %lu\n", len);
     ok(!strcmp(prod,"{90110409-6000-11D3-8CFE-0150048383C9}"), "got '%s'\n", prod);
     ok(!strcmp(feature,"FollowTheWhiteRabbit"), "got '%s'\n", feature);
     ok(!comp[0], "got '%s'\n", comp);
@@ -558,7 +558,7 @@ static void test_msidecomposedesc(void)
     comp[0] = 0x55;
     r = pMsiDecomposeDescriptorA("yh1BVN)8A$!!!!!MKKSkAlwaysInstalledIntl_1033<", prod, feature, comp, &len);
     ok(r == ERROR_SUCCESS, "got %u\n", r);
-    ok(len == 45, "got %u\n", len);
+    ok(len == 45, "got %lu\n", len);
     ok(!strcmp(prod, "{90150000-006E-0409-0000-0000000FF1CE}"), "got '%s'\n", prod);
     ok(!strcmp(feature, "AlwaysInstalledIntl_1033"), "got '%s'\n", feature);
     ok(!comp[0], "got '%s'\n", comp);
@@ -907,7 +907,7 @@ static void test_viewmodify(void)
     err = MsiViewGetErrorA( hview, buffer, &sz );
     ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     r = MsiViewExecute(hview, 0);
     ok(r == ERROR_SUCCESS, "MsiViewExecute failed\n");
@@ -928,7 +928,7 @@ static void test_viewmodify(void)
     err = MsiViewGetErrorA( hview, buffer, &sz );
     ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     r = MsiCloseHandle(hrec);
     ok(r == ERROR_SUCCESS, "failed to close record\n");
@@ -960,7 +960,7 @@ static void test_viewmodify(void)
     err = MsiViewGetErrorA( hview, buffer, &sz );
     ok(err == MSIDBERROR_DUPLICATEKEY, "got %d\n", err);
     ok(!strcmp(buffer, "id"), "got \"%s\"\n", buffer);
-    ok(sz == 2, "got size %u\n", sz);
+    ok(sz == 2, "got size %lu\n", sz);
 
     /* insert the same thing again */
     r = MsiViewExecute(hview, 0);
@@ -1809,7 +1809,7 @@ static void test_streamtable(void)
     memset(buf, 0, MAX_PATH);
     r = MsiRecordReadStream( rec, 2, buf, &size );
     ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r);
-    ok( !lstrcmpA(buf, "test.txt\n"), "Expected 'test.txt\\n', got '%s' (%d)\n", buf, size);
+    ok( !lstrcmpA(buf, "test.txt\n"), "Expected 'test.txt\\n', got '%s' (%lu)\n", buf, size);
     MsiCloseHandle( rec );
 
     /* open a handle to the "data" stream (and keep it open during removal) */
@@ -1841,7 +1841,7 @@ static void test_streamtable(void)
     memset(buf, 0, MAX_PATH);
     r = MsiRecordReadStream( rec, 2, buf, &size );
     ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r);
-    todo_wine ok( size == 0, "Expected empty buffer, got %d bytes\n", size);
+    todo_wine ok( size == 0, "Expected empty buffer, got %lu bytes\n", size);
     MsiCloseHandle( rec );
 
     MsiCloseHandle( hdb );
@@ -2246,7 +2246,8 @@ static void test_suminfo_import(void)
 {
     MSIHANDLE hdb, hsi, view = 0;
     LPCSTR query;
-    UINT r, count, size, type;
+    UINT r, count, type;
+    DWORD size;
     char str_value[50];
     INT int_value;
     FILETIME ft_value;
@@ -2284,7 +2285,7 @@ static void test_suminfo_import(void)
     r = MsiSummaryInfoGetPropertyA(hsi, PID_TITLE, &type, NULL, NULL, str_value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
     ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type);
-    ok(size == 18, "Expected 18, got %u\n", size);
+    ok(size == 18, "Expected 18, got %lu\n", size);
     ok(!strcmp(str_value, "Installer Database"),
        "Expected \"Installer Database\", got %s\n", str_value);
 
@@ -2980,7 +2981,7 @@ static void generate_transform_manual(void)
                             STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &stm );
         if (FAILED(r))
         {
-            ok(0, "failed to create stream %08x\n", r);
+            ok(0, "failed to create stream %#lx\n", r);
             continue;
         }
 
@@ -3068,7 +3069,7 @@ static UINT package_from_db(MSIHANDLE hdb, MSIHANDLE *handle)
     CHAR szPackage[12];
     MSIHANDLE hPackage;
 
-    sprintf(szPackage, "#%u", hdb);
+    sprintf(szPackage, "#%lu", hdb);
     res = MsiOpenPackageA(szPackage, &hPackage);
     if (res != ERROR_SUCCESS)
         return res;
@@ -3512,7 +3513,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 5, "Expected 5 rows, got %d\n", i );
+    ok( i == 5, "Expected 5 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3533,7 +3534,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 24, "Expected 24 rows, got %d\n", i );
+    ok( i == 24, "Expected 24 rows, got %lu\n", i );
 
     MsiViewClose(hview);
     MsiCloseHandle(hview);
@@ -3555,7 +3556,7 @@ static void test_join(void)
         MsiCloseHandle(hrec);
     }
 
-    ok( i == 2, "Expected 2 rows, got %d\n", i );
+    ok( i == 2, "Expected 2 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3578,7 +3579,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 2, "Expected 2 rows, got %d\n", i );
+    ok( i == 2, "Expected 2 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3601,7 +3602,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 1, "Expected 1 rows, got %d\n", i );
+    ok( i == 1, "Expected 1 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3625,7 +3626,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 1, "Expected 1 rows, got %d\n", i );
+    ok( i == 1, "Expected 1 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3648,7 +3649,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 6, "Expected 6 rows, got %d\n", i );
+    ok( i == 6, "Expected 6 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3672,7 +3673,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 3, "Expected 3 rows, got %d\n", i );
+    ok( i == 3, "Expected 3 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3693,7 +3694,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 6, "Expected 6 rows, got %d\n", i );
+    ok( i == 6, "Expected 6 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3714,7 +3715,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 6, "Expected 6 rows, got %d\n", i );
+    ok( i == 6, "Expected 6 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -3736,7 +3737,7 @@ static void test_join(void)
         i++;
         MsiCloseHandle(hrec);
     }
-    ok( i == 6, "Expected 6 rows, got %d\n", i );
+    ok( i == 6, "Expected 6 rows, got %lu\n", i );
     ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r );
 
     MsiViewClose(hview);
@@ -4240,21 +4241,21 @@ static void test_integers(void)
     ok(r == 8, "record count wrong: %d\n", r);
 
     i = MsiRecordGetInteger(rec, 1);
-    ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", i);
+    ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 3);
-    ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", i);
+    ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 2);
-    ok(i == 2, "Expected 2, got %d\n", i);
+    ok(i == 2, "Expected 2, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 4);
-    ok(i == 4, "Expected 4, got %d\n", i);
+    ok(i == 4, "Expected 4, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 5);
-    ok(i == 5, "Expected 5, got %d\n", i);
+    ok(i == 5, "Expected 5, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 6);
-    ok(i == 6, "Expected 6, got %d\n", i);
+    ok(i == 6, "Expected 6, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 7);
-    ok(i == 7, "Expected 7, got %d\n", i);
+    ok(i == 7, "Expected 7, got %lu\n", i);
     i = MsiRecordGetInteger(rec, 8);
-    ok(i == 8, "Expected 8, got %d\n", i);
+    ok(i == 8, "Expected 8, got %lu\n", i);
 
     MsiCloseHandle(rec);
     MsiViewClose(view);
@@ -5714,65 +5715,65 @@ static void test_stringtable(void)
 
     MultiByteToWideChar(CP_ACP, 0, msifile, -1, name, 0x20);
     hr = StgOpenStorage(name, NULL, mode, NULL, 0, &stg);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stg != NULL, "Expected non-NULL storage\n");
 
     hr = IStorage_OpenStream(stg, moo, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stm != NULL, "Expected non-NULL stream\n");
 
     hr = IStream_Read(stm, data, MAX_PATH, &read);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
-    ok(read == 4, "Expected 4, got %d\n", read);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
+    ok(read == 4, "Expected 4, got %lu\n", read);
     todo_wine ok(!memcmp(data, data10, read), "Unexpected data\n");
 
     hr = IStream_Release(stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     hr = IStorage_OpenStream(stg, aar, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stm != NULL, "Expected non-NULL stream\n");
 
     hr = IStream_Read(stm, data, MAX_PATH, &read);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
-    ok(read == 8, "Expected 8, got %d\n", read);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
+    ok(read == 8, "Expected 8, got %lu\n", read);
     todo_wine
     {
         ok(!memcmp(data, data11, read), "Unexpected data\n");
     }
 
     hr = IStream_Release(stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     hr = IStorage_OpenStream(stg, stringdata, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stm != NULL, "Expected non-NULL stream\n");
 
     hr = IStream_Read(stm, buffer, MAX_PATH, &read);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
-    ok(read == 24, "Expected 24, got %d\n", read);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
+    ok(read == 24, "Expected 24, got %lu\n", read);
     ok(!memcmp(buffer, data12, read), "Unexpected data\n");
 
     hr = IStream_Release(stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     hr = IStorage_OpenStream(stg, stringpool, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stm != NULL, "Expected non-NULL stream\n");
 
     hr = IStream_Read(stm, data, MAX_PATH, &read);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     todo_wine
     {
-        ok(read == 64, "Expected 64, got %d\n", read);
+        ok(read == 64, "Expected 64, got %lu\n", read);
         ok(!memcmp(data, data13, read), "Unexpected data\n");
     }
 
     hr = IStream_Release(stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     hr = IStorage_Release(stg);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     DeleteFileA(msifile);
 }
@@ -5895,7 +5896,7 @@ static void enum_stream_names(IStorage *stg)
     memset(check, 'a', MAX_PATH);
 
     hr = IStorage_EnumElements(stg, 0, NULL, 0, &stgenum);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     n = 0;
     while(TRUE)
@@ -5906,12 +5907,12 @@ static void enum_stream_names(IStorage *stg)
             break;
 
         ok(!lstrcmpW(stat.pwcsName, database_table_data[n].name),
-           "Expected table %d name to match\n", n);
+           "Expected table %lu name to match\n", n);
 
         stm = NULL;
         hr = IStorage_OpenStream(stg, stat.pwcsName, NULL,
                                  STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-        ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+        ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
         ok(stm != NULL, "Expected non-NULL stream\n");
 
         CoTaskMemFree(stat.pwcsName);
@@ -5919,22 +5920,22 @@ static void enum_stream_names(IStorage *stg)
         sz = MAX_PATH;
         memset(data, 'a', MAX_PATH);
         hr = IStream_Read(stm, data, sz, &count);
-        ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+        ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
         ok(count == database_table_data[n].size,
-           "Expected %d, got %d\n", database_table_data[n].size, count);
+           "Expected %lu, got %lu\n", database_table_data[n].size, count);
 
         if (!database_table_data[n].size)
             ok(!memcmp(data, check, MAX_PATH), "data should not be changed\n");
         else
             ok(!memcmp(data, database_table_data[n].data, database_table_data[n].size),
-               "Expected table %d data to match\n", n);
+               "Expected table %lu data to match\n", n);
 
         IStream_Release(stm);
         n++;
     }
 
-    ok(n == 3, "Expected 3, got %d\n", n);
+    ok(n == 3, "Expected 3, got %lu\n", n);
 
     IEnumSTATSTG_Release(stgenum);
 }
@@ -5957,7 +5958,7 @@ static void test_defaultdatabase(void)
     MsiCloseHandle(hdb);
 
     hr = StgOpenStorage(msifileW, NULL, STGM_READ | STGM_SHARE_DENY_WRITE, NULL, 0, &stg);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stg != NULL, "Expected non-NULL stg\n");
 
     enum_stream_names(stg);
@@ -7188,7 +7189,7 @@ static void test_storages_table(void)
     r = MsiRecordReadStream(hrec, 2, buf, &size);
     ok(r == ERROR_INVALID_DATA, "Expected ERROR_INVALID_DATA, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     MsiCloseHandle(hrec);
 
@@ -7204,23 +7205,23 @@ static void test_storages_table(void)
     MultiByteToWideChar(CP_ACP, 0, msifile, -1, name, MAX_PATH);
     hr = StgOpenStorage(name, NULL, STGM_DIRECT | STGM_READ |
                         STGM_SHARE_DENY_WRITE, NULL, 0, &stg);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stg != NULL, "Expected non-NULL storage\n");
 
     MultiByteToWideChar(CP_ACP, 0, "stgname", -1, name, MAX_PATH);
     hr = IStorage_OpenStorage(stg, name, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE,
                               NULL, 0, &inner);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(inner != NULL, "Expected non-NULL storage\n");
 
     MultiByteToWideChar(CP_ACP, 0, "storage.bin", -1, name, MAX_PATH);
     hr = IStorage_OpenStream(inner, name, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     ok(stm != NULL, "Expected non-NULL stream\n");
 
     hr = IStream_Read(stm, buf, MAX_PATH, &size);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
+    ok(size == 8, "Expected 8, got %lu\n", size);
     ok(!lstrcmpA(buf, "stgdata"), "Expected \"stgdata\", got \"%s\"\n", buf);
 
     IStream_Release(stm);
@@ -7248,7 +7249,7 @@ static void test_dbtopackage(void)
     create_custom_action_table(hdb);
     add_custom_action_entry(hdb, "'SetProp', 51, 'MYPROP', 'grape'");
 
-    sprintf(package, "#%u", hdb);
+    sprintf(package, "#%lu", hdb);
     r = MsiOpenPackageA(package, &hpkg);
     if (r == ERROR_INSTALL_PACKAGE_REJECTED)
     {
@@ -7263,7 +7264,7 @@ static void test_dbtopackage(void)
     r = MsiGetPropertyA(hpkg, "MYPROP", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* run the custom action to set the property */
     r = MsiDoActionA(hpkg, "SetProp");
@@ -7275,7 +7276,7 @@ static void test_dbtopackage(void)
     r = MsiGetPropertyA(hpkg, "MYPROP", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "grape"), "Expected \"grape\", got \"%s\"\n", buf);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
 
@@ -7291,7 +7292,7 @@ static void test_dbtopackage(void)
     todo_wine
     {
         ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     MsiCloseHandle(hdb);
@@ -7308,7 +7309,7 @@ static void test_dbtopackage(void)
     create_custom_action_table(hdb);
     add_custom_action_entry(hdb, "'SetProp', 51, 'MYPROP', 'grape'");
 
-    sprintf(package, "#%u", hdb);
+    sprintf(package, "#%lu", hdb);
     r = MsiOpenPackageA(package, &hpkg);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
@@ -7318,7 +7319,7 @@ static void test_dbtopackage(void)
     r = MsiGetPropertyA(hpkg, "MYPROP", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* run the custom action to set the property */
     r = MsiDoActionA(hpkg, "SetProp");
@@ -7330,7 +7331,7 @@ static void test_dbtopackage(void)
     r = MsiGetPropertyA(hpkg, "MYPROP", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "grape"), "Expected \"grape\", got \"%s\"\n", buf);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
 
@@ -7346,7 +7347,7 @@ static void test_dbtopackage(void)
     todo_wine
     {
         ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     MsiCloseHandle(hpkg);
@@ -8583,7 +8584,8 @@ static void test_embedded_nulls(void)
         "s72\tL0\n"
         "Control\tDialog\n"
         "LicenseAgreementDlg\ttext\x11\x19text\0text";
-    UINT r, sz;
+    UINT r;
+    DWORD sz;
     MSIHANDLE hdb, hrec;
     char buffer[32];
 
@@ -9208,7 +9210,7 @@ static void test_view_get_error(void)
     sz = 0;
     err = MsiViewGetErrorA(0, NULL, &sz);
     ok(err == MSIDBERROR_INVALIDARG, "got %d\n", err);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     err = MsiViewGetErrorA(view, NULL, NULL);
     ok(err == MSIDBERROR_INVALIDARG, "got %d\n", err);
@@ -9216,21 +9218,21 @@ static void test_view_get_error(void)
     sz = 0;
     err = MsiViewGetErrorA(view, NULL, &sz);
     ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     sz = 0;
     strcpy(buffer, "x");
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_MOREDATA, "got %d\n", err);
     ok(!strcmp(buffer, "x"), "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     sz = 1;
     strcpy(buffer, "x");
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     rec = MsiCreateRecord(2);
     MsiRecordSetInteger(rec, 1, 1);
@@ -9243,14 +9245,14 @@ static void test_view_get_error(void)
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_DUPLICATEKEY, "got %d\n", err);
     ok(!strcmp(buffer, "A"), "got \"%s\"\n", buffer);
-    ok(sz == 1, "got size %u\n", sz);
+    ok(sz == 1, "got size %lu\n", sz);
 
     sz = 2;
     strcpy(buffer, "x");
     err = MsiViewGetErrorA(view, buffer, &sz);
     todo_wine ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
     todo_wine ok(!buffer[0], "got \"%s\"\n", buffer);
-    todo_wine ok(sz == 0, "got size %u\n", sz);
+    todo_wine ok(sz == 0, "got size %lu\n", sz);
 
     r = MsiViewModify(view, MSIMODIFY_VALIDATE_NEW, rec);
     ok(r == ERROR_INVALID_DATA, "got %u\n", r);
@@ -9260,14 +9262,14 @@ static void test_view_get_error(void)
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_MOREDATA, "got %d\n", err);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 1, "got size %u\n", sz);
+    ok(sz == 1, "got size %lu\n", sz);
 
     sz = 1;
     strcpy(buffer, "x");
     err = MsiViewGetErrorA(view, buffer, &sz);
     todo_wine ok(err == MSIDBERROR_NOERROR, "got %d\n", err);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    todo_wine ok(sz == 0, "got size %u\n", sz);
+    todo_wine ok(sz == 0, "got size %lu\n", sz);
 
     r = MsiViewModify(view, MSIMODIFY_VALIDATE_NEW, rec);
     ok(r == ERROR_INVALID_DATA, "got %u\n", r);
@@ -9277,14 +9279,14 @@ static void test_view_get_error(void)
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_MOREDATA, "got %d\n", err);
     ok(!strcmp(buffer, "x"), "got \"%s\"\n", buffer);
-    ok(sz == 1, "got size %u\n", sz);
+    ok(sz == 1, "got size %lu\n", sz);
 
     sz = 0;
     strcpy(buffer, "x");
     err = MsiViewGetErrorA(view, buffer, &sz);
     ok(err == MSIDBERROR_MOREDATA, "got %d\n", err);
     ok(!strcmp(buffer, "x"), "got \"%s\"\n", buffer);
-    todo_wine ok(sz == 0, "got size %u\n", sz);
+    todo_wine ok(sz == 0, "got size %lu\n", sz);
 
     MsiCloseHandle(rec);
     MsiCloseHandle(view);
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c
index 06f901fb84c..1cf2021214c 100644
--- a/dlls/msi/tests/format.c
+++ b/dlls/msi/tests/format.c
@@ -35,7 +35,7 @@ static UINT package_from_db(MSIHANDLE hdb, MSIHANDLE *handle)
     CHAR szPackage[12];
     MSIHANDLE hPackage;
 
-    sprintf(szPackage, "#%u", hdb);
+    sprintf(szPackage, "#%lu", hdb);
     res = MsiOpenPackageA(szPackage, &hPackage);
     if (res != ERROR_SUCCESS)
         return res;
@@ -205,7 +205,7 @@ static void test_formatrecord(void)
     sz = 123;
     r = MsiFormatRecordA(0, hrec, NULL, &sz);
     ok( r == ERROR_SUCCESS, "format failed with empty buffer\n");
-    ok( sz == 2, "size wrong (%i)\n",sz);
+    ok( sz == 2, "size wrong (%lu)\n",sz);
     sz = sizeof buffer;
     buffer[0] = 'x';
     buffer[1] = 0;
@@ -296,7 +296,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 30, "size wrong %i\n",sz);
+    ok( sz == 30, "size wrong %lu\n",sz);
     ok( 0 == strcmp(buffer,"1: boo 2: hoo 3:  4:  5:  6:  "), 
                     "wrong output(%s)\n",buffer);
 
@@ -308,7 +308,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 31, "size wrong %i\n",sz);
+    ok( sz == 31, "size wrong %lu\n",sz);
     ok( 0 == strcmp(buffer,"1: 123 2: 4567 3:  4:  5:  6:  "),
                     "wrong output(%s)\n",buffer);
 
@@ -322,7 +322,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong,(%i)\n",sz);
+    ok( sz == 7, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"hey hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[[1]] [2]");
@@ -334,7 +334,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 9, "size wrong,(%i)\n",sz);
+    ok( sz == 9, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[[2]] hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[[[3]]] [2]");
@@ -348,7 +348,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong,(%i)\n",sz);
+    ok( sz == 7, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"hey hey"), "wrong output (%s)\n",buffer);
 
     r = MsiCloseHandle(hrec);
@@ -369,7 +369,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong,(%i)\n",sz);
+    ok( sz == 7, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"big hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[[3][4][1]] [2]");
@@ -387,7 +387,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong,(%i)\n",sz);
+    ok( sz == 7, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"big hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[[3][[4]][1]] [2]");
@@ -405,7 +405,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 10, "size wrong,(%i)\n",sz);
+    ok( sz == 10, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[1[]2] hey"), "wrong output (%s)\n",buffer);
 
     /* incorrect  formats */
@@ -424,7 +424,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 18, "size wrong,(%i)\n",sz);
+    ok( sz == 18, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[[[3][[4]][1]] [2]"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[[3][[4]][1]] [2]]");
@@ -442,7 +442,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 11, "size wrong,(%i)\n",sz);
+    ok( sz == 11, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[1[]2] hey]"), "wrong output (%s)\n",buffer);
 
 
@@ -463,7 +463,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 6, "size wrong,(%i)\n",sz);
+    ok( sz == 6, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"12 hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[{[3][1]}] [2]");
@@ -481,10 +481,9 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 8, "size wrong,(%i)\n",sz);
+    ok( sz == 8, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[12] hey"), "wrong output (%s)\n",buffer);
 
-
     r = MsiRecordSetStringA(hrec, 0, "{test} [2]");
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiRecordSetStringA(hrec, 1, "2");
@@ -500,7 +499,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 10, "size wrong,(%i)\n",sz);
+    ok( sz == 10, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{test} hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[test]} [2]");
@@ -518,7 +517,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 12, "size wrong,(%i)\n",sz);
+    ok( sz == 12, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{[test]} hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[1][2][3][4]} [2]");
@@ -536,7 +535,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 4, "size wrong,(%i)\n",sz);
+    ok( sz == 4, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer," hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[1][2][3][dummy]} [2]");
@@ -554,7 +553,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 18, "size wrong,(%i)\n",sz);
+    ok( sz == 18, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{2hey1[dummy]} hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[1][2][3][4][dummy]} [2]");
@@ -572,7 +571,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 18, "size wrong,(%i)\n",sz);
+    ok( sz == 18, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{2hey1[dummy]} hey"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{[1][2]}[3][4][dummy]}");
@@ -590,7 +589,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 16, "size wrong,(%i)\n",sz);
+    ok( sz == 16, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{{2hey}1[dummy]}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{[1][2]}[3]{[4][dummy]}}");
@@ -608,7 +607,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong,(%i)\n",sz);
+    ok( sz == 0, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{[1][2]}[3]} {[1][2]}");
@@ -626,7 +625,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 12, "size wrong,(%i)\n",sz);
+    ok( sz == 12, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{{12}3} {12}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[1][2]} {{[1][2]}[3]} {[1][2]}");
@@ -644,7 +643,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 15, "size wrong,(%i)\n",sz);
+    ok( sz == 15, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{[4]}{[1][2]} {{[1][2]}[3]} {[1][2]}");
@@ -662,7 +661,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 15, "size wrong,(%i)\n",sz);
+    ok( sz == 15, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{blah} {[4]}{[1][2]} {{[1][2]}[3]} {[1][2]}");
@@ -680,7 +679,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 22, "size wrong,(%i)\n",sz);
+    ok( sz == 22, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{blah} 12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{[1]}[2]} {[4]}{[1][2]}");
@@ -698,7 +697,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 13, "size wrong,(%i)\n",sz);
+    ok( sz == 13, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{{1}2} {}{12}"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{[1]}} {[4]}{[1][2]}");
@@ -716,7 +715,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 3, "size wrong,(%i)\n",sz);
+    ok( sz == 3, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer," 12"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{{{[1]}} {[4]}{[1][2]}");
@@ -735,10 +734,10 @@ static void test_formatrecord(void)
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine{
-    ok( sz == 3, "size wrong,(%i)\n",sz);
+    ok( sz == 3, "size wrong,(%lu)\n",sz);
     ok( 0 == strcmp(buffer," 12"), "wrong output (%s)\n",buffer);
     }
-    
+
     /* now put play games with escaping */
     r = MsiRecordSetStringA(hrec, 0, "[1] [2] [\\3asdf]");
     ok( r == ERROR_SUCCESS, "set string failed\n");
@@ -770,7 +769,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 4, "size wrong: %d\n", sz);
+    ok( sz == 4, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"[\\x]"), "wrong output: %s\n", buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "{\\x}");
@@ -778,7 +777,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 4, "size wrong: %d\n", sz);
+    ok( sz == 4, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"{\\x}"), "wrong output: %s\n", buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[abc\\x]");
@@ -786,7 +785,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong: %d\n", sz);
+    ok( sz == 7, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"[abc\\x]"), "wrong output: %s\n", buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[\\[]Bracket Text[\\]]");
@@ -794,7 +793,7 @@ static void test_formatrecord(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 20, "size wrong: %d\n", sz);
+    ok( sz == 20, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"[\\[]Bracket Text[\\]]"), "wrong output: %s\n", buffer);
 
     /* now try other formats without a package */
@@ -1091,7 +1090,7 @@ static void test_formatrecord(void)
     sz = sizeof(buffer);
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "[\\[]"), "Expected \"[\\[]\", got \"%s\"\n", buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[foo]");
@@ -1329,7 +1328,7 @@ static void test_formatrecord(void)
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     todo_wine
     {
-        ok( sz == 12, "size wrong: got %u, expected 12\n", sz);
+        ok( sz == 12, "size wrong: got %lu, expected 12\n", sz);
         ok( 0 == strcmp(buffer,"{[1{{boo}}]}"), "wrong output: got %s, expected [1]\n", buffer);
     }
     ok( r == ERROR_SUCCESS, "format failed\n");
@@ -1340,7 +1339,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     sz = sizeof buffer;
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
-    ok( sz == 6, "size wrong: got %u, expected 3\n", sz);
+    ok( sz == 6, "size wrong: got %lu, expected 3\n", sz);
     ok( 0 == strcmp(buffer,"{{hoo}"), "wrong output: got %s, expected [1]\n", buffer);
     ok( r == ERROR_SUCCESS, "format failed\n");
 
@@ -1525,7 +1524,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 6, "size wrong(%i)\n",sz);
+    ok( sz == 6, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abcd}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1533,7 +1532,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 23, "size wrong(%i)\n",sz);
+    ok( sz == 23, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{a[one]bc[two]de[one]f}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1541,7 +1540,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 23, "size wrong(%i)\n",sz);
+    ok( sz == 23, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{a[one]bc[bad]de[two]f}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1549,7 +1548,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong(%i)\n",sz);
+    ok( sz == 7, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{[bad]}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1557,7 +1556,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 14, "size wrong(%i)\n",sz);
+    ok( sz == 14, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abc{d[one]ef}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1565,7 +1564,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 15, "size wrong(%i)\n",sz);
+    ok( sz == 15, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abc{d[one]ef}}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1573,7 +1572,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 5, "size wrong(%i)\n",sz);
+    ok( sz == 5, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abc}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1581,7 +1580,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1589,7 +1588,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1599,7 +1598,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 7, "size wrong(%i)\n",sz);
+        ok( sz == 7, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"hi{jk}}"), "wrong output (%s)\n",buffer);
     }
 
@@ -1610,7 +1609,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 1, "size wrong(%i)\n",sz);
+        ok( sz == 1, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"}"), "wrong output (%s)\n",buffer);
     }
 
@@ -1619,7 +1618,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1627,7 +1626,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1635,7 +1634,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong(%i)\n",sz);
+    ok( sz == 7, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{a{b}c}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1643,7 +1642,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 6, "size wrong(%i)\n",sz);
+    ok( sz == 6, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{a{b}}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1651,7 +1650,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 6, "size wrong(%i)\n",sz);
+    ok( sz == 6, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{{b}c}"), "wrong output (%s)\n",buffer);
 
     sz = sizeof buffer;
@@ -1661,7 +1660,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 2, "size wrong(%i)\n",sz);
+        ok( sz == 2, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"}}"), "wrong output (%s)\n",buffer);
     }
 
@@ -1672,7 +1671,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 8, "size wrong(%i)\n",sz);
+    ok( sz == 8, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"100 -100"), "wrong output (%s)\n",buffer);
 
     sz = sizeof(buffer);
@@ -1682,7 +1681,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 33, "Expected 33, got %d\n",sz);
+    ok(sz == 33, "Expected 33, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one {[noprop] [twoprop]} {abcdef}"),
        "Expected \"one {[noprop] [twoprop]} {abcdef}\", got \"%s\"\n", buffer);
 
@@ -1693,7 +1692,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 29, "Expected 29, got %d\n",sz);
+    ok(sz == 29, "Expected 29, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one {[noprop] [one]} {abcdef}"),
        "Expected \"one {[noprop] [one]} {abcdef}\", got \"%s\"\n", buffer);
 
@@ -1704,7 +1703,7 @@ static void test_formatrecord(void)
     ok( r == ERROR_SUCCESS, "set string failed\n");
     r = MsiFormatRecordA(0, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 20, "Expected 20, got %d\n",sz);
+    ok(sz == 20, "Expected 20, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one {[one]} {abcdef}"),
        "Expected \"one {[one]} {abcdef}\", got \"%s\"\n", buffer);
 
@@ -1766,7 +1765,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed with empty buffer (%i)\n",r);
-    ok( sz == 51, "size wrong (%i)\n",sz);
+    ok( sz == 51, "size wrong (%lu)\n",sz);
     ok( 0 == strcmp(buffer,"1:  2:  3:  4:  5:  6:  7:  8:  9:  10:  11:  12:  "), "wrong output(%s)\n",buffer);
 
     r = MsiSetPropertyA(package, "prop", "val");
@@ -1789,7 +1788,7 @@ static void test_formatrecord_package(void)
     ok( r == ERROR_SUCCESS, "format failed with empty buffer (%i)\n",r);
     todo_wine
     {
-        ok( sz == 66, "size wrong (%i)\n",sz);
+        ok( sz == 66, "size wrong (%lu)\n",sz);
         ok( !lstrcmpA(buffer,
             "1: [2] 2: stuff 3: prop 4: val 5:  6:  7:  8:  9:  10:  11:  12:  "),
             "wrong output(%s)\n",buffer);
@@ -1805,7 +1804,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 9, "size wrong(%i)\n",sz);
+    ok( sz == 9, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"boo hoo 3"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[1] [2] [\\x]");
@@ -1817,77 +1816,77 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 9, "size wrong(%i)\n",sz);
+    ok( sz == 9, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"boo hoo x"), "wrong output (%s)\n",buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\x]");
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 1, "size wrong: %d\n", sz);
+    ok( sz == 1, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"x"), "wrong output: %s\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "{\\x}");
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 4, "size wrong: %d\n", sz);
+    ok( sz == 4, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"{\\x}"), "wrong output: %s\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[abc\\x]");
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong: %d\n", sz);
+    ok( sz == 0, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,""), "wrong output: %s\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[abc\\xdef]");
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong: %d\n", sz);
+    ok( sz == 0, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,""), "wrong output: %s\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "\\x");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "\\x"), "Expected \"\\x\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "[\\["), "Expected \"[\\[\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "["), "Expected \"[\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[[]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "[[]"), "Expected \"[]\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[]]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "[]"), "Expected \"[]\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[a]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "["), "Expected \"[\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\a[]");
@@ -1896,7 +1895,7 @@ static void test_formatrecord_package(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     todo_wine
     {
-        ok(sz == 1, "Expected 1, got %d\n", sz);
+        ok(sz == 1, "Expected 1, got %lu\n", sz);
         ok(!lstrcmpA(buffer, "a"), "Expected \"a\", got \"%s\"\n", buffer);
     }
 
@@ -1904,14 +1903,14 @@ static void test_formatrecord_package(void)
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "val"), "Expected \"val\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[prop] [pro\\pblah] [prop]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 8, "Expected 8, got %d\n", sz);
+    ok(sz == 8, "Expected 8, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "val  val"), "Expected \"val  val\", got \"%s\"\n", buffer);
 
     MsiSetPropertyA(package, "b", "ball");
@@ -1919,35 +1918,35 @@ static void test_formatrecord_package(void)
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "b"), "Expected \"b\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\c]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "c"), "Expected \"c\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[]prop]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "[prop]"), "Expected \"[prop]\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\a]prop]");
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "aprop]"), "Expected \"aprop]\", got \"%s\"\n", buffer);
 
     MsiRecordSetStringA(hrec, 0, "[\\[]Bracket Text[\\]]");
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 14, "size wrong: %d\n", sz);
+    ok( sz == 14, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"[Bracket Text]"), "wrong output: %s\n", buffer);
 
     /* null characters */
@@ -1960,7 +1959,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 9, "size wrong: %d\n", sz);
+    ok( sz == 9, "size wrong: %lu\n", sz);
     ok( 0 == strcmp(buffer,"boo "), "wrong output: %s\n", buffer);
     ok(!lstrcmpA(&buffer[5], " hoo"),
        "Expected \" hoo\", got \"%s\"\n", &buffer[5]);
@@ -1974,7 +1973,7 @@ static void test_formatrecord_package(void)
     sz = sizeof(buffer);
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 8, "Expected 8, got %d\n", sz);
+    ok(sz == 8, "Expected 8, got %lu\n", sz);
     ok(!lstrcmpA(buffer, "boo  hoo"), "Expected \"boo  hoo\", got \"%s\"\n", buffer);
 
     /* properties */
@@ -2022,7 +2021,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 12, "size wrong(%i)\n",sz);
+    ok( sz == 12, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"foo baa whoa"), "wrong output (%s)\n",buffer);
 
     r = MsiSetPropertyA(package,"dummya","1");
@@ -2042,7 +2041,7 @@ static void test_formatrecord_package(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 9, "size wrong(%i)\n",sz);
+        ok( sz == 9, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"1 [1] [2]"), "wrong output (%s)\n",buffer);
     }
 
@@ -2065,7 +2064,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 10, "size wrong(%i)\n",sz);
+    ok( sz == 10, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"\\blath b 1"), "wrong output (%s)\n",buffer);
 
     r = MsiRecordSetStringA(hrec, 0, "[1] [2] [[\\3asdf]]");
@@ -2081,7 +2080,7 @@ static void test_formatrecord_package(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 11, "size wrong(%i)\n",sz);
+        ok( sz == 11, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"boo hoo [3]"), "wrong output (%s)\n",buffer);
     }
 
@@ -2096,7 +2095,7 @@ static void test_formatrecord_package(void)
     sz = sizeof buffer;
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 9, "size wrong(%i)\n",sz);
+    ok( sz == 9, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"boo hoo h"), "wrong output (%s)\n",buffer);
 
     /* nested properties */
@@ -2107,7 +2106,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[PropC]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong(%i)\n",sz);
+    ok( sz == 7, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[PropB]"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "PropA", "surprise");
@@ -2117,7 +2116,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[PropC]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 5, "size wrong(%i)\n",sz);
+    ok( sz == 5, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"PropB"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "PropA", "surprise");
@@ -2127,7 +2126,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[[PropC]]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "PropA", "surprise");
@@ -2137,7 +2136,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[[PropC]]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 7, "size wrong(%i)\n",sz);
+    ok( sz == 7, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"[PropA]"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "PropA", "surprise");
@@ -2147,7 +2146,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[[PropC]]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 5, "size wrong(%i)\n",sz);
+    ok( sz == 5, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"PropA"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "PropA", "surprise");
@@ -2157,7 +2156,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "[[[PropC]]]");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 8, "size wrong(%i)\n",sz);
+    ok( sz == 8, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"surprise"), "wrong output (%s)\n",buffer);
 
     /* properties inside braces */
@@ -2165,7 +2164,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{abcd}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 6, "size wrong(%i)\n",sz);
+    ok( sz == 6, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abcd}"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "one", "mercury");
@@ -2174,7 +2173,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{a[one]bc[two]de[one]f}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed: %d\n", r);
-    ok( sz == 25, "size wrong(%i)\n",sz);
+    ok( sz == 25, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"amercurybcvenusdemercuryf"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "one", "mercury");
@@ -2184,7 +2183,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{a[one]bc[bad]de[two]f}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "bad", "");
@@ -2192,7 +2191,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{[bad]}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "one", "mercury");
@@ -2202,7 +2201,7 @@ static void test_formatrecord_package(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 14, "size wrong(%i)\n",sz);
+        ok( sz == 14, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"abc{dmercuryef"), "wrong output (%s)\n",buffer);
     }
 
@@ -2213,7 +2212,7 @@ static void test_formatrecord_package(void)
     ok( r == ERROR_SUCCESS, "format failed\n");
     todo_wine
     {
-        ok( sz == 15, "size wrong(%i)\n",sz);
+        ok( sz == 15, "size wrong(%lu)\n",sz);
         ok( 0 == strcmp(buffer,"abc{dmercuryef}"), "wrong output (%s)\n",buffer);
     }
 
@@ -2222,7 +2221,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{abc}{{def}hi{j[one]k}}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 5, "size wrong(%i)\n",sz);
+    ok( sz == 5, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,"{abc}"), "wrong output (%s)\n",buffer);
 
     MsiSetPropertyA(package, "one", "mercury");
@@ -2231,7 +2230,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 0, "{{def}hi{j[one]k}}");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok( r == ERROR_SUCCESS, "format failed\n");
-    ok( sz == 0, "size wrong(%i)\n",sz);
+    ok( sz == 0, "size wrong(%lu)\n",sz);
     ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
 
     sz = sizeof(buffer);
@@ -2239,7 +2238,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 1, "one");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 13, "Expected 13, got %d\n",sz);
+    ok(sz == 13, "Expected 13, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one  {abcdef}"),
        "Expected \"one  {abcdef}\", got \"%s\"\n", buffer);
 
@@ -2248,7 +2247,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 1, "one");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 13, "Expected 13, got %d\n",sz);
+    ok(sz == 13, "Expected 13, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one  {abcdef}"),
        "Expected \"one  {abcdef}\", got \"%s\"\n", buffer);
 
@@ -2257,7 +2256,7 @@ static void test_formatrecord_package(void)
     MsiRecordSetStringA(hrec, 1, "one");
     r = MsiFormatRecordA(package, hrec, buffer, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 20, "Expected 20, got %d\n",sz);
+    ok(sz == 20, "Expected 20, got %lu\n",sz);
     ok(!lstrcmpA(buffer, "one mercury {abcdef}"),
        "Expected \"one mercury {abcdef}\", got \"%s\"\n", buffer);
 
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index ae5b03e248c..a7388a917d8 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -2640,7 +2640,7 @@ static char *load_resource(const char *name)
     GetTempFileNameA(".", name, 0, path);
 
     file = CreateFileA(path, GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0);
-    ok(file != INVALID_HANDLE_VALUE, "file creation failed, at %s, error %d\n", path, GetLastError());
+    ok(file != INVALID_HANDLE_VALUE, "file creation failed, at %s, error %lu\n", path, GetLastError());
 
     res = FindResourceA(NULL, name, "TESTDLL");
     ok( res != 0, "couldn't find resource\n" );
@@ -2752,7 +2752,7 @@ static void remove_restore_point(DWORD seq_number)
 
     res = pSRRemoveRestorePoint(seq_number);
     if (res != ERROR_SUCCESS)
-        trace("Failed to remove the restore point : %08x\n", res);
+        trace("Failed to remove the restore point: %#lx\n", res);
 }
 
 static LONG delete_key( HKEY key, LPCSTR subkey, REGSAM access )
@@ -2811,29 +2811,29 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyExA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", 0, access, &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "Name", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(path, "imaname"), "Expected imaname, got %s\n", path);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "blah", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     size = sizeof(num);
     type = REG_DWORD;
     res = RegQueryValueExA(hkey, "number", NULL, &type, (LPBYTE)&num, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
-    ok(num == 314, "Expected 314, got %d\n", num);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
+    ok(num == 314, "Expected 314, got %lu\n", num);
 
     size = MAX_PATH;
     type = REG_SZ;
     res = RegQueryValueExA(hkey, "OrderTestName", NULL, &type, (LPBYTE)path, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(path, "OrderTestValue"), "Expected OrderTestValue, got %s\n", path);
 
     delete_key(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", access);
@@ -2845,7 +2845,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegDeleteKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest");
 
     create_database(msifile, up_tables, ARRAY_SIZE(up_tables));
@@ -2857,7 +2857,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegDeleteKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest");
 
     create_database(msifile, up2_tables, ARRAY_SIZE(up2_tables));
@@ -2869,7 +2869,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegDeleteKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest");
 
     create_database(msifile, up3_tables, ARRAY_SIZE(up3_tables));
@@ -2881,7 +2881,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegDeleteKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest");
 
     create_database(msifile, up4_tables, ARRAY_SIZE(up4_tables));
@@ -2893,7 +2893,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     create_database(msifile, up4_tables, ARRAY_SIZE(up4_tables));
 
@@ -2904,7 +2904,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     create_database(msifile, up5_tables, ARRAY_SIZE(up5_tables));
 
@@ -2915,7 +2915,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     create_database(msifile, up6_tables, ARRAY_SIZE(up6_tables));
 
@@ -2926,7 +2926,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     create_database(msifile, up7_tables, ARRAY_SIZE(up7_tables));
 
@@ -2937,7 +2937,7 @@ static void test_MsiInstallProduct(void)
     delete_pf_files();
 
     res = RegOpenKeyA(HKEY_CURRENT_USER, "SOFTWARE\\Wine\\msitest", &hkey);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL FULL=1");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -3789,7 +3789,7 @@ static void generate_transform_manual(void)
                             STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &stm);
         if (FAILED(r))
         {
-            ok(0, "failed to create stream %08x\n", r);
+            ok(0, "failed to create stream %#lx\n", r);
             continue;
         }
 
@@ -3996,16 +3996,16 @@ static void set_admin_property_stream(LPCSTR file)
     MultiByteToWideChar(CP_ACP, 0, file, -1, fileW, MAX_PATH);
 
     hr = StgOpenStorage(fileW, NULL, mode, NULL, 0, &stg);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     if (!stg)
         return;
 
     hr = IStorage_CreateStream(stg, L"\x41ca\x4330\x3e71\x44b5\x4233\x45f5\x422c\x4836",
                                STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &stm);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     hr = IStream_Write(stm, L"MYPROP=2718 MyProp=42", sizeof(L"MYPROP=2718 MyProp=42"), &count);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     IStream_Release(stm);
     IStorage_Release(stg);
@@ -4725,7 +4725,7 @@ static void test_sourcepath(void)
         r = MsiInstallProductA(msifile, NULL);
         ok(r == spmap[i].err, "%d: Expected %d, got %d\n", i, spmap[i].err, r);
         ok(get_pf_file_size("msitest\\augustus") == spmap[i].size,
-           "%d: Expected %d, got %d\n", i, spmap[i].size,
+           "%u: Expected %lu, got %lu\n", i, spmap[i].size,
            get_pf_file_size("msitest\\augustus"));
 
         if (r == ERROR_SUCCESS)
@@ -5062,7 +5062,7 @@ static void test_shortcut(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
-    ok(SUCCEEDED(hr), "CoInitialize failed 0x%08x\n", hr);
+    ok(SUCCEEDED(hr), "CoInitialize failed %#lx\n", hr);
 
     r = MsiInstallProductA(msifile, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -5070,7 +5070,7 @@ static void test_shortcut(void)
     CoUninitialize();
 
     hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
-    ok(SUCCEEDED(hr), "CoInitialize failed 0x%08x\n", hr);
+    ok(SUCCEEDED(hr), "CoInitialize failed %#lx\n", hr);
 
     r = MsiInstallProductA(msifile, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
@@ -5262,14 +5262,14 @@ static void process_pending_renames(HKEY hkey)
     BOOL found = FALSE;
 
     ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, NULL, &size);
-    ok(!ret, "RegQueryValueExA failed %d\n", ret);
+    ok(!ret, "RegQueryValueExA failed %ld\n", ret);
 
     buf = malloc(size + 1);
     buf2ptr = buf2 = calloc(1, size + 1);
 
     ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, (LPBYTE)buf, &size);
     buf[size] = 0;
-    ok(!ret, "RegQueryValueExA failed %d\n", ret);
+    ok(!ret, "RegQueryValueExA failed %ld\n", ret);
     if (ret) return;
 
     for (src = buf; *src; src = dst + strlen(dst) + 1)
@@ -5300,12 +5300,12 @@ static void process_pending_renames(HKEY hkey)
         {
             if (dst[0] == '\\' && dst[1] == '?' && dst[2] == '?' && dst[3] == '\\') dst += 4;
             fileret = MoveFileExA(src, dst, flags);
-            ok(fileret, "Failed to move file %s -> %s (%u)\n", src, dst, GetLastError());
+            ok(fileret, "Failed to move file %s -> %s (%lu)\n", src, dst, GetLastError());
         }
         else
         {
             fileret = DeleteFileA(src);
-            ok(fileret || broken(!fileret) /* win2k3 */, "Failed to delete file %s (%u)\n", src, GetLastError());
+            ok(fileret || broken(!fileret) /* win2k3 */, "Failed to delete file %s (%lu)\n", src, GetLastError());
         }
     }
 
@@ -5327,7 +5327,7 @@ static BOOL file_matches_data(LPCSTR file, LPCSTR data)
     char buf[128];
 
     handle = CreateFileA(file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
-    ok(handle != INVALID_HANDLE_VALUE, "failed to open %s (%u)\n", file, GetLastError());
+    ok(handle != INVALID_HANDLE_VALUE, "failed to open %s (%lu)\n", file, GetLastError());
 
     if (ReadFile(handle, buf, sizeof(buf), &len, NULL) && len >= data_len)
     {
@@ -5872,25 +5872,25 @@ static void test_mixed_package(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\msitest", 0, KEY_ALL_ACCESS|KEY_WOW64_32KEY, &hkey);
-    ok(!res, "can't open 32-bit component key, got %d\n", res);
+    ok(!res, "can't open 32-bit component key, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test1", NULL, NULL, NULL, NULL);
-    ok(!res, "expected RegQueryValueEx to succeed, got %d\n", res);
+    ok(!res, "expected RegQueryValueEx to succeed, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test2", NULL, NULL, NULL, NULL);
-    ok(res, "expected RegQueryValueEx to fail, got %d\n", res);
+    ok(res, "expected RegQueryValueEx to fail, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\msitest", 0, KEY_ALL_ACCESS|KEY_WOW64_64KEY, &hkey);
-    ok(!res, "can't open 64-bit component key, got %d\n", res);
+    ok(!res, "can't open 64-bit component key, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test1", NULL, NULL, NULL, NULL);
-    ok(res, "expected RegQueryValueEx to fail, got %d\n", res);
+    ok(res, "expected RegQueryValueEx to fail, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test2", NULL, NULL, NULL, NULL);
-    ok(!res, "expected RegQueryValueEx to succeed, got %d\n", res);
+    ok(!res, "expected RegQueryValueEx to succeed, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT,
                         "CLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32",
                         0, KEY_ALL_ACCESS|KEY_WOW64_32KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "can't open 32-bit CLSID key, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "can't open 32-bit CLSID key, got %ld\n", res);
     if (res == ERROR_SUCCESS) {
         size = sizeof(value);
         res = RegQueryValueExA(hkey, "", NULL, NULL, (LPBYTE)value, &size);
@@ -5901,7 +5901,7 @@ static void test_mixed_package(void)
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT,
                         "CLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32",
                         0, KEY_ALL_ACCESS|KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "can't open 64-bit CLSID key, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "can't open 64-bit CLSID key, got %ld\n", res);
     if (res == ERROR_SUCCESS) {
         size = sizeof(value);
         res = RegQueryValueExA(hkey, "", NULL, NULL, (LPBYTE)value, &size);
@@ -5935,25 +5935,25 @@ static void test_mixed_package(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\msitest", 0, KEY_ALL_ACCESS|KEY_WOW64_32KEY, &hkey);
-    ok(!res, "can't open 32-bit component key, got %d\n", res);
+    ok(!res, "can't open 32-bit component key, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test1", NULL, NULL, NULL, NULL);
-    ok(!res, "expected RegQueryValueEx to succeed, got %d\n", res);
+    ok(!res, "expected RegQueryValueEx to succeed, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test2", NULL, NULL, NULL, NULL);
-    ok(res, "expected RegQueryValueEx to fail, got %d\n", res);
+    ok(res, "expected RegQueryValueEx to fail, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Wine\\msitest", 0, KEY_ALL_ACCESS|KEY_WOW64_64KEY, &hkey);
-    ok(!res, "can't open 64-bit component key, got %d\n", res);
+    ok(!res, "can't open 64-bit component key, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test1", NULL, NULL, NULL, NULL);
-    ok(res, "expected RegQueryValueEx to fail, got %d\n", res);
+    ok(res, "expected RegQueryValueEx to fail, got %ld\n", res);
     res = RegQueryValueExA(hkey, "test2", NULL, NULL, NULL, NULL);
-    ok(!res, "expected RegQueryValueEx to succeed, got %d\n", res);
+    ok(!res, "expected RegQueryValueEx to succeed, got %ld\n", res);
     RegCloseKey(hkey);
 
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT,
                         "CLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32",
                         0, KEY_ALL_ACCESS|KEY_WOW64_32KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "can't open 32-bit CLSID key, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "can't open 32-bit CLSID key, got %ld\n", res);
     if (res == ERROR_SUCCESS) {
         size = sizeof(value);
         res = RegQueryValueExA(hkey, "", NULL, NULL, (LPBYTE)value, &size);
@@ -5964,7 +5964,7 @@ static void test_mixed_package(void)
     res = RegOpenKeyExA(HKEY_CLASSES_ROOT,
                         "CLSID\\{8dfef911-6885-41eb-b280-8f0304728e8b}\\InProcServer32",
                         0, KEY_ALL_ACCESS|KEY_WOW64_64KEY, &hkey);
-    ok(res == ERROR_SUCCESS, "can't open 64-bit CLSID key, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "can't open 64-bit CLSID key, got %ld\n", res);
     if (res == ERROR_SUCCESS) {
         size = sizeof(value);
         res = RegQueryValueExA(hkey, "", NULL, NULL, (LPBYTE)value, &size);
@@ -6092,15 +6092,15 @@ static void test_remove_upgrade_code(void)
     res = RegOpenKeyExA( HKEY_LOCAL_MACHINE,
         "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UpgradeCodes\\51AAE0C44620A5E4788506E91F249BD2",
         0, access, &hkey );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     type = 0xdeadbeef;
     buf[0] = 0x55;
     size = sizeof(buf);
     res = RegQueryValueExA( hkey, "94A88FD7F6998CE40A22FB59F6B9C2BB", NULL, &type, (BYTE *)buf, &size );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
-    ok( type == REG_SZ, "got %u\n", type );
-    ok( size == 1, "got %u\n", size );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
+    ok( type == REG_SZ, "got %lu\n", type );
+    ok( size == 1, "got %lu\n", size );
     ok( !buf[0], "wrong data\n" );
     RegCloseKey( hkey );
 
@@ -6110,7 +6110,7 @@ static void test_remove_upgrade_code(void)
     res = RegOpenKeyExA( HKEY_LOCAL_MACHINE,
         "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UpgradeCodes\\51AAE0C44620A5E4788506E91F249BD2",
         0, access, &hkey );
-    ok( res == ERROR_FILE_NOT_FOUND, "got %d\n", res );
+    ok( res == ERROR_FILE_NOT_FOUND, "got %ld\n", res );
 
     RemoveDirectoryA( "msitest" );
     DeleteFileA( msifile );
@@ -6153,7 +6153,7 @@ static void check_file_matches(const char *filename, const char *text)
 
     file = CreateFileA(filename, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
     ReadFile(file, buffer, sizeof(buffer), &size, NULL);
-    ok(size == strlen(text) && !memcmp(buffer, text, size), "got %.*s\n", size, buffer);
+    ok(size == strlen(text) && !memcmp(buffer, text, size), "got %.*s\n", (int)size, buffer);
     CloseHandle(file);
 }
 
diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c
index 7bfddee4e4e..39cbaf56b79 100644
--- a/dlls/msi/tests/msi.c
+++ b/dlls/msi/tests/msi.c
@@ -1231,7 +1231,7 @@ static void create_test_guid(LPSTR prodcode, LPSTR squashed)
     int size;
 
     hr = CoCreateGuid(&guid);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     size = StringFromGUID2(&guid, guidW, ARRAY_SIZE(guidW));
     ok(size == GUID_SIZE, "Expected %d, got %d.\n", GUID_SIZE, size);
@@ -1287,42 +1287,42 @@ static void test_MsiQueryProductState(void)
     state = MsiQueryProductStateA(NULL);
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* empty prodcode */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA("");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* garbage prodcode */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA("garbage");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* guid without brackets */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA("6700E8CF-95AB-4D9C-BC2C-15840DEA7A5D");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* guid with brackets */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA("{6700E8CF-95AB-4D9C-BC2C-15840DEA7A5D}");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     /* same length as guid, but random */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA("A938G02JF-2NF3N93-VN3-2NNF-3KGKALDNF93");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* MSIINSTALLCONTEXT_USERUNMANAGED */
 
@@ -1330,20 +1330,20 @@ static void test_MsiQueryProductState(void)
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\");
     lstrcatA(keypath, prodcode);
@@ -1357,25 +1357,25 @@ static void test_MsiQueryProductState(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local uninstall key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     data = 1;
     res = RegSetValueExA(localkey, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* WindowsInstaller value exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     RegDeleteValueA(localkey, "WindowsInstaller");
     delete_key(localkey, "", access & KEY_WOW64_64KEY);
@@ -1394,28 +1394,28 @@ static void test_MsiQueryProductState(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local product key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* install properties key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     data = 1;
     res = RegSetValueExA(props, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* WindowsInstaller value exists */
     SetLastError(0xdeadbeef);
@@ -1435,18 +1435,18 @@ static void test_MsiQueryProductState(void)
         return;
     }
     ok(state == INSTALLSTATE_DEFAULT, "Expected INSTALLSTATE_DEFAULT, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     data = 2;
     res = RegSetValueExA(props, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* WindowsInstaller value is not 1 */
     SetLastError(0xdeadbeef);
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_DEFAULT, "Expected INSTALLSTATE_DEFAULT, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     RegDeleteKeyA(userkey, "");
 
@@ -1455,7 +1455,7 @@ static void test_MsiQueryProductState(void)
     state = MsiQueryProductStateA(prodcode);
     error = GetLastError();
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     RegDeleteValueA(props, "WindowsInstaller");
     delete_key(props, "", access & KEY_WOW64_64KEY);
@@ -1473,7 +1473,7 @@ static void test_MsiQueryProductState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED,
@@ -1485,14 +1485,14 @@ static void test_MsiQueryProductState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED,
        "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED,
@@ -1500,7 +1500,7 @@ static void test_MsiQueryProductState(void)
 
     data = 1;
     res = RegSetValueExA(props, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* WindowsInstaller value exists */
     state = MsiQueryProductStateA(prodcode);
@@ -1526,7 +1526,7 @@ static void test_MsiQueryProductState(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
@@ -1536,14 +1536,14 @@ static void test_MsiQueryProductState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED,
        "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryProductStateA(prodcode);
     ok(state == INSTALLSTATE_ADVERTISED,
@@ -1551,7 +1551,7 @@ static void test_MsiQueryProductState(void)
 
     data = 1;
     res = RegSetValueExA(props, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* WindowsInstaller value exists */
     state = MsiQueryProductStateA(prodcode);
@@ -1608,10 +1608,10 @@ static void compose_base85_guid(LPSTR component, LPSTR comp_base85, LPSTR squash
     int size;
 
     hr = CoCreateGuid(&guid);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     size = StringFromGUID2(&guid, guidW, MAX_PATH);
-    ok(size == 39, "Expected 39, got %d\n", hr);
+    ok(size == 39, "Expected 39, got %d\n", size);
 
     WideCharToMultiByte(CP_ACP, 0, guidW, size, component, MAX_PATH, NULL, NULL);
     encode_base85_guid(&guid, base85W);
@@ -1648,63 +1648,63 @@ static void test_MsiQueryFeatureState(void)
     state = MsiQueryFeatureStateA(NULL, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* empty prodcode */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA("", "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* garbage prodcode */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA("garbage", "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* guid without brackets */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA("6700E8CF-95AB-4D9C-BC2C-15840DEA7A5D", "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* guid with brackets */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA("{6700E8CF-95AB-4D9C-BC2C-15840DEA7A5D}", "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     /* same length as guid, but random */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA("A938G02JF-2NF3N93-VN3-2NNF-3KGKALDNF93", "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* NULL szFeature */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, NULL);
     error = GetLastError();
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* empty szFeature */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     /* feature key does not exist yet */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     /* MSIINSTALLCONTEXT_USERUNMANAGED */
 
@@ -1712,24 +1712,24 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(userkey, "feature", 0, REG_SZ, (const BYTE *)"", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature value exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -1746,50 +1746,50 @@ static void test_MsiQueryFeatureState(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* userdata features key exists */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaa", 20);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_BADCONFIG, "Expected INSTALLSTATE_BADCONFIG, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaa", 21);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaaa", 22);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)comp_base85, 41);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -1797,7 +1797,7 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -1805,81 +1805,81 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, comp_squashed2);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey2, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"apple", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey2, prod_squashed, 0, REG_SZ, (const BYTE *)"orange", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_LOCAL */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01\\", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_SOURCE */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* bad INSTALLSTATE_SOURCE */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01a", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_SOURCE */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* bad INSTALLSTATE_SOURCE */
     SetLastError(0xdeadbeef);
     state = MsiQueryFeatureStateA(prodcode, "feature");
     error = GetLastError();
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
+    ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %lu\n", error);
 
     RegDeleteValueA(compkey, prod_squashed);
     RegDeleteValueA(compkey2, prod_squashed);
@@ -1901,14 +1901,14 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature key exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegSetValueExA(userkey, "feature", 0, REG_SZ, (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature value exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
@@ -1921,32 +1921,32 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, "\\Features");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* userdata features key exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaa", 20);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_BADCONFIG, "Expected INSTALLSTATE_BADCONFIG, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaa", 21);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaaa", 22);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)comp_base85, 41);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
@@ -1957,7 +1957,7 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -1965,25 +1965,25 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, comp_squashed2);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey2, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"apple", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey2, prod_squashed, 0, REG_SZ, (const BYTE *)"orange", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
@@ -2012,14 +2012,14 @@ static void test_MsiQueryFeatureState(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature key exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegSetValueExA(userkey, "feature", 0, REG_SZ, (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* feature value exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
@@ -2031,32 +2031,32 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, "\\Features");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* userdata features key exists */
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaa", 20);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_BADCONFIG, "Expected INSTALLSTATE_BADCONFIG, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaa", 21);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)"aaaaaaaaaaaaaaaaaaaaa", 22);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(localkey, "feature", 0, REG_SZ, (const BYTE *)comp_base85, 41);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
@@ -2066,32 +2066,32 @@ static void test_MsiQueryFeatureState(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, "S-1-5-18\\Components\\");
     lstrcatA(keypath, comp_squashed2);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey2, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"apple", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_ADVERTISED, "Expected INSTALLSTATE_ADVERTISED, got %d\n", state);
 
     res = RegSetValueExA(compkey2, prod_squashed, 0, REG_SZ, (const BYTE *)"orange", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MsiQueryFeatureStateA(prodcode, "feature");
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
@@ -2148,7 +2148,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* empty szProductCode */
     state = MAGIC_ERROR;
@@ -2157,7 +2157,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* random szProductCode */
     state = MAGIC_ERROR;
@@ -2166,7 +2166,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* GUID-length szProductCode */
     state = MAGIC_ERROR;
@@ -2175,7 +2175,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* GUID-length with brackets */
     state = MAGIC_ERROR;
@@ -2184,7 +2184,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* actual GUID */
     state = MAGIC_ERROR;
@@ -2193,7 +2193,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     state = MAGIC_ERROR;
     SetLastError(0xdeadbeef);
@@ -2201,7 +2201,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
@@ -2213,7 +2213,7 @@ static void test_MsiQueryComponentState(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     SetLastError(0xdeadbeef);
@@ -2221,7 +2221,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_COMPONENT, "Expected ERROR_UNKNOWN_COMPONENT, got %d\n", r);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     delete_key(prodkey, "", access & KEY_WOW64_64KEY);
     RegCloseKey(prodkey);
@@ -2238,7 +2238,7 @@ static void test_MsiQueryComponentState(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local system product key exists */
     state = MAGIC_ERROR;
@@ -2246,10 +2246,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected 0xdeadbeef, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(prodkey, "LocalPackage", 0, REG_SZ, (const BYTE *)"msitest.msi", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     state = MAGIC_ERROR;
@@ -2258,13 +2258,13 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_COMPONENT, "Expected ERROR_UNKNOWN_COMPONENT, got %d\n", r);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Components\\");
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* component key exists */
     state = MAGIC_ERROR;
@@ -2273,10 +2273,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_UNKNOWN_COMPONENT, "Expected ERROR_UNKNOWN_COMPONENT, got %d\n", r);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"", 0);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* component\product exists */
     state = MAGIC_ERROR;
@@ -2286,7 +2286,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(state == INSTALLSTATE_NOTUSED || state == INSTALLSTATE_LOCAL,
        "Expected INSTALLSTATE_NOTUSED or INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     /* NULL component, product exists */
     state = MAGIC_ERROR;
@@ -2295,10 +2295,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(state == MAGIC_ERROR, "Expected state not changed, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"hi", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_LOCAL */
     state = MAGIC_ERROR;
@@ -2307,10 +2307,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01\\", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_SOURCE */
     state = MAGIC_ERROR;
@@ -2319,10 +2319,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(state == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* bad INSTALLSTATE_SOURCE */
     state = MAGIC_ERROR;
@@ -2331,10 +2331,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01a", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLSTATE_SOURCE */
     state = MAGIC_ERROR;
@@ -2343,10 +2343,10 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(state == INSTALLSTATE_SOURCE, "Expected INSTALLSTATE_SOURCE, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"01:", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* registry component */
     state = MAGIC_ERROR;
@@ -2355,7 +2355,7 @@ static void test_MsiQueryComponentState(void)
     error = GetLastError();
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
-    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", error);
+    ok(error == 0xdeadbeef, "expected 0xdeadbeef, got %lu\n", error);
 
     RegDeleteValueA(prodkey, "LocalPackage");
     delete_key(prodkey, "", access & KEY_WOW64_64KEY);
@@ -2375,7 +2375,7 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     r = pMsiQueryComponentStateA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, component, &state);
@@ -2392,10 +2392,10 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, "\\InstallProperties");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(prodkey, "LocalPackage", 0, REG_SZ, (const BYTE *)"msitest.msi", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     RegCloseKey(prodkey);
 
@@ -2410,7 +2410,7 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* component key exists */
     state = MAGIC_ERROR;
@@ -2419,7 +2419,7 @@ static void test_MsiQueryComponentState(void)
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"", 0);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* component\product exists */
     state = MAGIC_ERROR;
@@ -2429,7 +2429,7 @@ static void test_MsiQueryComponentState(void)
        "Expected INSTALLSTATE_NOTUSED or INSTALLSTATE_LOCAL, got %d\n", state);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"hi", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     r = pMsiQueryComponentStateA(prodcode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, component, &state);
@@ -2447,7 +2447,7 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     r = pMsiQueryComponentStateA(prodcode, NULL, MSIINSTALLCONTEXT_USERMANAGED, component, &state);
@@ -2463,7 +2463,7 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     r = pMsiQueryComponentStateA(prodcode, NULL, MSIINSTALLCONTEXT_USERMANAGED, component, &state);
@@ -2480,10 +2480,10 @@ static void test_MsiQueryComponentState(void)
     lstrcatA(keypath, "\\InstallProperties");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(prodkey, "ManagedLocalPackage", 0, REG_SZ, (const BYTE *)"msitest.msi", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     state = MAGIC_ERROR;
     r = pMsiQueryComponentStateA(prodcode, NULL, MSIINSTALLCONTEXT_USERMANAGED, component, &state);
@@ -2527,51 +2527,51 @@ static void test_MsiGetComponentPath(void)
     size = MAX_PATH;
     state = MsiGetComponentPathA(NULL, component, path, &size);
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL szComponent */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, NULL, path, &size);
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(NULL, path, &size);
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL lpPathBuf */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, NULL, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, NULL, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL pcchBuf */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, NULL);
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, NULL);
     ok(state == INSTALLSTATE_INVALIDARG, "Expected INSTALLSTATE_INVALIDARG, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* all params valid */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Components\\");
@@ -2584,21 +2584,21 @@ static void test_MsiGetComponentPath(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local system component key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     path[0] = 0;
@@ -2606,14 +2606,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
@@ -2621,11 +2621,11 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, "\\InstallProperties");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &installprop, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     val = 1;
     res = RegSetValueExA(installprop, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* install properties key exists */
     path[0] = 0;
@@ -2633,14 +2633,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     create_file("C:\\imapath", 11);
 
@@ -2650,28 +2650,28 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_MOREDATA, "Expected INSTALLSTATE_MOREDATA, got %d\n", state);
     ok(path[0] == 'a', "got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     size = 0;
     path[0] = 'a';
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_MOREDATA, "Expected INSTALLSTATE_MOREDATA, got %d\n", state);
     ok(path[0] == 'a', "got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(compkey, prod_squashed);
     delete_key(compkey, "", access & KEY_WOW64_64KEY);
@@ -2688,21 +2688,21 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed component key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     path[0] = 0;
@@ -2710,14 +2710,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
@@ -2725,11 +2725,11 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, "\\InstallProperties");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &installprop, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     val = 1;
     res = RegSetValueExA(installprop, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* install properties key exists */
     path[0] = 0;
@@ -2737,14 +2737,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     create_file("C:\\imapath", 11);
 
@@ -2754,14 +2754,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(compkey, prod_squashed);
     delete_key(compkey, "", access & KEY_WOW64_64KEY);
@@ -2778,18 +2778,18 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed product key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\");
@@ -2798,21 +2798,21 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed component key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     path[0] = 0;
@@ -2820,14 +2820,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
@@ -2835,11 +2835,11 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, "\\InstallProperties");
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &installprop, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     val = 1;
     res = RegSetValueExA(installprop, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* install properties key exists */
     path[0] = 0;
@@ -2847,14 +2847,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     create_file("C:\\imapath", 11);
 
@@ -2864,14 +2864,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(compkey, prod_squashed);
     delete_key(prodkey, "", access & KEY_WOW64_64KEY);
@@ -2887,18 +2887,18 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged product key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\");
@@ -2907,21 +2907,21 @@ static void test_MsiGetComponentPath(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged component key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     path[0] = 0;
@@ -2929,14 +2929,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     create_file("C:\\imapath", 11);
 
@@ -2946,14 +2946,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(compkey, prod_squashed);
     RegDeleteKeyA(prodkey, "");
@@ -2972,39 +2972,39 @@ static void test_MsiGetComponentPath(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local classes product key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Components\\");
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user component key exists */
     size = MAX_PATH;
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", state);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %ld\n", size);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     path[0] = 0;
@@ -3012,14 +3012,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_ABSENT, "Expected INSTALLSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     create_file("C:\\imapath", 11);
 
@@ -3029,14 +3029,14 @@ static void test_MsiGetComponentPath(void)
     state = MsiGetComponentPathA(prodcode, component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     path[0] = 0;
     size = MAX_PATH;
     state = MsiLocateComponentA(component, path, &size);
     ok(state == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", state);
     ok(!lstrcmpA(path, "C:\\imapath"), "Expected C:\\imapath, got %s\n", path);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(compkey, prod_squashed);
     delete_key(prodkey, "", access & KEY_WOW64_64KEY);
@@ -3074,37 +3074,37 @@ static void test_MsiGetComponentPathEx(void)
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( NULL, comp, NULL, MSIINSTALLCONTEXT_USERMANAGED, path, &size );
     ok( state == INSTALLSTATE_INVALIDARG, "got %d\n", state );
-    todo_wine ok( !size, "got %u\n", size );
+    todo_wine ok( !size, "got %lu\n", size );
 
     /* NULL component */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, NULL, NULL, MSIINSTALLCONTEXT_USERMANAGED, path, &size );
     ok( state == INSTALLSTATE_INVALIDARG, "got %d\n", state );
-    todo_wine ok( !size, "got %u\n", size );
+    todo_wine ok( !size, "got %lu\n", size );
 
     /* non-NULL usersid, MSIINSTALLCONTEXT_MACHINE */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, usersid, MSIINSTALLCONTEXT_MACHINE, path, &size);
     ok( state == INSTALLSTATE_INVALIDARG, "got %d\n", state );
-    todo_wine ok( !size, "got %u\n", size );
+    todo_wine ok( !size, "got %lu\n", size );
 
     /* NULL buf */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, NULL, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok( size == MAX_PATH * 2, "got %u\n", size );
+    todo_wine ok( size == MAX_PATH * 2, "got %lu\n", size );
 
     /* NULL buflen */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, NULL );
     ok( state == INSTALLSTATE_INVALIDARG, "got %d\n", state );
-    ok( size == MAX_PATH, "got %u\n", size );
+    ok( size == MAX_PATH, "got %lu\n", size );
 
     /* all params valid */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok( !size, "got %u\n", size );
+    todo_wine ok( !size, "got %lu\n", size );
 
     lstrcpyA( path_key, "Software\\Microsoft\\Windows\\CurrentVersion\\" );
     lstrcatA( path_key, "Installer\\UserData\\S-1-5-18\\Components\\" );
@@ -3117,7 +3117,7 @@ static void test_MsiGetComponentPathEx(void)
         LocalFree( usersid );
         return;
     }
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* local system component key exists */
     size = MAX_PATH;
@@ -3125,7 +3125,7 @@ static void test_MsiGetComponentPathEx(void)
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
 
     res = RegSetValueExA( key_comp, prod_squashed, 0, REG_SZ, (const BYTE *)"c:\\testcomponentpath", 20 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* product value exists */
     path[0] = 0;
@@ -3133,7 +3133,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     lstrcpyA( path_key, "Software\\Microsoft\\Windows\\CurrentVersion\\" );
     lstrcatA( path_key, "Installer\\UserData\\S-1-5-18\\Products\\" );
@@ -3141,11 +3141,11 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, "\\InstallProperties" );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, path_key, 0, NULL, 0, access, NULL, &key_installprop, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     val = 1;
     res = RegSetValueExA( key_installprop, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&val, sizeof(val) );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* install properties key exists */
     path[0] = 0;
@@ -3153,7 +3153,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath"), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     create_file( "c:\\testcomponentpath", 21 );
 
@@ -3163,14 +3163,14 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_MOREDATA, "got %d\n", state );
     ok( !path[0], "got %s\n", path );
-    todo_wine ok( size == 40, "got %u\n", size );
+    todo_wine ok( size == 40, "got %lu\n", size );
 
     path[0] = 0;
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_LOCAL, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %d\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     RegDeleteValueA( key_comp, prod_squashed );
     delete_key( key_comp, "", access & KEY_WOW64_64KEY );
@@ -3184,13 +3184,13 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, prod_squashed );
 
     res = RegCreateKeyA( HKEY_CURRENT_USER, path_key, &key_prod );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* user unmanaged product key exists */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, path, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok(!size, "got %u\n", size);
+    todo_wine ok(!size, "got %lu\n", size);
 
     lstrcpyA( path_key, "Software\\Microsoft\\Windows\\CurrentVersion\\" );
     lstrcatA( path_key, "Installer\\UserData\\" );
@@ -3199,16 +3199,16 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, comp_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, path_key, 0, NULL, 0, access, NULL, &key_comp, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* user unmanaged component key exists */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, path, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok(!size, "got %u\n", size);
+    todo_wine ok(!size, "got %lu\n", size);
 
     res = RegSetValueExA( key_comp, prod_squashed, 0, REG_SZ, (const BYTE *)"c:\\testcomponentpath", 20 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* product value exists */
     path[0] = 0;
@@ -3216,7 +3216,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath"), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     create_file( "c:\\testcomponentpath", 21 );
 
@@ -3226,7 +3226,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, path, &size );
     ok( state == INSTALLSTATE_LOCAL, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath"), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     RegDeleteValueA( key_comp, prod_squashed );
     RegDeleteKeyA( key_prod, "" );
@@ -3242,7 +3242,7 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, prod_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, path_key, 0, NULL, 0, access, NULL, &key_prod, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* user managed product key exists */
     size = MAX_PATH;
@@ -3256,7 +3256,7 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, comp_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, path_key, 0, NULL, 0, access, NULL, &key_comp, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* user managed component key exists */
     size = MAX_PATH;
@@ -3264,7 +3264,7 @@ static void test_MsiGetComponentPathEx(void)
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
 
     res = RegSetValueExA( key_comp, prod_squashed, 0, REG_SZ, (const BYTE *)"c:\\testcomponentpath", 20 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* product value exists */
     path[0] = 0;
@@ -3272,7 +3272,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERMANAGED, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     lstrcpyA( path_key, "Software\\Microsoft\\Windows\\CurrentVersion\\" );
     lstrcatA( path_key, "Installer\\UserData\\S-1-5-18\\Products\\" );
@@ -3280,11 +3280,11 @@ static void test_MsiGetComponentPathEx(void)
     lstrcatA( path_key, "\\InstallProperties" );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, path_key, 0, NULL, 0, access, NULL, &key_installprop, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     val = 1;
     res = RegSetValueExA( key_installprop, "WindowsInstaller", 0, REG_DWORD, (const BYTE *)&val, sizeof(val) );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* install properties key exists */
     path[0] = 0;
@@ -3292,7 +3292,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERMANAGED, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     create_file( "c:\\testcomponentpath", 21 );
 
@@ -3302,7 +3302,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_USERMANAGED, path, &size );
     ok( state == INSTALLSTATE_LOCAL, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     RegDeleteValueA( key_comp, prod_squashed );
     delete_key( key_prod, "", access & KEY_WOW64_64KEY );
@@ -3323,29 +3323,29 @@ static void test_MsiGetComponentPathEx(void)
         LocalFree( usersid );
         return;
     }
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* local classes product key exists */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok(!size, "got %u\n", size);
+    todo_wine ok(!size, "got %lu\n", size);
 
     lstrcpyA( path_key, "Software\\Microsoft\\Windows\\CurrentVersion\\" );
     lstrcatA( path_key, "Installer\\UserData\\S-1-5-18\\Components\\" );
     lstrcatA( path_key, comp_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE,  path_key, 0, NULL, 0, access, NULL, &key_comp, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* local user component key exists */
     size = MAX_PATH;
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
-    todo_wine ok(!size, "got %u\n", size);
+    todo_wine ok(!size, "got %lu\n", size);
 
     res = RegSetValueExA( key_comp, prod_squashed, 0, REG_SZ, (const BYTE *)"c:\\testcomponentpath", 20 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     /* product value exists */
     path[0] = 0;
@@ -3353,7 +3353,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_ABSENT, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     create_file( "c:\\testcomponentpath", 21 );
 
@@ -3363,7 +3363,7 @@ static void test_MsiGetComponentPathEx(void)
     state = pMsiGetComponentPathExA( prod, comp, NULL, MSIINSTALLCONTEXT_MACHINE, path, &size );
     ok( state == INSTALLSTATE_LOCAL, "got %d\n", state );
     ok( !lstrcmpA( path, "c:\\testcomponentpath" ), "got %s\n", path );
-    ok( size == 20, "got %u\n", size );
+    ok( size == 20, "got %lu\n", size );
 
     RegDeleteValueA( key_comp, prod_squashed );
     delete_key( key_prod, "", access & KEY_WOW64_64KEY );
@@ -3414,21 +3414,21 @@ static void test_MsiProvideComponent(void)
                               INSTALLMODE_NODETECTION, buf, &len);
     ok(r == ERROR_SUCCESS, "got %u\n", r);
     ok(buf[0], "empty path\n");
-    ok(len == lstrlenA(buf), "got %u\n", len);
+    ok(len == lstrlenA(buf), "got %lu\n", len);
 
     len2 = 0;
     r = pMsiProvideComponentA("{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}", "sourcedir",
                               "{DD422F92-3ED8-49B5-A0B7-F266F98357DF}",
                               INSTALLMODE_NODETECTION, NULL, &len2);
     ok(r == ERROR_SUCCESS, "got %u\n", r);
-    ok(len2 == len, "got %u\n", len2);
+    ok(len2 == len, "got %lu\n", len2);
 
     len2 = 0;
     r = pMsiProvideComponentA("{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}", "sourcedir",
                               "{DD422F92-3ED8-49B5-A0B7-F266F98357DF}",
                               INSTALLMODE_NODETECTION, buf, &len2);
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
-    ok(len2 == len, "got %u\n", len2);
+    ok(len2 == len, "got %lu\n", len2);
 
     /* wide version */
 
@@ -3438,19 +3438,19 @@ static void test_MsiProvideComponent(void)
                               L"{DD422F92-3ED8-49B5-A0B7-F266F98357DF}", INSTALLMODE_NODETECTION, bufW, &len);
     ok(r == ERROR_SUCCESS, "got %u\n", r);
     ok(bufW[0], "empty path\n");
-    ok(len == lstrlenW(bufW), "got %u\n", len);
+    ok(len == lstrlenW(bufW), "got %lu\n", len);
 
     len2 = 0;
     r = pMsiProvideComponentW(L"{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}", L"sourcedir",
                               L"{DD422F92-3ED8-49B5-A0B7-F266F98357DF}", INSTALLMODE_NODETECTION, NULL, &len2);
     ok(r == ERROR_SUCCESS, "got %u\n", r);
-    ok(len2 == len, "got %u\n", len2);
+    ok(len2 == len, "got %lu\n", len2);
 
     len2 = 0;
     r = pMsiProvideComponentW(L"{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}", L"sourcedir",
                               L"{DD422F92-3ED8-49B5-A0B7-F266F98357DF}", INSTALLMODE_NODETECTION, bufW, &len2);
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
-    ok(len2 == len, "got %u\n", len2);
+    ok(len2 == len, "got %lu\n", len2);
 
     r = MsiInstallProductA(msifile, "REMOVE=ALL");
     ok(r == ERROR_SUCCESS, "got %u\n", r);
@@ -3490,13 +3490,13 @@ static void test_MsiProvideQualifiedComponentEx(void)
 
     if (is_wow64) access |= KEY_WOW64_64KEY;
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     lstrcpyA( desc, prod_base85 );
     memcpy( desc + lstrlenA(desc), "feature<\0", sizeof("feature<\0") );
     res = RegSetValueExA( hkey, "qualifier", 0, REG_MULTI_SZ, (const BYTE *)desc,
                           lstrlenA(prod_base85) + sizeof("feature<\0") );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     r = MsiProvideQualifiedComponentExA( comp, "qualifier", INSTALLMODE_EXISTING, prod, 0, 0, buf, &len );
     ok( r == ERROR_UNKNOWN_PRODUCT, "got %u\n", r );
@@ -3511,7 +3511,7 @@ static void test_MsiProvideQualifiedComponentEx(void)
     lstrcatA( keypath, prod_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey2, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     state = MsiQueryProductStateA( prod );
     ok( state == INSTALLSTATE_ADVERTISED, "got %d\n", state );
@@ -3523,13 +3523,13 @@ static void test_MsiProvideQualifiedComponentEx(void)
     lstrcatA( keypath, prod_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey3, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     state = MsiQueryFeatureStateA( prod, "feature" );
     ok( state == INSTALLSTATE_UNKNOWN, "got %d\n", state );
 
     res = RegSetValueExA( hkey3, "feature", 0, REG_SZ, (const BYTE *)"", 1 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     state = MsiQueryFeatureStateA( prod, "feature" );
     ok( state == INSTALLSTATE_ADVERTISED, "got %d\n", state );
@@ -3546,10 +3546,10 @@ static void test_MsiProvideQualifiedComponentEx(void)
     lstrcatA( keypath, "\\Features" );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey4, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     res = RegSetValueExA( hkey4, "feature", 0, REG_SZ, (const BYTE *)comp2_base85, sizeof(comp2_base85) );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     state = MsiQueryFeatureStateA( prod, "feature" );
     ok( state == INSTALLSTATE_ADVERTISED, "got %d\n", state );
@@ -3558,10 +3558,10 @@ static void test_MsiProvideQualifiedComponentEx(void)
     lstrcatA( keypath, comp2_squashed );
 
     res = RegCreateKeyExA( HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey5, NULL );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     res = RegSetValueExA( hkey5, prod_squashed, 0, REG_SZ, (const BYTE *)"c:\\nosuchfile", sizeof("c:\\nosuchfile") );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     state = MsiQueryFeatureStateA( prod, "feature" );
     ok( state == INSTALLSTATE_LOCAL, "got %d\n", state );
@@ -3576,13 +3576,13 @@ static void test_MsiProvideQualifiedComponentEx(void)
     create_file_data( path, "test", 100 );
 
     res = RegSetValueExA( hkey5, prod_squashed, 0, REG_SZ, (const BYTE *)path, lstrlenA(path) + 1 );
-    ok( res == ERROR_SUCCESS, "got %d\n", res );
+    ok( res == ERROR_SUCCESS, "got %ld\n", res );
 
     buf[0] = 0;
     len = sizeof(buf);
     r = MsiProvideQualifiedComponentExA( comp, "qualifier", INSTALLMODE_EXISTING, prod, 0, 0, buf, &len );
     ok( r == ERROR_SUCCESS, "got %u\n", r );
-    ok( len == lstrlenA(path), "got %u\n", len );
+    ok( len == lstrlenA(path), "got %lu\n", len );
     ok( !lstrcmpA( path, buf ), "got '%s'\n", buf );
 
     DeleteFileA( "msitest\\text.txt" );
@@ -3680,7 +3680,7 @@ static void test_MsiGetProductCode(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged component key exists */
     lstrcpyA(product, "prod");
@@ -3689,7 +3689,7 @@ static void test_MsiGetProductCode(void)
     ok(!lstrcmpA(product, "prod"), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     lstrcpyA(product, "prod");
@@ -3698,7 +3698,7 @@ static void test_MsiGetProductCode(void)
     ok(!lstrcmpA(product, prodcode), "Expected %s, got %s\n", prodcode, product);
 
     res = RegSetValueExA(compkey, prod2_squashed, 0, REG_SZ, (const BYTE *)"C:\\another", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\Managed\\");
@@ -3707,7 +3707,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed product key of first product exists */
     lstrcpyA(product, "prod");
@@ -3722,7 +3722,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged product key exists */
     lstrcpyA(product, "prod");
@@ -3743,7 +3743,7 @@ static void test_MsiGetProductCode(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local classes product key exists */
     lstrcpyA(product, "prod");
@@ -3761,7 +3761,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod2_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed product key of second product exists */
     lstrcpyA(product, "prod");
@@ -3781,7 +3781,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user component key exists */
     lstrcpyA(product, "prod");
@@ -3790,7 +3790,7 @@ static void test_MsiGetProductCode(void)
     ok(!lstrcmpA(product, "prod"), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     lstrcpyA(product, "prod");
@@ -3799,7 +3799,7 @@ static void test_MsiGetProductCode(void)
     ok(!lstrcmpA(product, prodcode), "Expected %s, got %s\n", prodcode, product);
 
     res = RegSetValueExA(compkey, prod2_squashed, 0, REG_SZ, (const BYTE *)"C:\\another", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\Managed\\");
@@ -3808,7 +3808,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed product key of first product exists */
     lstrcpyA(product, "prod");
@@ -3823,7 +3823,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged product key exists */
     lstrcpyA(product, "prod");
@@ -3844,7 +3844,7 @@ static void test_MsiGetProductCode(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local classes product key exists */
     lstrcpyA(product, "prod");
@@ -3862,7 +3862,7 @@ static void test_MsiGetProductCode(void)
     lstrcatA(keypath, prod2_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user managed product key of second product exists */
     lstrcpyA(product, "prod");
@@ -3939,7 +3939,7 @@ static void test_MsiEnumClients(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user unmanaged component key exists */
     product[0] = '\0';
@@ -3954,7 +3954,7 @@ static void test_MsiEnumClients(void)
     ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     r = MsiEnumClientsA(component, 0, product);
@@ -3974,7 +3974,7 @@ static void test_MsiEnumClients(void)
     ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod2_squashed, 0, REG_SZ, (const BYTE *)"C:\\another", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* try index 1, second product value does exist */
     product[0] = '\0';
@@ -4009,7 +4009,7 @@ static void test_MsiEnumClients(void)
     lstrcatA(keypath, comp_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &compkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user local component key exists */
     product[0] = '\0';
@@ -4024,7 +4024,7 @@ static void test_MsiEnumClients(void)
     ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod_squashed, 0, REG_SZ, (const BYTE *)"C:\\imapath", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product value exists */
     product[0] = '\0';
@@ -4044,7 +4044,7 @@ static void test_MsiEnumClients(void)
     ok(!lstrcmpA(product, ""), "Expected product to be unchanged, got %s\n", product);
 
     res = RegSetValueExA(compkey, prod2_squashed, 0, REG_SZ, (const BYTE *)"C:\\another", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* try index 1, second product value does exist */
     product[0] = '\0';
@@ -4082,19 +4082,20 @@ static void get_version_info(LPSTR path, LPSTR *vercheck, LPDWORD verchecksz,
     LPSTR version;
     VS_FIXEDFILEINFO *ffi;
     DWORD size = GetFileVersionInfoSizeA(path, NULL);
+    UINT len;
     USHORT *lang;
 
     version = malloc(size);
     GetFileVersionInfoA(path, 0, size, version);
 
-    VerQueryValueA(version, "\\", (LPVOID *)&ffi, &size);
+    VerQueryValueA(version, "\\", (LPVOID *)&ffi, &len);
     *vercheck = malloc(MAX_PATH);
     sprintf(*vercheck, "%d.%d.%d.%d", HIWORD(ffi->dwFileVersionMS),
             LOWORD(ffi->dwFileVersionMS), HIWORD(ffi->dwFileVersionLS),
             LOWORD(ffi->dwFileVersionLS));
     *verchecksz = lstrlenA(*vercheck);
 
-    VerQueryValueA(version, "\\VarFileInfo\\Translation", (void **)&lang, &size);
+    VerQueryValueA(version, "\\VarFileInfo\\Translation", (void **)&lang, &len);
     *langcheck = malloc(MAX_PATH);
     sprintf(*langcheck, "%d", *lang);
     *langchecksz = lstrlenA(*langcheck);
@@ -4125,10 +4126,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* empty szFilePath */
     r = MsiGetFileVersionA("", NULL, NULL, NULL, NULL);
@@ -4143,10 +4144,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_FILE_NOT_FOUND, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* nonexistent szFilePath */
     versz = MAX_PATH;
@@ -4158,10 +4159,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_FILE_NOT_FOUND, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* nonexistent szFilePath, valid lpVersionBuf, NULL pcchVersionBuf */
     versz = MAX_PATH;
@@ -4173,10 +4174,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* nonexistent szFilePath, valid lpLangBuf, NULL pcchLangBuf */
     versz = MAX_PATH;
@@ -4188,10 +4189,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* nonexistent szFilePath, valid lpVersionBuf, pcchVersionBuf is zero */
     versz = 0;
@@ -4203,10 +4204,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_FILE_NOT_FOUND, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == 0, "Expected 0, got %d\n", versz);
+    ok(versz == 0, "Expected 0, got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
 
     /* nonexistent szFilePath, valid lpLangBuf, pcchLangBuf is zero */
     versz = MAX_PATH;
@@ -4218,10 +4219,10 @@ static void test_MsiGetFileVersion(void)
        "Expected ERROR_FILE_NOT_FOUND, got %d\n", r);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
-    ok(langsz == 0, "Expected 0, got %d\n", langsz);
+    ok(langsz == 0, "Expected 0, got %lu\n", langsz);
 
     /* nonexistent szFilePath, rest NULL */
     r = MsiGetFileVersionA("nonexistent", NULL, NULL, NULL, NULL);
@@ -4239,10 +4240,10 @@ static void test_MsiGetFileVersion(void)
     lstrcpyA(version, "version");
     lstrcpyA(lang, "lang");
     r = MsiGetFileVersionA("ver.txt", version, &versz, lang, &langsz);
-    ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+    ok(versz == MAX_PATH, "got %lu\n", versz);
     ok(!lstrcmpA(version, "version"),
        "Expected version to be unchanged, got %s\n", version);
-    ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+    ok(langsz == MAX_PATH, "got %lu\n", langsz);
     ok(!lstrcmpA(lang, "lang"),
        "Expected lang to be unchanged, got %s\n", lang);
     ok(r == ERROR_FILE_INVALID,
@@ -4262,10 +4263,10 @@ static void test_MsiGetFileVersion(void)
            "Expected ERROR_FILE_NOT_FOUND, got %d\n", r);
         ok(!lstrcmpA(version, "version"),
            "Expected version to be unchanged, got %s\n", version);
-        ok(versz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, versz);
+        ok(versz == MAX_PATH, "got %lu\n", versz);
         ok(!lstrcmpA(lang, "lang"),
            "Expected lang to be unchanged, got %s\n", lang);
-        ok(langsz == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, langsz);
+        ok(langsz == MAX_PATH, "got %lu\n", langsz);
     }
 
     GetSystemDirectoryA(path, MAX_PATH);
@@ -4287,7 +4288,7 @@ static void test_MsiGetFileVersion(void)
         free(langcheck);
         return;
     }
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
     ok(strstr(lang, langcheck) != NULL, "Expected \"%s\" in \"%s\"\n", langcheck, lang);
     ok(!lstrcmpA(version, vercheck),
         "Expected %s, got %s\n", vercheck, version);
@@ -4297,9 +4298,8 @@ static void test_MsiGetFileVersion(void)
     lstrcpyA(version, "version");
     r = MsiGetFileVersionA(path, version, &versz, NULL, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
-    ok(!lstrcmpA(version, vercheck),
-       "Expected %s, got %s\n", vercheck, version);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
+    ok(!lstrcmpA(version, vercheck), "Expected %s, got %s\n", vercheck, version);
 
     /* only check language */
     langsz = MAX_PATH;
@@ -4316,13 +4316,13 @@ static void test_MsiGetFileVersion(void)
     versz = MAX_PATH;
     r = MsiGetFileVersionA(path, NULL, &versz, NULL, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
 
     /* get pcchLangBuf */
     langsz = MAX_PATH;
     r = MsiGetFileVersionA(path, NULL, NULL, NULL, &langsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(langsz >= langchecksz, "Expected %d >= %d\n", langsz, langchecksz);
+    ok(langsz >= langchecksz, "Expected %lu >= %lu\n", langsz, langchecksz);
 
     /* pcchVersionBuf not big enough */
     versz = 5;
@@ -4331,7 +4331,7 @@ static void test_MsiGetFileVersion(void)
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!strncmp(version, vercheck, 4),
        "Expected first 4 characters of \"%s\", got \"%s\"\n", vercheck, version);
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
 
     /* pcchLangBuf not big enough */
     langsz = 4;
@@ -4339,7 +4339,7 @@ static void test_MsiGetFileVersion(void)
     r = MsiGetFileVersionA(path, NULL, NULL, lang, &langsz);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(lstrcmpA(lang, "lang"), "lang not set\n");
-    ok(langsz >= langchecksz, "Expected %d >= %d\n", langsz, langchecksz);
+    ok(langsz >= langchecksz, "Expected %lu >= %lu\n", langsz, langchecksz);
 
     /* pcchVersionBuf big enough, pcchLangBuf not big enough */
     versz = MAX_PATH;
@@ -4347,9 +4347,9 @@ static void test_MsiGetFileVersion(void)
     lstrcpyA(version, "version");
     r = MsiGetFileVersionA(path, version, &versz, NULL, &langsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
     ok(!lstrcmpA(version, vercheck), "Expected \"%s\", got \"%s\"\n", vercheck, version);
-    ok(langsz >= langchecksz && langsz < MAX_PATH, "Expected %d >= %d\n", langsz, langchecksz);
+    ok(langsz >= langchecksz && langsz < MAX_PATH, "Expected %lu >= %lu\n", langsz, langchecksz);
 
     /* pcchVersionBuf not big enough, pcchLangBuf big enough */
     versz = 5;
@@ -4357,8 +4357,8 @@ static void test_MsiGetFileVersion(void)
     lstrcpyA(lang, "lang");
     r = MsiGetFileVersionA(path, NULL, &versz, lang, &langsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
-    ok(langsz >= langchecksz && langsz < MAX_PATH, "Expected %d >= %d\n", langsz, langchecksz);
+    ok(versz == verchecksz, "Expected %lu, got %lu\n", verchecksz, versz);
+    ok(langsz >= langchecksz && langsz < MAX_PATH, "Expected %lu >= %lu\n", langsz, langchecksz);
     ok(strstr(lang, langcheck) != NULL, "expected %s in %s\n", langcheck, lang);
 
     /* NULL pcchVersionBuf and pcchLangBuf */
@@ -4403,7 +4403,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* empty szProduct */
     sz = MAX_PATH;
@@ -4412,7 +4412,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* garbage szProduct */
     sz = MAX_PATH;
@@ -4421,7 +4421,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* guid without brackets */
     sz = MAX_PATH;
@@ -4431,7 +4431,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* guid with brackets */
     sz = MAX_PATH;
@@ -4441,7 +4441,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* same length as guid, but random */
     sz = MAX_PATH;
@@ -4451,7 +4451,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* not installed, NULL szAttribute */
     sz = MAX_PATH;
@@ -4460,7 +4460,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* not installed, NULL lpValueBuf */
     sz = MAX_PATH;
@@ -4469,7 +4469,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* not installed, NULL pcchValueBuf */
     sz = MAX_PATH;
@@ -4478,7 +4478,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     /* created guid cannot possibly be an installed product code */
     sz = MAX_PATH;
@@ -4487,7 +4487,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -4501,7 +4501,7 @@ static void test_MsiGetProductInfo(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product code exists */
     sz = MAX_PATH;
@@ -4510,7 +4510,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     delete_key(prodkey, "", access & KEY_WOW64_64KEY);
     RegCloseKey(prodkey);
@@ -4527,7 +4527,7 @@ static void test_MsiGetProductInfo(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user product code exists */
     sz = MAX_PATH;
@@ -4536,7 +4536,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -4544,7 +4544,7 @@ static void test_MsiGetProductInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* both local and managed product code exist */
     sz = MAX_PATH;
@@ -4553,10 +4553,10 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "%lun", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -4564,10 +4564,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -4575,7 +4575,7 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     /* pcchBuf is NULL */
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, NULL, NULL);
@@ -4585,13 +4585,13 @@ static void test_MsiGetProductInfo(void)
     sz = MAX_PATH;
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     /* lpValueBuf is NULL, pcchValueBuf is too small */
     sz = 2;
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     /* lpValueBuf is non-NULL, pcchValueBuf is too small */
     sz = 2;
@@ -4599,7 +4599,7 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to remain unchanged, got \"%s\"\n", buf);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     /* lpValueBuf is non-NULL, pcchValueBuf is exactly 4 */
     sz = 4;
@@ -4608,10 +4608,10 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"),
        "Expected buf to remain unchanged, got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "IMadeThis", 0, REG_SZ, (LPBYTE)"random", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* random property not supported by MSI, value exists */
     sz = MAX_PATH;
@@ -4620,7 +4620,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "IMadeThis");
     RegDeleteValueA(propkey, "HelpLink");
@@ -4635,7 +4635,7 @@ static void test_MsiGetProductInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     sz = MAX_PATH;
@@ -4644,7 +4644,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -4652,7 +4652,7 @@ static void test_MsiGetProductInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user product key exists */
     sz = MAX_PATH;
@@ -4661,10 +4661,10 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -4672,10 +4672,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -4683,7 +4683,7 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "HelpLink");
     delete_key(propkey, "", access & KEY_WOW64_64KEY);
@@ -4703,7 +4703,7 @@ static void test_MsiGetProductInfo(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* classes product key exists */
     sz = MAX_PATH;
@@ -4712,7 +4712,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -4720,7 +4720,7 @@ static void test_MsiGetProductInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user product key exists */
     sz = MAX_PATH;
@@ -4729,10 +4729,10 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -4741,7 +4741,7 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     delete_key(propkey, "", access & KEY_WOW64_64KEY);
     delete_key(localkey, "", access & KEY_WOW64_64KEY);
@@ -4753,7 +4753,7 @@ static void test_MsiGetProductInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Local System product key exists */
     sz = MAX_PATH;
@@ -4762,10 +4762,10 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
         "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -4773,10 +4773,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -4784,11 +4784,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink type is REG_DWORD */
     sz = MAX_PATH;
@@ -4796,10 +4796,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -4807,11 +4807,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
-    res = RegSetValueExA(propkey, "DisplayName", 0, REG_DWORD,
-                         (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    res = RegSetValueExA(propkey, "DisplayName", 0, REG_DWORD, (const BYTE *)&val, sizeof(DWORD));
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName type is REG_DWORD */
     sz = MAX_PATH;
@@ -4819,10 +4818,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"1.1.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -4830,11 +4829,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONSTRINGA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "1.1.1"), "Expected \"1.1.1\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayVersion", 0,
                          REG_DWORD, (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion type is REG_DWORD */
     sz = MAX_PATH;
@@ -4842,10 +4841,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONSTRINGA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"tele", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -4853,11 +4852,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "tele"), "Expected \"tele\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpTelephone", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone type is REG_DWORD */
     sz = MAX_PATH;
@@ -4865,10 +4864,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -4876,11 +4875,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLLOCATIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "loc"), "Expected \"loc\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallLocation", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation type is REG_DWORD */
     sz = MAX_PATH;
@@ -4888,10 +4887,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLLOCATIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -4899,11 +4898,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLSOURCEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "source"), "Expected \"source\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallSource", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource type is REG_DWORD */
     sz = MAX_PATH;
@@ -4911,10 +4910,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLSOURCEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -4922,11 +4921,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLDATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "date"), "Expected \"date\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallDate", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate type is REG_DWORD */
     sz = MAX_PATH;
@@ -4934,10 +4933,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTALLDATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -4945,11 +4944,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PUBLISHERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "pub"), "Expected \"pub\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Publisher", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher type is REG_DWORD */
     sz = MAX_PATH;
@@ -4957,10 +4956,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PUBLISHERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"pack", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -4968,11 +4967,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LOCALPACKAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "pack"), "Expected \"pack\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage type is REG_DWORD */
     sz = MAX_PATH;
@@ -4980,10 +4979,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LOCALPACKAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "UrlInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UrlInfoAbout value exists */
     sz = MAX_PATH;
@@ -4991,11 +4990,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_URLINFOABOUTA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "about"), "Expected \"about\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "UrlInfoAbout", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UrlInfoAbout type is REG_DWORD */
     sz = MAX_PATH;
@@ -5003,10 +5002,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_URLINFOABOUTA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "UrlUpdateInfo", 0, REG_SZ, (LPBYTE)"info", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UrlUpdateInfo value exists */
     sz = MAX_PATH;
@@ -5014,11 +5013,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_URLUPDATEINFOA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "info"), "Expected \"info\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "UrlUpdateInfo", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UrlUpdateInfo type is REG_DWORD */
     sz = MAX_PATH;
@@ -5026,10 +5025,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_URLUPDATEINFOA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"1", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -5037,11 +5036,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONMINORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "1"), "Expected \"1\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMinor", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor type is REG_DWORD */
     sz = MAX_PATH;
@@ -5049,10 +5048,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONMINORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"1", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -5060,11 +5059,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONMAJORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "1"), "Expected \"1\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMajor", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor type is REG_DWORD */
     sz = MAX_PATH;
@@ -5072,10 +5071,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONMAJORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -5083,11 +5082,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTIDA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "id"), "Expected \"id\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductID", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID type is REG_DWORD */
     sz = MAX_PATH;
@@ -5095,10 +5094,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTIDA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -5106,11 +5105,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_REGCOMPANYA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "comp"), "Expected \"comp\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegCompany", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany type is REG_DWORD */
     sz = MAX_PATH;
@@ -5118,10 +5117,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_REGCOMPANYA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegOwner", 0, REG_SZ, (LPBYTE)"own", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -5129,11 +5128,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_REGOWNERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "own"), "Expected \"own\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegOwner", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner type is REG_DWORD */
     sz = MAX_PATH;
@@ -5141,10 +5140,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_REGOWNERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstanceType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstanceType value exists */
     sz = MAX_PATH;
@@ -5152,11 +5151,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTANCETYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstanceType", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstanceType type is REG_DWORD */
     sz = MAX_PATH;
@@ -5164,10 +5163,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTANCETYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstanceType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstanceType value exists */
     sz = MAX_PATH;
@@ -5175,11 +5174,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTANCETYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "type"), "Expected \"type\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstanceType", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstanceType type is REG_DWORD */
     sz = MAX_PATH;
@@ -5187,10 +5186,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_INSTANCETYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Transforms", 0, REG_SZ, (LPBYTE)"tforms", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -5198,11 +5197,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Transforms", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms type is REG_DWORD */
     sz = MAX_PATH;
@@ -5210,10 +5209,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Transforms", 0, REG_SZ, (LPBYTE)"tforms", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -5221,11 +5220,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "tforms"), "Expected \"tforms\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Transforms", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms type is REG_DWORD */
     sz = MAX_PATH;
@@ -5233,10 +5232,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -5244,11 +5243,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Language", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language type is REG_DWORD */
     sz = MAX_PATH;
@@ -5256,10 +5255,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -5267,11 +5266,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "lang"), "Expected \"lang\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Language", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language type is REG_DWORD */
     sz = MAX_PATH;
@@ -5279,10 +5278,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -5290,11 +5289,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductName", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName type is REG_DWORD */
     sz = MAX_PATH;
@@ -5302,10 +5301,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -5313,11 +5312,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductName", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName type is REG_DWORD */
     sz = MAX_PATH;
@@ -5325,10 +5324,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Assignment", 0, REG_SZ, (LPBYTE)"at", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Assignment value exists */
     sz = MAX_PATH;
@@ -5336,11 +5335,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Assignment", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Assignment type is REG_DWORD */
     sz = MAX_PATH;
@@ -5348,10 +5347,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Assignment", 0, REG_SZ, (LPBYTE)"at", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Assignment value exists */
     sz = MAX_PATH;
@@ -5359,11 +5358,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "at"), "Expected \"at\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Assignment", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Assignment type is REG_DWORD */
     sz = MAX_PATH;
@@ -5371,10 +5370,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -5382,11 +5381,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGECODEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageCode", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode type is REG_DWORD */
     sz = MAX_PATH;
@@ -5394,10 +5393,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGECODEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -5406,11 +5405,11 @@ static void test_MsiGetProductInfo(void)
     ok(r == ERROR_BAD_CONFIGURATION,
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
     ok(!lstrcmpA(buf, "code"), "Expected \"code\", got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageCode", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode type is REG_DWORD */
     sz = MAX_PATH;
@@ -5418,10 +5417,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGECODEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageCode", 0, REG_SZ, (LPBYTE)pack_squashed, 33);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -5429,10 +5428,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGECODEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, packcode), "Expected \"%s\", got \"%s\"\n", packcode, buf);
-    ok(sz == 38, "Expected 38, got %d\n", sz);
+    ok(sz == 38, "Expected 38, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -5440,11 +5439,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Version", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version type is REG_DWORD */
     sz = MAX_PATH;
@@ -5452,10 +5451,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -5463,11 +5462,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "ver"), "Expected \"ver\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Version", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version type is REG_DWORD */
     sz = MAX_PATH;
@@ -5475,10 +5474,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"ico", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -5486,11 +5485,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductIcon", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon type is REG_DWORD */
     sz = MAX_PATH;
@@ -5498,10 +5497,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"ico", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -5509,11 +5508,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "ico"), "Expected \"ico\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductIcon", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon type is REG_DWORD */
     sz = MAX_PATH;
@@ -5521,7 +5520,7 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     /* SourceList key does not exist */
     sz = MAX_PATH;
@@ -5531,10 +5530,10 @@ static void test_MsiGetProductInfo(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"),
        "Expected buf to be unchanged, got \"%s\"\n", buf);
-    ok(sz == MAX_PATH, "Expected sz to be unchanged, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected sz to be unchanged, got %lu\n", sz);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists, but PackageName val does not exist */
     sz = MAX_PATH;
@@ -5542,10 +5541,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGENAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(source, "PackageName", 0, REG_SZ, (LPBYTE)"packname", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName val exists */
     sz = MAX_PATH;
@@ -5553,11 +5552,11 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGENAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "packname"), "Expected \"packname\", got \"%s\"\n", buf);
-    ok(sz == 8, "Expected 8, got %d\n", sz);
+    ok(sz == 8, "Expected 8, got %lu\n", sz);
 
     res = RegSetValueExA(source, "PackageName", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName type is REG_DWORD */
     sz = MAX_PATH;
@@ -5565,10 +5564,10 @@ static void test_MsiGetProductInfo(void)
     r = MsiGetProductInfoA(prodcode, INSTALLPROPERTY_PACKAGENAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Authorized value exists */
     sz = MAX_PATH;
@@ -5578,12 +5577,12 @@ static void test_MsiGetProductInfo(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-        ok(sz == 0, "Expected 0, got %d\n", sz);
+        ok(sz == 0, "Expected 0, got %lu\n", sz);
     }
 
     res = RegSetValueExA(propkey, "AuthorizedLUAApp", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp type is REG_DWORD */
     sz = MAX_PATH;
@@ -5593,11 +5592,11 @@ static void test_MsiGetProductInfo(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-        ok(sz == 0, "Expected 0, got %d\n", sz);
+        ok(sz == 0, "Expected 0, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Authorized value exists */
     sz = MAX_PATH;
@@ -5607,12 +5606,12 @@ static void test_MsiGetProductInfo(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(buf, "auth"), "Expected \"auth\", got \"%s\"\n", buf);
-        ok(sz == 4, "Expected 4, got %d\n", sz);
+        ok(sz == 4, "Expected 4, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "AuthorizedLUAApp", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp type is REG_DWORD */
     sz = MAX_PATH;
@@ -5622,7 +5621,7 @@ static void test_MsiGetProductInfo(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(buf, "42"), "Expected \"42\", got \"%s\"\n", buf);
-        ok(sz == 2, "Expected 2, got %d\n", sz);
+        ok(sz == 2, "Expected 2, got %lu\n", sz);
     }
 
     RegDeleteValueA(propkey, "HelpLink");
@@ -5708,7 +5707,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* empty szProductCode */
     sz = MAX_PATH;
@@ -5718,7 +5717,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* garbage szProductCode */
     sz = MAX_PATH;
@@ -5728,7 +5727,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* guid without brackets */
     sz = MAX_PATH;
@@ -5739,7 +5738,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* guid with brackets */
     sz = MAX_PATH;
@@ -5750,7 +5749,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* szValue is non-NULL while pcchValue is NULL */
     lstrcpyA(buf, "apple");
@@ -5769,7 +5768,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* szProperty is NULL */
     sz = MAX_PATH;
@@ -5780,7 +5779,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* szProperty is empty */
     sz = MAX_PATH;
@@ -5791,7 +5790,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* szProperty is not a valid property */
     sz = MAX_PATH;
@@ -5802,7 +5801,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* same length as guid, but random */
     sz = MAX_PATH;
@@ -5813,7 +5812,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     /* MSIINSTALLCONTEXT_USERUNMANAGED */
 
@@ -5829,7 +5828,7 @@ static void test_MsiGetProductInfoEx(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user product key exists */
     sz = MAX_PATH;
@@ -5840,10 +5839,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -5854,10 +5853,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -5867,7 +5866,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTSTATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "5"), "Expected \"5\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "LocalPackage");
 
@@ -5880,10 +5879,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage exists, but HelpLink does not exist */
     sz = MAX_PATH;
@@ -5893,10 +5892,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -5906,10 +5905,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -5919,7 +5918,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "phone"), "Expected \"phone\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     /* szValue and pcchValue are NULL */
     r = pMsiGetProductInfoExA(prodcode, usersid,
@@ -5935,7 +5934,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_MORE_DATA,
        "Expected ERROR_MORE_DATA, got %d\n", r);
-    ok(sz == 10, "Expected 10, got %d\n", sz);
+    ok(sz == 10, "Expected 10, got %lu\n", sz);
 
     /* szValue is NULL, pcchValue is exactly 5 */
     sz = 5;
@@ -5943,7 +5942,7 @@ static void test_MsiGetProductInfoEx(void)
                               MSIINSTALLCONTEXT_USERUNMANAGED,
                               INSTALLPROPERTY_HELPTELEPHONEA, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 10, "Expected 10, got %d\n", sz);
+    ok(sz == 10, "Expected 10, got %lu\n", sz);
 
     /* szValue is NULL, pcchValue is MAX_PATH */
     sz = MAX_PATH;
@@ -5951,7 +5950,7 @@ static void test_MsiGetProductInfoEx(void)
                               MSIINSTALLCONTEXT_USERUNMANAGED,
                               INSTALLPROPERTY_HELPTELEPHONEA, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(sz == 10, "Expected 10, got %d\n", sz);
+    ok(sz == 10, "Expected 10, got %lu\n", sz);
 
     /* pcchValue is exactly 0 */
     sz = 0;
@@ -5962,10 +5961,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_MORE_DATA,
        "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected \"apple\", got \"%s\"\n", buf);
-    ok(sz == 10, "Expected 10, got %d\n", sz);
+    ok(sz == 10, "Expected 10, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "notvalid", 0, REG_SZ, (LPBYTE)"invalid", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* szProperty is not a valid property */
     sz = MAX_PATH;
@@ -5976,10 +5975,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -5989,10 +5988,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLDATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "date"), "Expected \"date\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -6002,10 +6001,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -6015,10 +6014,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLLOCATIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "loc"), "Expected \"loc\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -6028,10 +6027,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLSOURCEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "source"), "Expected \"source\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -6041,10 +6040,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LOCALPACKAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "local"), "Expected \"local\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -6054,10 +6053,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PUBLISHERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "pub"), "Expected \"pub\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -6067,10 +6066,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLINFOABOUTA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "about"), "Expected \"about\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -6080,10 +6079,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLUPDATEINFOA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "update"), "Expected \"update\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -6093,10 +6092,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMINORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "2"), "Expected \"2\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -6106,10 +6105,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMAJORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3"), "Expected \"3\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -6119,10 +6118,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONSTRINGA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3.2.1"), "Expected \"3.2.1\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -6132,10 +6131,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTIDA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "id"), "Expected \"id\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -6145,10 +6144,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGCOMPANYA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "comp"), "Expected \"comp\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -6158,10 +6157,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGOWNERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "owner"), "Expected \"owner\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -6172,10 +6171,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -6186,10 +6185,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -6200,10 +6199,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -6216,10 +6215,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -6230,10 +6229,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -6244,10 +6243,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -6258,10 +6257,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -6272,10 +6271,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -6286,7 +6285,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "AuthorizedLUAApp");
     RegDeleteValueA(propkey, "PackageName");
@@ -6325,7 +6324,7 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     sz = MAX_PATH;
@@ -6336,7 +6335,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     RegDeleteKeyA(userkey, "");
     RegCloseKey(userkey);
@@ -6345,7 +6344,7 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_CURRENT_USER, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     sz = MAX_PATH;
     lstrcpyA(buf, "apple");
@@ -6361,10 +6360,10 @@ static void test_MsiGetProductInfoEx(void)
         return;
     }
     ok(!lstrcmpA(buf, "1"), "Expected \"1\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -6375,10 +6374,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -6389,10 +6388,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -6403,10 +6402,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -6417,10 +6416,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -6431,10 +6430,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -6445,10 +6444,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -6459,10 +6458,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -6473,10 +6472,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -6487,10 +6486,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -6501,10 +6500,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -6515,10 +6514,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -6529,10 +6528,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -6543,10 +6542,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -6557,10 +6556,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -6571,10 +6570,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -6585,10 +6584,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -6598,10 +6597,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "trans"), "Expected \"trans\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -6611,10 +6610,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "lang"), "Expected \"lang\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -6624,10 +6623,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -6639,10 +6638,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -6657,11 +6656,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_BAD_CONFIGURATION,
            "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -6671,10 +6670,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "ver"), "Expected \"ver\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -6684,10 +6683,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "icon"), "Expected \"icon\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -6700,11 +6699,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_UNKNOWN_PRODUCT,
            "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -6714,7 +6713,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_AUTHORIZED_LUA_APPA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "auth"), "Expected \"auth\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     RegDeleteValueA(prodkey, "AuthorizedLUAApp");
     RegDeleteValueA(prodkey, "PackageName");
@@ -6753,7 +6752,7 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local user product key exists */
     sz = MAX_PATH;
@@ -6764,10 +6763,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -6778,10 +6777,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ManagedLocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ManagedLocalPackage value exists */
     sz = MAX_PATH;
@@ -6791,10 +6790,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTSTATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "5"), "Expected \"5\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -6804,10 +6803,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -6817,10 +6816,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "phone"), "Expected \"phone\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -6830,10 +6829,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLDATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "date"), "Expected \"date\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -6843,10 +6842,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -6856,10 +6855,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLLOCATIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "loc"), "Expected \"loc\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -6869,10 +6868,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLSOURCEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "source"), "Expected \"source\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -6882,10 +6881,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LOCALPACKAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "local"), "Expected \"local\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -6895,10 +6894,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PUBLISHERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "pub"), "Expected \"pub\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -6908,10 +6907,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLINFOABOUTA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "about"), "Expected \"about\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -6921,10 +6920,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLUPDATEINFOA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "update"), "Expected \"update\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -6934,10 +6933,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMINORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "2"), "Expected \"2\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -6947,10 +6946,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMAJORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3"), "Expected \"3\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -6960,10 +6959,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONSTRINGA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3.2.1"), "Expected \"3.2.1\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -6973,10 +6972,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTIDA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "id"), "Expected \"id\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -6986,10 +6985,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGCOMPANYA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "comp"), "Expected \"comp\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -6999,10 +6998,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGOWNERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "owner"), "Expected \"owner\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -7013,10 +7012,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -7027,10 +7026,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -7041,10 +7040,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -7057,10 +7056,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -7071,10 +7070,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -7085,10 +7084,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -7099,10 +7098,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -7113,10 +7112,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -7127,7 +7126,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "AuthorizedLUAApp");
     RegDeleteValueA(propkey, "PackageName");
@@ -7166,7 +7165,7 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     sz = MAX_PATH;
@@ -7176,7 +7175,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTSTATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "1"), "Expected \"1\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     delete_key(userkey, "", access & KEY_WOW64_64KEY);
     RegCloseKey(userkey);
@@ -7185,7 +7184,7 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* current user product key exists */
     sz = MAX_PATH;
@@ -7196,10 +7195,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists, user product key does not exist */
     sz = MAX_PATH;
@@ -7210,7 +7209,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -7218,10 +7217,10 @@ static void test_MsiGetProductInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(userkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists, user product key does exist */
     sz = MAX_PATH;
@@ -7232,10 +7231,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -7246,10 +7245,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -7260,10 +7259,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -7274,10 +7273,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -7288,10 +7287,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -7302,10 +7301,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -7316,10 +7315,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -7330,10 +7329,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -7344,10 +7343,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -7358,10 +7357,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -7372,10 +7371,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -7386,10 +7385,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -7400,10 +7399,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -7414,10 +7413,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -7428,10 +7427,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -7442,10 +7441,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -7455,10 +7454,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "trans"), "Expected \"trans\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -7468,10 +7467,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "lang"), "Expected \"lang\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -7481,10 +7480,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -7496,10 +7495,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -7514,11 +7513,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_BAD_CONFIGURATION,
            "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(userkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -7528,10 +7527,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "ver"), "Expected \"ver\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -7541,10 +7540,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "icon"), "Expected \"icon\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(userkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -7557,11 +7556,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_UNKNOWN_PRODUCT,
            "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(userkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -7571,7 +7570,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_AUTHORIZED_LUA_APPA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "auth"), "Expected \"auth\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     RegDeleteValueA(userkey, "AuthorizedLUAApp");
     RegDeleteValueA(userkey, "PackageName");
@@ -7614,13 +7613,13 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &localkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local system product key exists */
     sz = MAX_PATH;
@@ -7631,10 +7630,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegCreateKeyExA(localkey, "InstallProperties", 0, NULL, 0, access, NULL, &propkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     sz = MAX_PATH;
@@ -7645,10 +7644,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -7658,10 +7657,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTSTATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "5"), "Expected \"5\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -7671,10 +7670,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPLINKA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "link"), "Expected \"link\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -7684,10 +7683,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_HELPTELEPHONEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "phone"), "Expected \"phone\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -7697,10 +7696,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLDATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "date"), "Expected \"date\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -7710,10 +7709,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -7723,10 +7722,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLLOCATIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "loc"), "Expected \"loc\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -7736,10 +7735,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_INSTALLSOURCEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "source"), "Expected \"source\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -7749,10 +7748,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LOCALPACKAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "local"), "Expected \"local\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -7762,10 +7761,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PUBLISHERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "pub"), "Expected \"pub\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -7775,10 +7774,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLINFOABOUTA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "about"), "Expected \"about\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -7788,10 +7787,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_URLUPDATEINFOA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "update"), "Expected \"update\", got \"%s\"\n", buf);
-    ok(sz == 6, "Expected 6, got %d\n", sz);
+    ok(sz == 6, "Expected 6, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -7801,10 +7800,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMINORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "2"), "Expected \"2\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -7814,10 +7813,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONMAJORA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3"), "Expected \"3\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -7827,10 +7826,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONSTRINGA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "3.2.1"), "Expected \"3.2.1\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -7840,10 +7839,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTIDA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "id"), "Expected \"id\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -7853,10 +7852,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGCOMPANYA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "comp"), "Expected \"comp\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -7866,10 +7865,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_REGOWNERA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "owner"), "Expected \"owner\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -7880,10 +7879,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -7894,10 +7893,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -7908,10 +7907,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -7924,10 +7923,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageCode value exists */
     sz = MAX_PATH;
@@ -7938,10 +7937,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -7952,10 +7951,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -7966,10 +7965,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -7980,10 +7979,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(propkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -7994,7 +7993,7 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PRODUCT,
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     RegDeleteValueA(propkey, "AuthorizedLUAApp");
     RegDeleteValueA(propkey, "PackageName");
@@ -8037,7 +8036,7 @@ static void test_MsiGetProductInfoEx(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local classes product key exists */
     sz = MAX_PATH;
@@ -8047,10 +8046,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTSTATEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "1"), "Expected \"1\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "HelpLink", 0, REG_SZ, (LPBYTE)"link", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpLink value exists */
     sz = MAX_PATH;
@@ -8061,10 +8060,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "HelpTelephone", 0, REG_SZ, (LPBYTE)"phone", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* HelpTelephone value exists */
     sz = MAX_PATH;
@@ -8075,10 +8074,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallDate", 0, REG_SZ, (LPBYTE)"date", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallDate value exists */
     sz = MAX_PATH;
@@ -8089,10 +8088,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "DisplayName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     sz = MAX_PATH;
@@ -8103,10 +8102,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallLocation", 0, REG_SZ, (LPBYTE)"loc", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallLocation value exists */
     sz = MAX_PATH;
@@ -8117,10 +8116,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "InstallSource", 0, REG_SZ, (LPBYTE)"source", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallSource value exists */
     sz = MAX_PATH;
@@ -8131,10 +8130,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "LocalPackage", 0, REG_SZ, (LPBYTE)"local", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     sz = MAX_PATH;
@@ -8145,10 +8144,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Publisher", 0, REG_SZ, (LPBYTE)"pub", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Publisher value exists */
     sz = MAX_PATH;
@@ -8159,10 +8158,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "URLInfoAbout", 0, REG_SZ, (LPBYTE)"about", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLInfoAbout value exists */
     sz = MAX_PATH;
@@ -8173,10 +8172,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "URLUpdateInfo", 0, REG_SZ, (LPBYTE)"update", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URLUpdateInfo value exists */
     sz = MAX_PATH;
@@ -8187,10 +8186,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "VersionMinor", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMinor value exists */
     sz = MAX_PATH;
@@ -8201,10 +8200,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "VersionMajor", 0, REG_SZ, (LPBYTE)"3", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* VersionMajor value exists */
     sz = MAX_PATH;
@@ -8215,10 +8214,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "DisplayVersion", 0, REG_SZ, (LPBYTE)"3.2.1", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayVersion value exists */
     sz = MAX_PATH;
@@ -8229,10 +8228,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductID", 0, REG_SZ, (LPBYTE)"id", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     sz = MAX_PATH;
@@ -8243,10 +8242,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "RegCompany", 0, REG_SZ, (LPBYTE)"comp", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     sz = MAX_PATH;
@@ -8257,10 +8256,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     sz = MAX_PATH;
@@ -8271,10 +8270,10 @@ static void test_MsiGetProductInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-    ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+    ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Transforms", 0, REG_SZ, (LPBYTE)"trans", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Transforms value exists */
     sz = MAX_PATH;
@@ -8284,10 +8283,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_TRANSFORMSA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "trans"), "Expected \"trans\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "Language", 0, REG_SZ, (LPBYTE)"lang", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Language value exists */
     sz = MAX_PATH;
@@ -8297,10 +8296,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_LANGUAGEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "lang"), "Expected \"lang\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductName value exists */
     sz = MAX_PATH;
@@ -8310,10 +8309,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTNAMEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "name"), "Expected \"name\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "AssignmentType", 0, REG_SZ, (LPBYTE)"type", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -8325,10 +8324,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_ASSIGNMENTTYPEA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageCode", 0, REG_SZ, (LPBYTE)"code", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* FIXME */
 
@@ -8343,11 +8342,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_BAD_CONFIGURATION,
            "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "Version", 0, REG_SZ, (LPBYTE)"ver", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Version value exists */
     sz = MAX_PATH;
@@ -8357,10 +8356,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_VERSIONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "ver"), "Expected \"ver\", got \"%s\"\n", buf);
-    ok(sz == 3, "Expected 3, got %d\n", sz);
+    ok(sz == 3, "Expected 3, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "ProductIcon", 0, REG_SZ, (LPBYTE)"icon", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductIcon value exists */
     sz = MAX_PATH;
@@ -8370,10 +8369,10 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_PRODUCTICONA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "icon"), "Expected \"icon\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     res = RegSetValueExA(prodkey, "PackageName", 0, REG_SZ, (LPBYTE)"name", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     sz = MAX_PATH;
@@ -8386,11 +8385,11 @@ static void test_MsiGetProductInfoEx(void)
         ok(r == ERROR_UNKNOWN_PRODUCT,
            "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
         ok(!lstrcmpA(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf);
-        ok(sz == MAX_PATH, "Expected MAX_PATH, got %d\n", sz);
+        ok(sz == MAX_PATH, "Expected MAX_PATH, got %lu\n", sz);
     }
 
     res = RegSetValueExA(prodkey, "AuthorizedLUAApp", 0, REG_SZ, (LPBYTE)"auth", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* AuthorizedLUAApp value exists */
     sz = MAX_PATH;
@@ -8400,7 +8399,7 @@ static void test_MsiGetProductInfoEx(void)
                               INSTALLPROPERTY_AUTHORIZED_LUA_APPA, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "auth"), "Expected \"auth\", got \"%s\"\n", buf);
-    ok(sz == 4, "Expected 4, got %d\n", sz);
+    ok(sz == 4, "Expected 4, got %lu\n", sz);
 
     RegDeleteValueA(prodkey, "AuthorizedLUAApp");
     RegDeleteValueA(prodkey, "PackageName");
@@ -8467,9 +8466,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* empty szProductCode */
     INIT_USERINFO();
@@ -8479,9 +8478,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* garbage szProductCode */
     INIT_USERINFO();
@@ -8491,9 +8490,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* guid without brackets */
     INIT_USERINFO();
@@ -8504,9 +8503,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* guid with brackets */
     INIT_USERINFO();
@@ -8517,9 +8516,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL lpUserNameBuf */
     INIT_USERINFO();
@@ -8528,9 +8527,9 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL pcchUserNameBuf */
     INIT_USERINFO();
@@ -8540,8 +8539,8 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* both lpUserNameBuf and pcchUserNameBuf NULL */
     INIT_USERINFO();
@@ -8550,8 +8549,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL lpOrgNameBuf */
     INIT_USERINFO();
@@ -8560,9 +8559,9 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL pcchOrgNameBuf */
     INIT_USERINFO();
@@ -8572,8 +8571,8 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* both lpOrgNameBuf and pcchOrgNameBuf NULL */
     INIT_USERINFO();
@@ -8582,8 +8581,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL lpSerialBuf */
     INIT_USERINFO();
@@ -8592,9 +8591,9 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* NULL pcchSerialBuf */
     INIT_USERINFO();
@@ -8604,8 +8603,8 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
 
     /* both lpSerialBuf and pcchSerialBuf NULL */
     INIT_USERINFO();
@@ -8614,8 +8613,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_UNKNOWN, got %d\n", state);
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
 
     /* MSIINSTALLCONTEXT_USERMANAGED */
 
@@ -8632,7 +8631,7 @@ static void test_MsiGetUserInfo(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     INIT_USERINFO();
@@ -8642,9 +8641,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\");
@@ -8659,10 +8658,10 @@ static void test_MsiGetUserInfo(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(userprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     INIT_USERINFO();
@@ -8672,9 +8671,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* RegOwner doesn't exist, lpUserNameBuf and pcchUserNameBuf are NULL */
     INIT_USERINFO();
@@ -8683,8 +8682,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     /* RegOwner, RegCompany don't exist, out params are NULL */
     INIT_USERINFO();
@@ -8692,10 +8691,10 @@ static void test_MsiGetUserInfo(void)
     ok(state == USERINFOSTATE_ABSENT,
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     INIT_USERINFO();
@@ -8705,12 +8704,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegCompany", 0, REG_SZ, (LPBYTE)"company", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     INIT_USERINFO();
@@ -8720,12 +8719,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "ProductID", 0, REG_SZ, (LPBYTE)"ID", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     INIT_USERINFO();
@@ -8735,9 +8734,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "ID"), "Expected \"ID\", got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == 2, "Expected 2, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == 2, "Expected 2, got %lu\n", serialsz);
 
     /* pcchUserNameBuf is too small */
     INIT_USERINFO();
@@ -8748,9 +8747,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* pcchUserNameBuf has no room for NULL terminator */
     INIT_USERINFO();
@@ -8764,9 +8763,9 @@ static void test_MsiGetUserInfo(void)
     }
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* pcchUserNameBuf is too small, lpUserNameBuf is NULL */
     INIT_USERINFO();
@@ -8777,9 +8776,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "ID"), "Expected \"ID\", got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == 2, "Expected 2, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == 2, "Expected 2, got %lu\n", serialsz);
 
     RegDeleteValueA(props, "ProductID");
     RegDeleteValueA(props, "RegCompany");
@@ -8798,7 +8797,7 @@ static void test_MsiGetUserInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product key exists */
     INIT_USERINFO();
@@ -8808,9 +8807,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\");
@@ -8819,10 +8818,10 @@ static void test_MsiGetUserInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userprod, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(userprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     INIT_USERINFO();
@@ -8832,9 +8831,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* RegOwner doesn't exist, lpUserNameBuf and pcchUserNameBuf are NULL */
     INIT_USERINFO();
@@ -8843,8 +8842,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     /* RegOwner, RegCompany don't exist, out params are NULL */
     INIT_USERINFO();
@@ -8852,10 +8851,10 @@ static void test_MsiGetUserInfo(void)
     ok(state == USERINFOSTATE_ABSENT,
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     INIT_USERINFO();
@@ -8865,12 +8864,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegCompany", 0, REG_SZ, (LPBYTE)"company", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     INIT_USERINFO();
@@ -8880,12 +8879,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "ProductID", 0, REG_SZ, (LPBYTE)"ID", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     INIT_USERINFO();
@@ -8895,9 +8894,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "ID"), "Expected \"ID\", got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == 2, "Expected 2, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == 2, "Expected 2, got %lu\n", serialsz);
 
     RegDeleteValueA(props, "ProductID");
     RegDeleteValueA(props, "RegCompany");
@@ -8922,7 +8921,7 @@ static void test_MsiGetUserInfo(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* product key exists */
     INIT_USERINFO();
@@ -8932,9 +8931,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH, "Expected MAX_PATH, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18");
@@ -8942,10 +8941,10 @@ static void test_MsiGetUserInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userprod, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(userprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     INIT_USERINFO();
@@ -8955,9 +8954,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "apple"), "Expected user to be unchanged, got \"%s\"\n", user);
     ok(!lstrcmpA(org, "orange"), "Expected org to be unchanged, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", usersz);
-    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %d\n", serialsz);
+    ok(usersz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", usersz);
+    ok(orgsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", serialsz);
 
     /* RegOwner doesn't exist, lpUserNameBuf and pcchUserNameBuf are NULL */
     INIT_USERINFO();
@@ -8966,8 +8965,8 @@ static void test_MsiGetUserInfo(void)
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     /* RegOwner, RegCompany don't exist, out params are NULL */
     INIT_USERINFO();
@@ -8975,10 +8974,10 @@ static void test_MsiGetUserInfo(void)
     ok(state == USERINFOSTATE_ABSENT,
        "Expected USERINFOSTATE_ABSENT, got %d\n", state);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegOwner", 0, REG_SZ, (LPBYTE)"owner", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegOwner value exists */
     INIT_USERINFO();
@@ -8988,12 +8987,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, ""), "Expected empty string, got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 0, "Expected 0, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 0, "Expected 0, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "RegCompany", 0, REG_SZ, (LPBYTE)"company", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* RegCompany value exists */
     INIT_USERINFO();
@@ -9003,12 +9002,12 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "banana"), "Expected serial to be unchanged, got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == MAX_PATH - 1, "Expected MAX_PATH - 1, got %lu\n", serialsz);
 
     res = RegSetValueExA(props, "ProductID", 0, REG_SZ, (LPBYTE)"ID", 3);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ProductID value exists */
     INIT_USERINFO();
@@ -9018,9 +9017,9 @@ static void test_MsiGetUserInfo(void)
     ok(!lstrcmpA(user, "owner"), "Expected \"owner\", got \"%s\"\n", user);
     ok(!lstrcmpA(org, "company"), "Expected \"company\", got \"%s\"\n", org);
     ok(!lstrcmpA(serial, "ID"), "Expected \"ID\", got \"%s\"\n", serial);
-    ok(usersz == 5, "Expected 5, got %d\n", usersz);
-    ok(orgsz == 7, "Expected 7, got %d\n", orgsz);
-    ok(serialsz == 2, "Expected 2, got %d\n", serialsz);
+    ok(usersz == 5, "Expected 5, got %lu\n", usersz);
+    ok(orgsz == 7, "Expected 7, got %lu\n", orgsz);
+    ok(serialsz == 2, "Expected 2, got %lu\n", serialsz);
 
     RegDeleteValueA(props, "ProductID");
     RegDeleteValueA(props, "RegCompany");
@@ -9127,7 +9126,7 @@ static void test_MsiOpenProduct(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     hprod = 0xdeadbeef;
@@ -9149,7 +9148,7 @@ static void test_MsiOpenProduct(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     hprod = 0xdeadbeef;
@@ -9159,7 +9158,7 @@ static void test_MsiOpenProduct(void)
     ok(hprod == 0xdeadbeef, "Expected hprod to be unchanged\n");
 
     res = RegCreateKeyExA(userkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     hprod = 0xdeadbeef;
@@ -9172,7 +9171,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(val, "\\winetest.msi");
     res = RegSetValueExA(props, "ManagedLocalPackage", 0, REG_SZ,
                          (const BYTE *)val, lstrlenA(val) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ManagedLocalPackage value exists */
     hprod = 0xdeadbeef;
@@ -9184,7 +9183,7 @@ static void test_MsiOpenProduct(void)
     r = MsiGetPropertyA(hprod, "ProductCode", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, prodcode), "Expected \"%s\", got \"%s\"\n", prodcode, val);
-    ok(size == lstrlenA(prodcode), "Expected %d, got %d\n", lstrlenA(prodcode), size);
+    ok(size == lstrlenA(prodcode), "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     MsiCloseHandle(hprod);
 
@@ -9202,7 +9201,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* unmanaged product key exists */
     hprod = 0xdeadbeef;
@@ -9218,7 +9217,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     hprod = 0xdeadbeef;
@@ -9228,7 +9227,7 @@ static void test_MsiOpenProduct(void)
     ok(hprod == 0xdeadbeef, "Expected hprod to be unchanged\n");
 
     res = RegCreateKeyExA(userkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     hprod = 0xdeadbeef;
@@ -9241,7 +9240,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(val, "\\winetest.msi");
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)val, lstrlenA(val) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     hprod = 0xdeadbeef;
@@ -9253,7 +9252,7 @@ static void test_MsiOpenProduct(void)
     r = MsiGetPropertyA(hprod, "ProductCode", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, prodcode), "Expected \"%s\", got \"%s\"\n", prodcode, val);
-    ok(size == lstrlenA(prodcode), "Expected %d, got %d\n", lstrlenA(prodcode), size);
+    ok(size == lstrlenA(prodcode), "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     MsiCloseHandle(hprod);
 
@@ -9277,7 +9276,7 @@ static void test_MsiOpenProduct(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     hprod = 0xdeadbeef;
@@ -9291,7 +9290,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     hprod = 0xdeadbeef;
@@ -9301,7 +9300,7 @@ static void test_MsiOpenProduct(void)
     ok(hprod == 0xdeadbeef, "Expected hprod to be unchanged\n");
 
     res = RegCreateKeyExA(userkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     hprod = 0xdeadbeef;
@@ -9314,7 +9313,7 @@ static void test_MsiOpenProduct(void)
     lstrcatA(val, "\\winetest.msi");
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)val, lstrlenA(val) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage value exists */
     hprod = 0xdeadbeef;
@@ -9326,19 +9325,19 @@ static void test_MsiOpenProduct(void)
     r = MsiGetPropertyA(hprod, "ProductCode", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, prodcode), "Expected \"%s\", got \"%s\"\n", prodcode, val);
-    ok(size == lstrlenA(prodcode), "Expected %d, got %d\n", lstrlenA(prodcode), size);
+    ok(size == lstrlenA(prodcode), "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     MsiCloseHandle(hprod);
 
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)"winetest.msi", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(val, path);
     lstrcatA(val, "\\winetest.msi");
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)val, lstrlenA(val) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     DeleteFileA(msifile);
 
@@ -9404,7 +9403,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, expectedsid);
@@ -9417,7 +9416,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
         skip("Not enough rights to perform tests\n");
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     lstrcpyA(patchcode, "apple");
@@ -9437,10 +9436,10 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -9460,12 +9459,12 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     lstrcpyA(patchcode, "apple");
@@ -9486,11 +9485,11 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     lstrcpyA(patchcode, "apple");
@@ -9511,13 +9510,13 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = '\0';
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     lstrcpyA(patchcode, "apple");
@@ -9537,11 +9536,11 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch squashed value exists */
     lstrcpyA(patchcode, "apple");
@@ -9562,7 +9561,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* increase the index */
     lstrcpyA(patchcode, "apple");
@@ -9582,7 +9581,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* increase again */
     lstrcpyA(patchcode, "apple");
@@ -9603,7 +9602,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szPatchCode is NULL */
     lstrcpyA(targetprod, "banana");
@@ -9621,7 +9620,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* szTargetProductCode is NULL */
     lstrcpyA(patchcode, "apple");
@@ -9639,7 +9638,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* pdwTargetProductContext is NULL */
     lstrcpyA(patchcode, "apple");
@@ -9657,7 +9656,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* szTargetUserSid is NULL */
     lstrcpyA(patchcode, "apple");
@@ -9675,7 +9674,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(context == MSIINSTALLCONTEXT_USERMANAGED,
        "Expected MSIINSTALLCONTEXT_USERMANAGED, got %d\n", context);
     ok(size == lstrlenA(expectedsid) * sizeof(WCHAR),
-       "Expected %d*sizeof(WCHAR), got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d*sizeof(WCHAR), got %lu\n", lstrlenA(expectedsid), size);
 
     /* pcchTargetUserSid is exactly the length of szTargetUserSid */
     lstrcpyA(patchcode, "apple");
@@ -9696,7 +9695,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!strncmp(targetsid, expectedsid, lstrlenA(expectedsid) - 1),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid) * sizeof(WCHAR),
-       "Expected %d*sizeof(WCHAR), got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d*sizeof(WCHAR), got %lu\n", lstrlenA(expectedsid), size);
 
     /* pcchTargetUserSid has enough room for NULL terminator */
     lstrcpyA(patchcode, "apple");
@@ -9717,7 +9716,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* both szTargetuserSid and pcchTargetUserSid are NULL */
     lstrcpyA(patchcode, "apple");
@@ -9753,7 +9752,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, expectedsid);
@@ -9766,7 +9765,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
         skip("Not enough rights to perform tests\n");
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData product key exists */
     lstrcpyA(patchcode, "apple");
@@ -9786,10 +9785,10 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -9809,10 +9808,10 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udpatch, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* specific UserData patch key exists */
     lstrcpyA(patchcode, "apple");
@@ -9833,12 +9832,12 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_SUPERSEDED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     lstrcpyA(patchcode, "apple");
@@ -9859,7 +9858,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* MSIPATCHSTATE_OBSOLETED */
 
@@ -9880,12 +9879,12 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_OBSOLETED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value is obsoleted */
     lstrcpyA(patchcode, "apple");
@@ -9906,7 +9905,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* MSIPATCHSTATE_REGISTERED */
     /* FIXME */
@@ -9932,7 +9931,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* same patch in multiple places, only one is enumerated */
     lstrcpyA(patchcode, "apple");
@@ -9952,7 +9951,7 @@ static void test_MsiEnumPatchesEx_usermanaged(LPCSTR usersid, LPCSTR expectedsid
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     RegDeleteValueA(hpatch, "State");
     delete_key(hpatch, "", access & KEY_WOW64_64KEY);
@@ -10007,13 +10006,13 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* current user product key exists */
     lstrcpyA(patchcode, "apple");
@@ -10033,10 +10032,10 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyA(prodkey, "Patches", &patches);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -10056,12 +10055,12 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     lstrcpyA(patchcode, "apple");
@@ -10082,11 +10081,11 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     lstrcpyA(patchcode, "apple");
@@ -10107,13 +10106,13 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = 0;
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     lstrcpyA(patchcode, "apple");
@@ -10135,11 +10134,11 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch code value exists */
     lstrcpyA(patchcode, "apple");
@@ -10161,7 +10160,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, expectedsid);
@@ -10174,7 +10173,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
         skip("Not enough rights to perform tests\n");
         goto error;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* userdata patch key exists */
     lstrcpyA(patchcode, "apple");
@@ -10195,7 +10194,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* MSIPATCHSTATE_SUPERSEDED */
 
@@ -10216,7 +10215,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, expectedsid);
@@ -10229,7 +10228,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
         skip("Not enough rights to perform tests\n");
         goto error;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData product key exists */
     lstrcpyA(patchcode, "apple");
@@ -10249,10 +10248,10 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -10272,10 +10271,10 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udpatch, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* specific UserData patch key exists */
     lstrcpyA(patchcode, "apple");
@@ -10296,12 +10295,12 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_SUPERSEDED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     lstrcpyA(patchcode, "apple");
@@ -10322,7 +10321,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* MSIPATCHSTATE_OBSOLETED */
 
@@ -10343,12 +10342,12 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_OBSOLETED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value is obsoleted */
     lstrcpyA(patchcode, "apple");
@@ -10369,7 +10368,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* MSIPATCHSTATE_REGISTERED */
     /* FIXME */
@@ -10395,7 +10394,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
     ok(!lstrcmpA(targetsid, expectedsid),
        "Expected \"%s\", got \"%s\"\n", expectedsid, targetsid);
     ok(size == lstrlenA(expectedsid),
-       "Expected %d, got %d\n", lstrlenA(expectedsid), size);
+       "Expected %d, got %lu\n", lstrlenA(expectedsid), size);
 
     /* same patch in multiple places, only one is enumerated */
     lstrcpyA(patchcode, "apple");
@@ -10415,7 +10414,7 @@ static void test_MsiEnumPatchesEx_userunmanaged(LPCSTR usersid, LPCSTR expecteds
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     RegDeleteValueA(hpatch, "State");
     delete_key(hpatch, "", access & KEY_WOW64_64KEY);
@@ -10475,7 +10474,7 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
@@ -10486,7 +10485,7 @@ static void test_MsiEnumPatchesEx_machine(void)
         skip("Not enough rights to perform tests\n");
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local product key exists */
     lstrcpyA(patchcode, "apple");
@@ -10506,10 +10505,10 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -10529,12 +10528,12 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     lstrcpyA(patchcode, "apple");
@@ -10555,11 +10554,11 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     lstrcpyA(patchcode, "apple");
@@ -10580,13 +10579,13 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = '\0';
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     lstrcpyA(patchcode, "apple");
@@ -10606,11 +10605,11 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch code value exists */
     lstrcpyA(patchcode, "apple");
@@ -10629,7 +10628,7 @@ static void test_MsiEnumPatchesEx_machine(void)
     ok(context == MSIINSTALLCONTEXT_MACHINE,
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""), "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
@@ -10641,7 +10640,7 @@ static void test_MsiEnumPatchesEx_machine(void)
         skip("Not enough rights to perform tests\n");
         goto done;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData product key exists */
     lstrcpyA(patchcode, "apple");
@@ -10661,10 +10660,10 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""),
        "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData Patches key exists */
     lstrcpyA(patchcode, "apple");
@@ -10684,10 +10683,10 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""),
        "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegCreateKeyExA(udpatch, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData Product patch key exists */
     lstrcpyA(patchcode, "apple");
@@ -10707,12 +10706,12 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_APPLIED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     lstrcpyA(patchcode, "apple");
@@ -10732,7 +10731,7 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""),
        "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* MSIPATCHSTATE_SUPERSEDED */
 
@@ -10753,12 +10752,12 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_SUPERSEDED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value is MSIPATCHSTATE_SUPERSEDED */
     lstrcpyA(patchcode, "apple");
@@ -10777,7 +10776,7 @@ static void test_MsiEnumPatchesEx_machine(void)
     ok(context == MSIINSTALLCONTEXT_MACHINE,
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""), "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* MSIPATCHSTATE_OBSOLETED */
 
@@ -10798,12 +10797,12 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_OBSOLETED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value is obsoleted */
     lstrcpyA(patchcode, "apple");
@@ -10822,7 +10821,7 @@ static void test_MsiEnumPatchesEx_machine(void)
     ok(context == MSIINSTALLCONTEXT_MACHINE,
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""), "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* MSIPATCHSTATE_REGISTERED */
     /* FIXME */
@@ -10846,7 +10845,7 @@ static void test_MsiEnumPatchesEx_machine(void)
     ok(context == MSIINSTALLCONTEXT_MACHINE,
        "Expected MSIINSTALLCONTEXT_MACHINE, got %d\n", context);
     ok(!lstrcmpA(targetsid, ""), "Expected \"\", got \"%s\"\n", targetsid);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* same patch in multiple places, only one is enumerated */
     lstrcpyA(patchcode, "apple");
@@ -10866,7 +10865,7 @@ static void test_MsiEnumPatchesEx_machine(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     delete_key(hpatch, "", access & KEY_WOW64_64KEY);
     RegDeleteValueA(hpatch, "State");
@@ -10923,7 +10922,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* garbage szProductCode */
     lstrcpyA(patchcode, "apple");
@@ -10944,7 +10943,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid without brackets */
     lstrcpyA(patchcode, "apple");
@@ -10966,7 +10965,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid with brackets */
     lstrcpyA(patchcode, "apple");
@@ -10988,7 +10987,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szUserSid is S-1-5-18 */
     lstrcpyA(patchcode, "apple");
@@ -11010,7 +11009,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is MSIINSTALLCONTEXT_MACHINE, but szUserSid is non-NULL */
     lstrcpyA(patchcode, "apple");
@@ -11031,7 +11030,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is out of bounds */
     lstrcpyA(patchcode, "apple");
@@ -11052,7 +11051,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is out of bounds */
     lstrcpyA(patchcode, "apple");
@@ -11073,7 +11072,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwFilter is out of bounds */
     lstrcpyA(patchcode, "apple");
@@ -11094,7 +11093,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwFilter is out of bounds */
     lstrcpyA(patchcode, "apple");
@@ -11115,7 +11114,7 @@ static void test_MsiEnumPatchesEx(void)
        "Expected context to be unchanged, got %d\n", context);
     ok(!lstrcmpA(targetsid, "kiwi"),
        "Expected targetsid to be unchanged, got %s\n", targetsid);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* pcchTargetUserSid is NULL while szTargetUserSid is non-NULL */
     lstrcpyA(patchcode, "apple");
@@ -11179,7 +11178,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* empty szProduct */
     size = MAX_PATH;
@@ -11192,7 +11191,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* garbage szProduct */
     size = MAX_PATH;
@@ -11205,7 +11204,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid without brackets */
     size = MAX_PATH;
@@ -11219,7 +11218,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid with brackets */
     size = MAX_PATH;
@@ -11233,7 +11232,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* same length as guid, but random */
     size = MAX_PATH;
@@ -11247,7 +11246,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* MSIINSTALLCONTEXT_USERMANAGED */
 
@@ -11261,7 +11260,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -11275,7 +11274,7 @@ static void test_MsiEnumPatches(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     size = MAX_PATH;
@@ -11287,10 +11286,10 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patches key exists */
     size = MAX_PATH;
@@ -11304,12 +11303,12 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     size = MAX_PATH;
@@ -11323,11 +11322,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     size = MAX_PATH;
@@ -11340,13 +11339,13 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = '\0';
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     size = MAX_PATH;
@@ -11361,11 +11360,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch squashed value exists */
     size = MAX_PATH;
@@ -11377,7 +11376,7 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     /* lpPatchBuf is NULL */
     size = MAX_PATH;
@@ -11387,7 +11386,7 @@ static void test_MsiEnumPatches(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* lpTransformsBuf is NULL, pcchTransformsBuf is not */
     size = MAX_PATH;
@@ -11397,7 +11396,7 @@ static void test_MsiEnumPatches(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(patch, "apple"),
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* pcchTransformsBuf is NULL, lpTransformsBuf is not */
     lstrcpyA(patch, "apple");
@@ -11421,7 +11420,7 @@ static void test_MsiEnumPatches(void)
     ok(!lstrcmpA(transforms, "whate") ||
        broken(!lstrcmpA(transforms, "banana")), /* Windows Installer < 3.0 */
        "Expected \"whate\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == 16, "Expected 8 or 16, got %d\n", size);
+    ok(size == 8 || size == 16, "Expected 8 or 16, got %lu\n", size);
 
     /* increase the index */
     size = MAX_PATH;
@@ -11433,7 +11432,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* increase again */
     size = MAX_PATH;
@@ -11445,7 +11444,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     RegDeleteValueA(patches, "Patches");
     delete_key(patches, "", access & KEY_WOW64_64KEY);
@@ -11465,13 +11464,13 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* current user product key exists */
     size = MAX_PATH;
@@ -11483,10 +11482,10 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyA(prodkey, "Patches", &patches);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -11500,12 +11499,12 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     size = MAX_PATH;
@@ -11519,11 +11518,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     size = MAX_PATH;
@@ -11536,13 +11535,13 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = '\0';
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     size = MAX_PATH;
@@ -11557,11 +11556,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch code value exists */
     size = MAX_PATH;
@@ -11577,7 +11576,7 @@ static void test_MsiEnumPatches(void)
     ok(!lstrcmpA(transforms, "banana") ||
        broken(!lstrcmpA(transforms, "whatever")), /* Windows Installer < 3.0 */
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -11585,7 +11584,7 @@ static void test_MsiEnumPatches(void)
     lstrcatA(keypath, patch_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* userdata patch key exists */
     size = MAX_PATH;
@@ -11597,7 +11596,7 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     delete_key(userkey, "", access & KEY_WOW64_64KEY);
     RegCloseKey(userkey);
@@ -11620,7 +11619,7 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
@@ -11632,7 +11631,7 @@ static void test_MsiEnumPatches(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local product key exists */
     size = MAX_PATH;
@@ -11644,10 +11643,10 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -11661,12 +11660,12 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not REG_MULTI_SZ */
     size = MAX_PATH;
@@ -11680,11 +11679,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)"a\0b\0c\0\0", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists, is not a squashed guid */
     size = MAX_PATH;
@@ -11697,13 +11696,13 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     patch_squashed[lstrlenA(patch_squashed) + 1] = '\0';
     res = RegSetValueExA(patches, "Patches", 0, REG_MULTI_SZ,
                          (const BYTE *)patch_squashed,
                          lstrlenA(patch_squashed) + 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches value exists */
     size = MAX_PATH;
@@ -11718,11 +11717,11 @@ static void test_MsiEnumPatches(void)
        "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch);
     ok(!lstrcmpA(transforms, "banana"),
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(patches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"whatever", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch code value exists */
     size = MAX_PATH;
@@ -11734,14 +11733,14 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udprod, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData product key exists */
     size = MAX_PATH;
@@ -11753,10 +11752,10 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData Patches key exists */
     size = MAX_PATH;
@@ -11768,10 +11767,10 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(udpatch, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData Product patch key exists */
     size = MAX_PATH;
@@ -11787,12 +11786,12 @@ static void test_MsiEnumPatches(void)
     ok(!lstrcmpA(transforms, "banana") ||
        broken(!lstrcmpA(transforms, "whatever")), /* Windows Installer < 3.0 */
        "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     data = MSIPATCHSTATE_APPLIED;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&data, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     size = MAX_PATH;
@@ -11804,7 +11803,7 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     /* now duplicate some of the tests for the W version */
 
@@ -11822,7 +11821,7 @@ static void test_MsiEnumPatches(void)
     ok(!lstrcmpA(transforms, "whate") ||
        broken(!lstrcmpA(transforms, "banana")), /* Windows Installer < 3.0 */
        "Expected \"whate\", got \"%s\"\n", transforms);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* patch code value exists */
     size = MAX_PATH;
@@ -11836,7 +11835,7 @@ static void test_MsiEnumPatches(void)
        "Expected \"%s\", got \"%s\"\n", patchcode, patch);
     ok(!lstrcmpA(transforms, "whatever"),
        "Expected \"whatever\", got \"%s\"\n", transforms);
-    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %d\n", size);
+    ok(size == 8 || size == MAX_PATH, "Expected 8 or MAX_PATH, got %lu\n", size);
 
     RegDeleteValueA(patches, patch_squashed);
     RegDeleteValueA(patches, "Patches");
@@ -11889,7 +11888,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* empty szPatchCode */
     size = MAX_PATH;
@@ -11900,7 +11899,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* garbage szPatchCode */
     size = MAX_PATH;
@@ -11912,7 +11911,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid without brackets */
     size = MAX_PATH;
@@ -11924,7 +11923,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid with brackets */
     size = MAX_PATH;
@@ -11936,7 +11935,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* same length as guid, but random */
     size = MAX_PATH;
@@ -11948,7 +11947,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL szProductCode */
     lstrcpyA(val, "apple");
@@ -11959,7 +11958,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* empty szProductCode */
     size = MAX_PATH;
@@ -11970,7 +11969,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* garbage szProductCode */
     size = MAX_PATH;
@@ -11982,7 +11981,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid without brackets */
     size = MAX_PATH;
@@ -11994,7 +11993,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* guid with brackets */
     size = MAX_PATH;
@@ -12006,7 +12005,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* same length as guid, but random */
     size = MAX_PATH;
@@ -12018,7 +12017,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szUserSid cannot be S-1-5-18 for MSIINSTALLCONTEXT_USERMANAGED */
     size = MAX_PATH;
@@ -12030,7 +12029,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szUserSid cannot be S-1-5-18 for MSIINSTALLCONTEXT_USERUNMANAGED */
     size = MAX_PATH;
@@ -12042,7 +12041,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szUserSid cannot be S-1-5-18 for MSIINSTALLCONTEXT_MACHINE */
     size = MAX_PATH;
@@ -12054,7 +12053,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szUserSid must be NULL for MSIINSTALLCONTEXT_MACHINE */
     size = MAX_PATH;
@@ -12066,7 +12065,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is out of range */
     size = MAX_PATH;
@@ -12078,7 +12077,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is out of range */
     size = MAX_PATH;
@@ -12090,7 +12089,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* dwContext is invalid */
     size = MAX_PATH;
@@ -12101,7 +12100,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* MSIINSTALLCONTEXT_USERMANAGED */
 
@@ -12114,7 +12113,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -12128,7 +12127,7 @@ static void test_MsiGetPatchInfoEx(void)
         LocalFree(usersid);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData product key exists */
     size = MAX_PATH;
@@ -12140,10 +12139,10 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     size = MAX_PATH;
@@ -12154,10 +12153,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12168,10 +12167,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCHA, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(patches, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12182,7 +12181,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -12190,7 +12189,7 @@ static void test_MsiGetPatchInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* managed product key exists */
     size = MAX_PATH;
@@ -12201,10 +12200,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &prodpatches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12215,11 +12214,11 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(prodpatches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"transforms", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* specific patch value exists */
     size = MAX_PATH;
@@ -12230,7 +12229,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -12238,7 +12237,7 @@ static void test_MsiGetPatchInfoEx(void)
     lstrcatA(keypath, patch_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData Patches key exists */
     size = MAX_PATH;
@@ -12248,11 +12247,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegSetValueExA(udpatch, "ManagedLocalPackage", 0, REG_SZ,
                          (const BYTE *)"pack", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* ManagedLocalPatch value exists */
     size = MAX_PATH;
@@ -12262,7 +12261,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(val, "apple");
@@ -12271,11 +12270,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "transforms"), "Expected \"transforms\", got \"%s\"\n", val);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     res = RegSetValueExA(hpatch, "Installed", 0, REG_SZ,
                          (const BYTE *)"mydate", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Installed value exists */
     size = MAX_PATH;
@@ -12285,11 +12284,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_INSTALLDATEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "mydate"), "Expected \"mydate\", got \"%s\"\n", val);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     res = RegSetValueExA(hpatch, "Uninstallable", 0, REG_SZ,
                          (const BYTE *)"yes", 4);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Uninstallable value exists */
     size = MAX_PATH;
@@ -12299,11 +12298,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_UNINSTALLABLEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "yes"), "Expected \"yes\", got \"%s\"\n", val);
-    ok(size == 3, "Expected 3, got %d\n", size);
+    ok(size == 3, "Expected 3, got %lu\n", size);
 
     res = RegSetValueExA(hpatch, "State", 0, REG_SZ,
                          (const BYTE *)"good", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     size = MAX_PATH;
@@ -12313,12 +12312,12 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_PATCHSTATEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "good"), "Expected \"good\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     size = 1;
     res = RegSetValueExA(hpatch, "State", 0, REG_DWORD,
                          (const BYTE *)&size, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* State value exists */
     size = MAX_PATH;
@@ -12328,12 +12327,12 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_PATCHSTATEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "1"), "Expected \"1\", got \"%s\"\n", val);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     size = 1;
     res = RegSetValueExA(hpatch, "Uninstallable", 0, REG_DWORD,
                          (const BYTE *)&size, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Uninstallable value exists */
     size = MAX_PATH;
@@ -12343,11 +12342,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_UNINSTALLABLEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "1"), "Expected \"1\", got \"%s\"\n", val);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     res = RegSetValueExA(hpatch, "DisplayName", 0, REG_SZ,
                          (const BYTE *)"display", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* DisplayName value exists */
     size = MAX_PATH;
@@ -12357,11 +12356,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_DISPLAYNAMEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "display"), "Expected \"display\", got \"%s\"\n", val);
-    ok(size == 7, "Expected 7, got %d\n", size);
+    ok(size == 7, "Expected 7, got %lu\n", size);
 
     res = RegSetValueExA(hpatch, "MoreInfoURL", 0, REG_SZ,
                          (const BYTE *)"moreinfo", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* MoreInfoURL value exists */
     size = MAX_PATH;
@@ -12371,7 +12370,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_MOREINFOURLA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "moreinfo"), "Expected \"moreinfo\", got \"%s\"\n", val);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* szProperty is invalid */
     size = MAX_PATH;
@@ -12382,7 +12381,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PROPERTY,
        "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
     ok(!lstrcmpA(val, "apple"), "Expected \"apple\", got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* lpValue is NULL, while pcchValue is non-NULL */
     size = MAX_PATH;
@@ -12390,7 +12389,7 @@ static void test_MsiGetPatchInfoEx(void)
                             MSIINSTALLCONTEXT_USERMANAGED,
                             INSTALLPROPERTY_MOREINFOURLA, NULL, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(size == 16, "Expected 16, got %d\n", size);
+    ok(size == 16, "Expected 16, got %lu\n", size);
 
     /* pcchValue is NULL, while lpValue is non-NULL */
     lstrcpyA(val, "apple");
@@ -12416,7 +12415,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(val, "moreinf"),
        "Expected \"moreinf\", got \"%s\"\n", val);
-    ok(size == 16, "Expected 16, got %d\n", size);
+    ok(size == 16, "Expected 16, got %lu\n", size);
 
     /* pcchValue has exactly enough room for NULL terminator */
     size = 9;
@@ -12427,7 +12426,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "moreinfo"),
        "Expected \"moreinfo\", got \"%s\"\n", val);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* pcchValue is too small, lpValue is NULL */
     size = 0;
@@ -12435,7 +12434,7 @@ static void test_MsiGetPatchInfoEx(void)
                             MSIINSTALLCONTEXT_USERMANAGED,
                             INSTALLPROPERTY_MOREINFOURLA, NULL, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(size == 16, "Expected 16, got %d\n", size);
+    ok(size == 16, "Expected 16, got %lu\n", size);
 
     RegDeleteValueA(prodpatches, patch_squashed);
     delete_key(prodpatches, "", access & KEY_WOW64_64KEY);
@@ -12453,7 +12452,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     /* UserData is sufficient for all properties
      * except INSTALLPROPERTY_TRANSFORMS
@@ -12465,7 +12464,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"), "Expected \"apple\", got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     RegDeleteValueA(hpatch, "MoreInfoURL");
     RegDeleteValueA(hpatch, "Display");
@@ -12495,7 +12494,7 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -12503,7 +12502,7 @@ static void test_MsiGetPatchInfoEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udprod, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData product key exists */
     size = MAX_PATH;
@@ -12515,10 +12514,10 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     size = MAX_PATH;
@@ -12529,10 +12528,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12543,10 +12542,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(patches, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12557,13 +12556,13 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &prodkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* current user product key exists */
     size = MAX_PATH;
@@ -12574,10 +12573,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyA(prodkey, "Patches", &prodpatches);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12588,11 +12587,11 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(prodpatches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"transforms", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* specific patch value exists */
     size = MAX_PATH;
@@ -12603,7 +12602,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\");
     lstrcatA(keypath, usersid);
@@ -12611,7 +12610,7 @@ static void test_MsiGetPatchInfoEx(void)
     lstrcatA(keypath, patch_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData Patches key exists */
     size = MAX_PATH;
@@ -12621,11 +12620,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegSetValueExA(udpatch, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)"pack", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPatch value exists */
     size = MAX_PATH;
@@ -12635,7 +12634,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(val, "apple");
@@ -12644,7 +12643,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "transforms"), "Expected \"transforms\", got \"%s\"\n", val);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(prodpatches, patch_squashed);
     delete_key(prodpatches, "", access & KEY_WOW64_64KEY);
@@ -12662,7 +12661,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     /* UserData is sufficient for all properties
      * except INSTALLPROPERTY_TRANSFORMS
@@ -12674,7 +12673,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"), "Expected \"apple\", got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     RegDeleteValueA(udpatch, "LocalPackage");
     delete_key(udpatch, "", access & KEY_WOW64_64KEY);
@@ -12699,14 +12698,14 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer");
     lstrcatA(keypath, "\\UserData\\S-1-5-18\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udprod, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local UserData product key exists */
     size = MAX_PATH;
@@ -12718,10 +12717,10 @@ static void test_MsiGetPatchInfoEx(void)
        "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* InstallProperties key exists */
     size = MAX_PATH;
@@ -12732,10 +12731,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(udprod, "Patches", 0, NULL, 0, access, NULL, &patches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12746,10 +12745,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(patches, patch_squashed, 0, NULL, 0, access, NULL, &hpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12760,7 +12759,7 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
@@ -12772,7 +12771,7 @@ static void test_MsiGetPatchInfoEx(void)
         LocalFree( usersid );
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* local product key exists */
     size = MAX_PATH;
@@ -12783,10 +12782,10 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "Patches", 0, NULL, 0, access, NULL, &prodpatches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Patches key exists */
     size = MAX_PATH;
@@ -12797,11 +12796,11 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     res = RegSetValueExA(prodpatches, patch_squashed, 0, REG_SZ,
                          (const BYTE *)"transforms", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* specific patch value exists */
     size = MAX_PATH;
@@ -12812,14 +12811,14 @@ static void test_MsiGetPatchInfoEx(void)
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer");
     lstrcatA(keypath, "\\UserData\\S-1-5-18\\Patches\\");
     lstrcatA(keypath, patch_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData Patches key exists */
     size = MAX_PATH;
@@ -12829,11 +12828,11 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegSetValueExA(udpatch, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)"pack", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPatch value exists */
     size = MAX_PATH;
@@ -12843,7 +12842,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(val, "apple");
@@ -12852,7 +12851,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "transforms"), "Expected \"transforms\", got \"%s\"\n", val);
-    ok(size == 10, "Expected 10, got %d\n", size);
+    ok(size == 10, "Expected 10, got %lu\n", size);
 
     RegDeleteValueA(prodpatches, patch_squashed);
     delete_key(prodpatches, "", access & KEY_WOW64_64KEY);
@@ -12870,7 +12869,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, "pack"), "Expected \"pack\", got \"%s\"\n", val);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     /* UserData is sufficient for all properties
      * except INSTALLPROPERTY_TRANSFORMS
@@ -12882,7 +12881,7 @@ static void test_MsiGetPatchInfoEx(void)
                             INSTALLPROPERTY_TRANSFORMSA, val, &size);
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(val, "apple"), "Expected \"apple\", got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     RegDeleteValueA(udpatch, "LocalPackage");
     delete_key(udpatch, "", access & KEY_WOW64_64KEY);
@@ -12942,7 +12941,7 @@ static void test_MsiGetPatchInfo(void)
         skip("Not enough rights to perform tests\n");
         return;
     }
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* product key exists */
     size = MAX_PATH;
@@ -12950,10 +12949,10 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     res = RegCreateKeyExA(hkey_product, "Patches", 0, NULL, 0, access, NULL, &hkey_patches, NULL);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* patches key exists */
     size = MAX_PATH;
@@ -12961,10 +12960,10 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     res = RegCreateKeyExA(hkey_patches, patch_squashed, 0, NULL, 0, access, NULL, &hkey_patch, NULL);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* patch key exists */
     size = MAX_PATH;
@@ -12972,7 +12971,7 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer");
     lstrcatA(keypath, "\\UserData\\S-1-5-18\\Products\\");
@@ -12984,7 +12983,7 @@ static void test_MsiGetPatchInfo(void)
         skip("Not enough rights to perform tests\n");
         goto done;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %ld\n", res);
 
     /* UserData product key exists */
     size = MAX_PATH;
@@ -12992,10 +12991,10 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     res = RegCreateKeyExA(hkey_udproduct, "InstallProperties", 0, NULL, 0, access, NULL, &hkey_udprops, NULL);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* InstallProperties key exists */
     size = MAX_PATH;
@@ -13003,10 +13002,10 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     res = RegCreateKeyExA(hkey_udproduct, "Patches", 0, NULL, 0, access, NULL, &hkey_udpatches, NULL);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* UserData Patches key exists */
     size = MAX_PATH;
@@ -13014,13 +13013,13 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     res = RegCreateKeyExA(hkey_udproduct, "Patches", 0, NULL, 0, access, NULL, &hkey_udproductpatches, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(hkey_udproductpatches, patch_squashed, 0, NULL, 0, access, NULL, &hkey_udproductpatch, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* UserData product patch key exists */
     size = MAX_PATH;
@@ -13028,17 +13027,17 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "expected ERROR_UNKNOWN_PRODUCT got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected val to be unchanged got \"%s\"\n", val);
-    ok(size == MAX_PATH, "expected size to be unchanged got %u\n", size);
+    ok(size == MAX_PATH, "expected size to be unchanged got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer");
     lstrcatA(keypath, "\\UserData\\S-1-5-18\\Patches\\");
     lstrcatA(keypath, patch_squashed);
 
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &hkey_udpatch, NULL);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     res = RegSetValueExA(hkey_udpatch, "LocalPackage", 0, REG_SZ, (const BYTE *)"c:\\test.msp", 12);
-    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %d\n", res);
+    ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS got %ld\n", res);
 
     /* UserData Patch key exists */
     size = 0;
@@ -13046,28 +13045,28 @@ static void test_MsiGetPatchInfo(void)
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_MORE_DATA, "expected ERROR_MORE_DATA got %u\n", r);
     ok(!lstrcmpA(val, "apple"), "expected \"apple\", got \"%s\"\n", val);
-    ok(size == 11, "expected 11 got %u\n", size);
+    ok(size == 11, "expected 11 got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(val, "apple");
     r = MsiGetPatchInfoA(patch_code, INSTALLPROPERTY_LOCALPACKAGEA, val, &size);
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS got %u\n", r);
     ok(!lstrcmpA(val, "c:\\test.msp"), "expected \"c:\\test.msp\", got \"%s\"\n", val);
-    ok(size == 11, "expected 11 got %u\n", size);
+    ok(size == 11, "expected 11 got %lu\n", size);
 
     size = 0;
     valW[0] = 0;
     r = MsiGetPatchInfoW(patch_codeW, INSTALLPROPERTY_LOCALPACKAGEW, valW, &size);
     ok(r == ERROR_MORE_DATA, "expected ERROR_MORE_DATA got %u\n", r);
     ok(!valW[0], "expected 0 got %u\n", valW[0]);
-    ok(size == 11, "expected 11 got %u\n", size);
+    ok(size == 11, "expected 11 got %lu\n", size);
 
     size = MAX_PATH;
     valW[0] = 0;
     r = MsiGetPatchInfoW(patch_codeW, INSTALLPROPERTY_LOCALPACKAGEW, valW, &size);
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS got %u\n", r);
     ok(valW[0], "expected > 0 got %u\n", valW[0]);
-    ok(size == 11, "expected 11 got %u\n", size);
+    ok(size == 11, "expected 11 got %lu\n", size);
 
     delete_key(hkey_udproductpatch, "", access & KEY_WOW64_64KEY);
     RegCloseKey(hkey_udproductpatch);
@@ -13193,37 +13192,37 @@ static void test_MsiGetFileSignatureInformation(void)
     DWORD len;
 
     hr = MsiGetFileSignatureInformationA( NULL, 0, NULL, NULL, NULL );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( NULL, 0, NULL, NULL, &len );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( NULL, 0, &cert, NULL, &len );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( "", 0, NULL, NULL, NULL );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, NULL, NULL, NULL );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, NULL, NULL, &len );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, &cert, NULL, &len );
-    todo_wine ok(hr == CRYPT_E_FILE_ERROR, "expected CRYPT_E_FILE_ERROR got 0x%08x\n", hr);
+    todo_wine ok(hr == CRYPT_E_FILE_ERROR, "expected CRYPT_E_FILE_ERROR got %#lx\n", hr);
 
     create_file_data( "signature.bin", "signature", sizeof("signature") );
 
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, NULL, NULL, NULL );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, NULL, NULL, &len );
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG got %#lx\n", hr);
 
     cert = (const CERT_CONTEXT *)0xdeadbeef;
     hr = MsiGetFileSignatureInformationA( "signature.bin", 0, &cert, NULL, &len );
-    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FUNCTION_FAILED), "got 0x%08x\n", hr);
+    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FUNCTION_FAILED), "got %#lx\n", hr);
     ok(cert == NULL, "got %p\n", cert);
 
     DeleteFileA( "signature.bin" );
@@ -13292,7 +13291,7 @@ static void test_MsiEnumProductsEx(void)
     len = sizeof(sid);
     r = pMsiEnumProductsExA( NULL, NULL, 0, 0, NULL, NULL, NULL, &len );
     ok( r == ERROR_INVALID_PARAMETER, "got %u\n", r );
-    ok( len == sizeof(sid), "got %u\n", len );
+    ok( len == sizeof(sid), "got %lu\n", len );
 
     r = pMsiEnumProductsExA( NULL, NULL, MSIINSTALLCONTEXT_ALL, 0, NULL, NULL, NULL, NULL );
     ok( r == ERROR_SUCCESS, "got %u\n", r );
@@ -13301,14 +13300,14 @@ static void test_MsiEnumProductsEx(void)
     len = sizeof(sid);
     r = pMsiEnumProductsExA( product0, NULL, MSIINSTALLCONTEXT_ALL, 0, NULL, NULL, sid, &len );
     ok( r == ERROR_NO_MORE_ITEMS, "got %u\n", r );
-    ok( len == sizeof(sid), "got %u\n", len );
+    ok( len == sizeof(sid), "got %lu\n", len );
     ok( !sid[0], "got %s\n", sid );
 
     sid[0] = 0;
     len = sizeof(sid);
     r = pMsiEnumProductsExA( product0, usersid, MSIINSTALLCONTEXT_ALL, 0, NULL, NULL, sid, &len );
     ok( r == ERROR_NO_MORE_ITEMS, "got %u\n", r );
-    ok( len == sizeof(sid), "got %u\n", len );
+    ok( len == sizeof(sid), "got %lu\n", len );
     ok( !sid[0], "got %s\n", sid );
 
     sid[0] = 0;
@@ -13326,7 +13325,7 @@ static void test_MsiEnumProductsEx(void)
     ok( r == ERROR_SUCCESS, "got %u\n", r );
     ok( guid[0], "empty guid\n" );
     ok( context != 0xdeadbeef, "context unchanged\n" );
-    ok( !len, "got %u\n", len );
+    ok( !len, "got %lu\n", len );
     ok( !sid[0], "got %s\n", sid );
 
     guid[0] = 0;
@@ -13337,7 +13336,7 @@ static void test_MsiEnumProductsEx(void)
     ok( r == ERROR_SUCCESS, "got %u\n", r );
     ok( guid[0], "empty guid\n" );
     ok( context != 0xdeadbeef, "context unchanged\n" );
-    ok( !len, "got %u\n", len );
+    ok( !len, "got %lu\n", len );
     ok( !sid[0], "got %s\n", sid );
 
     guid[0] = 0;
@@ -13353,7 +13352,7 @@ static void test_MsiEnumProductsEx(void)
     ok( r == ERROR_SUCCESS, "got %u\n", r );
     ok( guid[0], "empty guid\n" );
     ok( context != 0xdeadbeef, "context unchanged\n" );
-    ok( !len, "got %u\n", len );
+    ok( !len, "got %lu\n", len );
     ok( !sid[0], "got %s\n", sid );
 
     index = 0;
@@ -13368,21 +13367,21 @@ static void test_MsiEnumProductsEx(void)
         {
             ok( context == MSIINSTALLCONTEXT_MACHINE, "got %u\n", context );
             ok( !sid[0], "got \"%s\"\n", sid );
-            ok( !len, "unexpected length %u\n", len );
+            ok( !len, "unexpected length %lu\n", len );
             found1 = TRUE;
         }
         if (!strcmp( product2, guid ))
         {
             ok( context == MSIINSTALLCONTEXT_USERMANAGED, "got %u\n", context );
             ok( sid[0], "empty sid\n" );
-            ok( len == strlen(sid), "unexpected length %u\n", len );
+            ok( len == strlen(sid), "unexpected length %lu\n", len );
             found2 = TRUE;
         }
         if (!strcmp( product3, guid ))
         {
             ok( context == MSIINSTALLCONTEXT_USERUNMANAGED, "got %u\n", context );
             ok( sid[0], "empty sid\n" );
-            ok( len == strlen(sid), "unexpected length %u\n", len );
+            ok( len == strlen(sid), "unexpected length %lu\n", len );
             found3 = TRUE;
         }
         if (found1 && found2 && found3) break;
@@ -13548,7 +13547,7 @@ static void test_MsiEnumComponentsEx(void)
         {
             ok( context == MSIINSTALLCONTEXT_MACHINE, "got %u\n", context );
             ok( !sid[0], "got \"%s\"\n", sid );
-            ok( !len, "unexpected length %u\n", len );
+            ok( !len, "unexpected length %lu\n", len );
             found1 = TRUE;
             if (found2) break;
         }
@@ -13556,7 +13555,7 @@ static void test_MsiEnumComponentsEx(void)
         {
             ok( context == MSIINSTALLCONTEXT_USERUNMANAGED, "got %u\n", context );
             ok( sid[0], "empty sid\n" );
-            ok( len == strlen(sid), "unexpected length %u\n", len );
+            ok( len == strlen(sid), "unexpected length %lu\n", len );
             found2 = TRUE;
             if (found1) break;
         }
@@ -13749,17 +13748,17 @@ static void test_MsiConfigureProductEx(void)
     lstrcatA(keypath, "83374883CBB1401418CAF2AA7CCEDDDC\\InstallProperties");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     type = REG_SZ;
     size = MAX_PATH;
     res = RegQueryValueExA(props, "LocalPackage", NULL, &type,
                            (LPBYTE)localpackage, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)"C:\\idontexist.msi", 18);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LocalPackage is used to find the cached msi package */
     r = MsiConfigureProductExA("{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}",
@@ -13799,33 +13798,33 @@ static void test_MsiConfigureProductEx(void)
     lstrcatA(keypath, "83374883CBB1401418CAF2AA7CCEDDDC\\InstallProperties");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &props);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     type = REG_SZ;
     size = MAX_PATH;
     res = RegQueryValueExA(props, "LocalPackage", NULL, &type,
                            (LPBYTE)localpackage, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)"C:\\idontexist.msi", 18);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "SOFTWARE\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, "83374883CBB1401418CAF2AA7CCEDDDC\\SourceList");
 
     res = RegOpenKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, access, &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     type = REG_SZ;
     size = MAX_PATH;
     res = RegQueryValueExA(source, "PackageName", NULL, &type,
                            (LPBYTE)packagename, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(source, "PackageName", 0, REG_SZ,
                          (const BYTE *)"idontexist.msi", 15);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList is altered */
     r = MsiConfigureProductExA("{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}",
@@ -13841,12 +13840,12 @@ static void test_MsiConfigureProductEx(void)
     /* restore PackageName */
     res = RegSetValueExA(source, "PackageName", 0, REG_SZ,
                          (const BYTE *)packagename, lstrlenA(packagename) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* restore LocalPackage */
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)localpackage, lstrlenA(localpackage) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* finally remove the product */
     r = MsiConfigureProductExA("{38847338-1BBC-4104-81AC-2FAAC7ECDDCD}",
@@ -13918,7 +13917,7 @@ static void test_MsiSetFeatureAttributes(void)
     r = MsiGetFeatureInfoA( package, "One", &attrs, NULL, NULL, NULL, NULL );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL,
-       "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got 0x%08x\n", attrs);
+       "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %#lx\n", attrs);
 
     r = MsiSetFeatureAttributesA( package, "One", INSTALLFEATUREATTRIBUTE_FAVORLOCAL );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
@@ -13927,7 +13926,7 @@ static void test_MsiSetFeatureAttributes(void)
     r = MsiGetFeatureInfoA( package, "One", &attrs, NULL, NULL, NULL, NULL );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL,
-       "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got 0x%08x\n", attrs);
+       "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %#lx\n", attrs);
 
     r = MsiDoActionA( package, "FileCost" );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
@@ -13939,7 +13938,7 @@ static void test_MsiSetFeatureAttributes(void)
     r = MsiGetFeatureInfoA( package, "One", &attrs, NULL, NULL, NULL, NULL );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORSOURCE,
-       "expected INSTALLFEATUREATTRIBUTE_FAVORSOURCE, got 0x%08x\n", attrs);
+       "expected INSTALLFEATUREATTRIBUTE_FAVORSOURCE, got %#lx\n", attrs);
 
     r = MsiDoActionA( package, "CostFinalize" );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
@@ -13996,15 +13995,15 @@ static void test_MsiGetFeatureInfo(void)
     title_len = help_len = 0;
     r = MsiGetFeatureInfoA( package, "One", NULL, NULL, &title_len, NULL, &help_len );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
-    ok(title_len == 3, "expected 3, got %u\n", title_len);
-    ok(help_len == 3, "expected 3, got %u\n", help_len);
+    ok(title_len == 3, "expected 3, got %lu\n", title_len);
+    ok(help_len == 3, "expected 3, got %lu\n", help_len);
 
     title[0] = help[0] = 0;
     title_len = help_len = 0;
     r = MsiGetFeatureInfoA( package, "One", NULL, title, &title_len, help, &help_len );
     ok(r == ERROR_MORE_DATA, "expected ERROR_MORE_DATA, got %u\n", r);
-    ok(title_len == 3, "expected 3, got %u\n", title_len);
-    ok(help_len == 3, "expected 3, got %u\n", help_len);
+    ok(title_len == 3, "expected 3, got %lu\n", title_len);
+    ok(help_len == 3, "expected 3, got %lu\n", help_len);
 
     attrs = 0;
     title[0] = help[0] = 0;
@@ -14012,9 +14011,9 @@ static void test_MsiGetFeatureInfo(void)
     help_len = sizeof(help);
     r = MsiGetFeatureInfoA( package, "One", &attrs, title, &title_len, help, &help_len );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
-    ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL, "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %u\n", attrs);
-    ok(title_len == 3, "expected 3, got %u\n", title_len);
-    ok(help_len == 3, "expected 3, got %u\n", help_len);
+    ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL, "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %lu\n", attrs);
+    ok(title_len == 3, "expected 3, got %lu\n", title_len);
+    ok(help_len == 3, "expected 3, got %lu\n", help_len);
     ok(!strcmp(title, "One"), "expected \"One\", got \"%s\"\n", title);
     ok(!strcmp(help, "One"), "expected \"One\", got \"%s\"\n", help);
 
@@ -14024,9 +14023,9 @@ static void test_MsiGetFeatureInfo(void)
     help_len = sizeof(help);
     r = MsiGetFeatureInfoA( package, "Two", &attrs, title, &title_len, help, &help_len );
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
-    ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL, "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %u\n", attrs);
-    ok(!title_len, "expected 0, got %u\n", title_len);
-    ok(!help_len, "expected 0, got %u\n", help_len);
+    ok(attrs == INSTALLFEATUREATTRIBUTE_FAVORLOCAL, "expected INSTALLFEATUREATTRIBUTE_FAVORLOCAL, got %lu\n", attrs);
+    ok(!title_len, "expected 0, got %lu\n", title_len);
+    ok(!help_len, "expected 0, got %lu\n", help_len);
     ok(!title[0], "expected \"\", got \"%s\"\n", title);
     ok(!help[0], "expected \"\", got \"%s\"\n", help);
 
@@ -14179,7 +14178,7 @@ static void test_lastusedsource(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEA, value, &size);
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
-    ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
+    ok(size == lstrlenA(path), "expected %d, got %lu\n", lstrlenA(path), size);
 
     r = MsiInstallProductA("msifile0.msi", "REMOVE=ALL FULL=1");
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
@@ -14205,7 +14204,7 @@ static void test_lastusedsource(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEA, value, &size);
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
-    ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
+    ok(size == lstrlenA(path), "expected %d, got %lu\n", lstrlenA(path), size);
 
     r = MsiInstallProductA("msifile1.msi", "REMOVE=ALL FULL=1");
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
@@ -14230,7 +14229,7 @@ static void test_lastusedsource(void)
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEA, value, &size);
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
     ok(!lstrcmpA(value, path), "expected \"%s\", got \"%s\"\n", path, value);
-    ok(size == lstrlenA(path), "expected %d, got %d\n", lstrlenA(path), size);
+    ok(size == lstrlenA(path), "expected %d, got %lu\n", lstrlenA(path), size);
 
     r = MsiInstallProductA("msifile2.msi", "REMOVE=ALL FULL=1");
     ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 556bc016997..05633c4b6df 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -250,10 +250,10 @@ static void create_test_guid(LPSTR prodcode, LPSTR squashed)
     int size;
 
     hr = CoCreateGuid(&guid);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     size = StringFromGUID2(&guid, guidW, MAX_PATH);
-    ok(size == 39, "Expected 39, got %d\n", hr);
+    ok(size == 39, "Expected 39, got %#lx\n", hr);
 
     WideCharToMultiByte(CP_ACP, 0, guidW, size, prodcode, MAX_PATH, NULL, NULL);
     squash_guid(guidW, squashedW);
@@ -954,7 +954,7 @@ static UINT package_from_db(MSIHANDLE hdb, MSIHANDLE *handle)
     CHAR szPackage[12];
     MSIHANDLE hPackage;
 
-    sprintf(szPackage, "#%u", hdb);
+    sprintf(szPackage, "#%lu", hdb);
     res = MsiOpenPackageA(szPackage, &hPackage);
     if (res != ERROR_SUCCESS)
     {
@@ -1075,7 +1075,7 @@ static void remove_restore_point(DWORD seq_number)
 
     res = pSRRemoveRestorePoint(seq_number);
     if (res != ERROR_SUCCESS)
-        trace("Failed to remove the restore point : %08x\n", res);
+        trace("Failed to remove the restore point: %#lx\n", res);
 }
 
 static BOOL is_root(const char *path)
@@ -2143,7 +2143,7 @@ static void check_prop(MSIHANDLE hpkg, const char *prop, const char *expect, int
     DWORD sz = sizeof(buffer);
     UINT r = MsiGetPropertyA(hpkg, prop, buffer, &sz);
     ok(!r, "'%s': got %u\n", prop, r);
-    ok(sz == lstrlenA(buffer), "'%s': expected %u, got %u\n", prop, lstrlenA(buffer), sz);
+    ok(sz == lstrlenA(buffer), "'%s': expected %u, got %lu\n", prop, lstrlenA(buffer), sz);
     if (match_case)
         ok(!strcmp(buffer, expect), "'%s': expected '%s', got '%s'\n", prop, expect, buffer);
     else
@@ -2189,21 +2189,21 @@ static void test_props(void)
     sz = sizeof buffer;
     r = MsiGetPropertyA( hpkg, "boo", NULL, &sz );
     ok(!r, "got %u\n", r);
-    ok(sz == 0, "got size %d\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     sz = 0;
     strcpy(buffer,"x");
     r = MsiGetPropertyA( hpkg, "boo", buffer, &sz );
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!strcmp(buffer,"x"), "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     sz = 1;
     strcpy(buffer,"x");
     r = MsiGetPropertyA( hpkg, "boo", buffer, &sz );
     ok(!r, "got %u\n", r);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 0, "got size %u\n", sz);
+    ok(sz == 0, "got size %lu\n", sz);
 
     /* set the property to something */
     r = MsiSetPropertyA( 0, NULL, NULL );
@@ -2253,68 +2253,68 @@ static void test_props(void)
     sz = 0;
     r = MsiGetPropertyA(hpkg, "boo", NULL, &sz);
     ok(!r, "got %u\n", r);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 0;
     strcpy(buffer, "q");
     r = MsiGetPropertyA(hpkg, "boo", buffer, &sz);
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!strcmp(buffer, "q"), "got \"%s\"", buffer);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 1;
     strcpy(buffer,"x");
     r = MsiGetPropertyA( hpkg, "boo", buffer, &sz );
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!buffer[0], "got \"%s\"\n", buffer);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 3;
     strcpy(buffer,"x");
     r = MsiGetPropertyA( hpkg, "boo", buffer, &sz );
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!strcmp(buffer,"xy"), "got \"%s\"\n", buffer);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 4;
     strcpy(buffer,"x");
     r = MsiGetPropertyA( hpkg, "boo", buffer, &sz );
     ok(!r, "got %u\n", r);
     ok(!strcmp(buffer,"xyz"), "got \"%s\"\n", buffer);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 0;
     r = MsiGetPropertyW(hpkg, L"boo", NULL, &sz);
     ok(!r, "got %u\n", r);
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 0;
     lstrcpyW(bufferW, L"boo");
     r = MsiGetPropertyW(hpkg, L"boo", bufferW, &sz);
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!lstrcmpW(bufferW, L"boo"), "got %s\n", wine_dbgstr_w(bufferW));
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 1;
     lstrcpyW(bufferW, L"boo");
     r = MsiGetPropertyW(hpkg, L"boo", bufferW, &sz );
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!bufferW[0], "got %s\n", wine_dbgstr_w(bufferW));
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 3;
     lstrcpyW(bufferW, L"boo");
     r = MsiGetPropertyW(hpkg, L"boo", bufferW, &sz );
     ok(r == ERROR_MORE_DATA, "got %u\n", r);
     ok(!lstrcmpW(bufferW, L"xy"), "got %s\n", wine_dbgstr_w(bufferW));
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     sz = 4;
     lstrcpyW(bufferW, L"boo");
     r = MsiGetPropertyW(hpkg, L"boo", bufferW, &sz );
     ok(!r, "got %u\n", r);
     ok(!lstrcmpW(bufferW, L"xyz"), "got %s\n", wine_dbgstr_w(bufferW));
-    ok(sz == 3, "got size %u\n", sz);
+    ok(sz == 3, "got size %lu\n", sz);
 
     /* properties are case-sensitive */
     check_prop(hpkg, "BOO", "", 1);
@@ -2354,7 +2354,7 @@ static BOOL find_prop_in_property(MSIHANDLE hdb, LPCSTR prop, LPCSTR val, int le
             r = MsiRecordGetStringA(hrec, 2, buffer, &sz);
             if (r == ERROR_SUCCESS && !memcmp(buffer, val, len) && !buffer[len])
             {
-                ok(sz == len, "wrong size %u\n", sz);
+                ok(sz == len, "wrong size %lu\n", sz);
                 found = TRUE;
             }
         }
@@ -2420,7 +2420,7 @@ static void test_property_table(void)
     r = run_query(hdb, query);
     ok(r == ERROR_SUCCESS, "failed to add column\n");
 
-    sprintf(package, "#%i", hdb);
+    sprintf(package, "#%lu", hdb);
     r = MsiOpenPackageA(package, &hpkg);
     ok(r != ERROR_SUCCESS, "MsiOpenPackage succeeded\n");
     if (r == ERROR_SUCCESS)
@@ -2482,7 +2482,7 @@ static void test_property_table(void)
     r = MsiGetPropertyA( hpkg, "prop2", buffer, &sz );
     ok( r == ERROR_SUCCESS, "get property failed: %d\n", r);
     ok( !memcmp( buffer, "\0np", sizeof("\0np") ), "wrong value\n");
-    ok( sz == sizeof("\0np") - 1, "got %u\n", sz );
+    ok( sz == sizeof("\0np") - 1, "got %lu\n", sz );
 
     found = find_prop_in_property(hdb, "prop2", "\0np", 3);
     ok(found == TRUE, "prop2 should be in the _Property table\n");
@@ -2602,7 +2602,7 @@ static void test_msipackage(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     /* database exists, but is empty */
-    sprintf(name, "#%d", hdb);
+    sprintf(name, "#%lu", hdb);
     r = MsiOpenPackageA(name, &hpack);
     ok(r == ERROR_INSTALL_PACKAGE_INVALID,
        "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n", r);
@@ -2620,7 +2620,7 @@ static void test_msipackage(void)
     ok(r == ERROR_SUCCESS, "failed to create InstallExecuteSequence table\n");
 
     /* a few key tables exist */
-    sprintf(name, "#%d", hdb);
+    sprintf(name, "#%lu", hdb);
     r = MsiOpenPackageA(name, &hpack);
     ok(r == ERROR_INSTALL_PACKAGE_INVALID,
        "Expected ERROR_INSTALL_PACKAGE_INVALID, got %d\n", r);
@@ -2632,7 +2632,7 @@ static void test_msipackage(void)
     r = MsiOpenDatabaseW(msifileW, MSIDBOPEN_CREATE, &hdb);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
-    sprintf(name, "#%d", hdb);
+    sprintf(name, "#%lu", hdb);
 
     /* The following summary information props must exist:
      *  - PID_REVNUMBER
@@ -2959,7 +2959,7 @@ static void test_formatrecord_tables(void)
     r = MsiGetPropertyA( hpkg, "prop", buf, &size );
     ok( r == ERROR_SUCCESS, "get property failed: %d\n", r);
     ok( !memcmp( buf, "\0np", sizeof("\0np") ), "wrong value\n");
-    ok( size == sizeof("\0np") - 1, "got %u\n", size );
+    ok( size == sizeof("\0np") - 1, "got %lu\n", size );
 
     r = MsiSetPropertyA( hpkg, "prop", "[~]np" );
     ok( r == ERROR_SUCCESS, "cannot set property: %d\n", r);
@@ -4397,73 +4397,73 @@ static void test_appsearch_reglocator(void)
         skip("Not enough rights to perform tests\n");
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(classes, "Value1", 0, REG_SZ,
                          (const BYTE *)"regszdata", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, "Software\\Wine", &hkcu);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hkcu, "Value1", 0, REG_SZ,
                          (const BYTE *)"regszdata", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     users = 0;
     res = RegCreateKeyA(HKEY_USERS, "S-1-5-18\\Software\\Wine", &users);
     ok(res == ERROR_SUCCESS ||
        broken(res == ERROR_INVALID_PARAMETER),
-       "Expected ERROR_SUCCESS, got %d\n", res);
+       "Expected ERROR_SUCCESS, got %ld\n", res);
 
     if (res == ERROR_SUCCESS)
     {
         res = RegSetValueExA(users, "Value1", 0, REG_SZ,
                              (const BYTE *)"regszdata", 10);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     }
 
     res = RegCreateKeyA(HKEY_LOCAL_MACHINE, "Software\\Wine", &hklm);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueA(hklm, NULL, REG_SZ, "defvalue", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value1", 0, REG_SZ,
                          (const BYTE *)"regszdata", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     val = 42;
     res = RegSetValueExA(hklm, "Value2", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     val = -42;
     res = RegSetValueExA(hklm, "Value3", 0, REG_DWORD,
                          (const BYTE *)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value4", 0, REG_EXPAND_SZ,
                          (const BYTE *)"%PATH%", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value5", 0, REG_EXPAND_SZ,
                          (const BYTE *)"my%NOVAR%", 10);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value6", 0, REG_MULTI_SZ,
                          (const BYTE *)"one\0two\0", 9);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     binary[0] = 0x1234abcd;
     binary[1] = 0x567890ef;
     res = RegSetValueExA(hklm, "Value7", 0, REG_BINARY,
                          (const BYTE *)binary, sizeof(binary));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value8", 0, REG_SZ,
                          (const BYTE *)"#regszdata", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     strcpy(expected, CURR_DIR);
     if (is_root(CURR_DIR)) expected[2] = 0;
@@ -4472,50 +4472,50 @@ static void test_appsearch_reglocator(void)
     sprintf(path, "%s\\FileName1", expected);
     res = RegSetValueExA(hklm, "Value9", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     sprintf(path, "%s\\FileName2", expected);
     res = RegSetValueExA(hklm, "Value10", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(path, expected);
     res = RegSetValueExA(hklm, "Value11", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(hklm, "Value12", 0, REG_SZ,
                          (const BYTE *)"", 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     create_file_with_version("FileName3.dll", MAKELONG(2, 1), MAKELONG(4, 3));
     sprintf(path, "%s\\FileName3.dll", expected);
     res = RegSetValueExA(hklm, "Value13", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     create_file_with_version("FileName4.dll", MAKELONG(1, 2), MAKELONG(3, 4));
     sprintf(path, "%s\\FileName4.dll", expected);
     res = RegSetValueExA(hklm, "Value14", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     create_file_with_version("FileName5.dll", MAKELONG(2, 1), MAKELONG(4, 3));
     sprintf(path, "%s\\FileName5.dll", expected);
     res = RegSetValueExA(hklm, "Value15", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     sprintf(path, "\"%s\\FileName1\" -option", expected);
     res = RegSetValueExA(hklm, "value16", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
+    ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %ld\n", res);
 
     space = strchr(expected, ' ') != NULL;
     sprintf(path, "%s\\FileName1 -option", expected);
     res = RegSetValueExA(hklm, "value17", 0, REG_SZ,
                          (const BYTE *)path, lstrlenA(path) + 1);
-    ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %d\n", res);
+    ok( res == ERROR_SUCCESS, "Expected ERROR_SUCCESS got %ld\n", res);
 
     hdb = create_package_db();
     ok(hdb, "Expected a valid database handle\n");
@@ -6215,7 +6215,7 @@ static void test_MsiGetSourcePath(void)
        "Expected ERROR_INVALID_HANDLE, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL szFolder */
     size = MAX_PATH;
@@ -6225,7 +6225,7 @@ static void test_MsiGetSourcePath(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* empty szFolder */
     size = MAX_PATH;
@@ -6234,7 +6234,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try TARGETDIR */
     size = MAX_PATH;
@@ -6243,21 +6243,21 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* try SourceDir */
     size = MAX_PATH;
@@ -6266,7 +6266,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try SOURCEDIR */
     size = MAX_PATH;
@@ -6275,7 +6275,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path does not exist, but the property exists */
     size = MAX_PATH;
@@ -6283,14 +6283,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* try SubDir */
     size = MAX_PATH;
@@ -6299,7 +6299,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try SubDir2 */
     size = MAX_PATH;
@@ -6308,7 +6308,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
 
@@ -6321,7 +6321,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after CostInitialize */
     size = MAX_PATH;
@@ -6329,7 +6329,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after CostInitialize */
     size = MAX_PATH;
@@ -6338,7 +6338,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path does not exist, but the property exists */
     size = MAX_PATH;
@@ -6346,14 +6346,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after CostInitialize */
     size = MAX_PATH;
@@ -6361,7 +6361,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     /* try SubDir2 after CostInitialize */
     size = MAX_PATH;
@@ -6369,7 +6369,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, sub2), "Expected \"%s\", got \"%s\"\n", sub2, path);
-    ok(size == lstrlenA(sub2), "Expected %d, got %d\n", lstrlenA(sub2), size);
+    ok(size == lstrlenA(sub2), "Expected %d, got %lu\n", lstrlenA(sub2), size);
 
     r = MsiDoActionA(hpkg, "ResolveSource");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -6380,7 +6380,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after ResolveSource */
     size = MAX_PATH;
@@ -6388,7 +6388,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after ResolveSource */
     size = MAX_PATH;
@@ -6397,7 +6397,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path does not exist, but the property exists */
     size = MAX_PATH;
@@ -6405,14 +6405,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after ResolveSource */
     size = MAX_PATH;
@@ -6420,7 +6420,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     /* try SubDir2 after ResolveSource */
     size = MAX_PATH;
@@ -6428,7 +6428,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, sub2), "Expected \"%s\", got \"%s\"\n", sub2, path);
-    ok(size == lstrlenA(sub2), "Expected %d, got %d\n", lstrlenA(sub2), size);
+    ok(size == lstrlenA(sub2), "Expected %d, got %lu\n", lstrlenA(sub2), size);
 
     r = MsiDoActionA(hpkg, "FileCost");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -6439,7 +6439,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after FileCost */
     size = MAX_PATH;
@@ -6447,7 +6447,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after FileCost */
     size = MAX_PATH;
@@ -6456,7 +6456,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path does not exist, but the property exists */
     size = MAX_PATH;
@@ -6464,14 +6464,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after FileCost */
     size = MAX_PATH;
@@ -6479,7 +6479,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     /* try SubDir2 after FileCost */
     size = MAX_PATH;
@@ -6487,7 +6487,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, sub2), "Expected \"%s\", got \"%s\"\n", sub2, path);
-    ok(size == lstrlenA(sub2), "Expected %d, got %d\n", lstrlenA(sub2), size);
+    ok(size == lstrlenA(sub2), "Expected %d, got %lu\n", lstrlenA(sub2), size);
 
     r = MsiDoActionA(hpkg, "CostFinalize");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -6498,7 +6498,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after CostFinalize */
     size = MAX_PATH;
@@ -6506,7 +6506,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after CostFinalize */
     size = MAX_PATH;
@@ -6515,7 +6515,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path does not exist, but the property exists */
     size = MAX_PATH;
@@ -6523,14 +6523,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after CostFinalize */
     size = MAX_PATH;
@@ -6538,7 +6538,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     /* try SubDir2 after CostFinalize */
     size = MAX_PATH;
@@ -6546,7 +6546,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, sub2), "Expected \"%s\", got \"%s\"\n", sub2, path);
-    ok(size == lstrlenA(sub2), "Expected %d, got %d\n", lstrlenA(sub2), size);
+    ok(size == lstrlenA(sub2), "Expected %d, got %lu\n", lstrlenA(sub2), size);
 
     /* nonexistent directory */
     size = MAX_PATH;
@@ -6555,13 +6555,13 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* NULL szPathBuf */
     size = MAX_PATH;
     r = MsiGetSourcePathA(hpkg, "SourceDir", NULL, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* NULL pcchPathBuf */
     lstrcpyA(path, "kiwi");
@@ -6578,7 +6578,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* pcchPathBuf does not have room for NULL terminator */
     size = lstrlenA(cwd);
@@ -6587,7 +6587,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!strncmp(path, cwd, lstrlenA(cwd) - 1),
        "Expected path with no backslash, got \"%s\"\n", path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* pcchPathBuf has room for NULL terminator */
     size = lstrlenA(cwd) + 1;
@@ -6595,7 +6595,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* remove property */
     r = MsiSetPropertyA(hpkg, "SourceDir", NULL);
@@ -6607,7 +6607,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* set property to a valid directory */
     r = MsiSetPropertyA(hpkg, "SOURCEDIR", cwd);
@@ -6620,7 +6620,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
 
@@ -6641,7 +6641,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try SourceDir */
     size = MAX_PATH;
@@ -6650,7 +6650,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try SOURCEDIR */
     size = MAX_PATH;
@@ -6659,7 +6659,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* source path nor the property exist */
     size = MAX_PATH;
@@ -6667,14 +6667,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* try SubDir */
     size = MAX_PATH;
@@ -6683,7 +6683,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* try SubDir2 */
     size = MAX_PATH;
@@ -6692,7 +6692,7 @@ static void test_MsiGetSourcePath(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "CostInitialize");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -6703,7 +6703,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after CostInitialize */
     size = MAX_PATH;
@@ -6711,7 +6711,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after CostInitialize */
     size = MAX_PATH;
@@ -6721,7 +6721,7 @@ static void test_MsiGetSourcePath(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-        ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+        ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
     }
 
     /* source path does not exist, but the property exists */
@@ -6730,14 +6730,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after CostInitialize */
     size = MAX_PATH;
@@ -6745,7 +6745,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir2 after CostInitialize */
     size = MAX_PATH;
@@ -6753,7 +6753,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     r = MsiDoActionA(hpkg, "ResolveSource");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -6764,7 +6764,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after ResolveSource */
     size = MAX_PATH;
@@ -6772,7 +6772,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after ResolveSource */
     size = MAX_PATH;
@@ -6782,7 +6782,7 @@ static void test_MsiGetSourcePath(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-        ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+        ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
     }
 
     /* source path and the property exist */
@@ -6791,14 +6791,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after ResolveSource */
     size = MAX_PATH;
@@ -6806,7 +6806,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir2 after ResolveSource */
     size = MAX_PATH;
@@ -6814,7 +6814,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     r = MsiDoActionA(hpkg, "FileCost");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -6825,7 +6825,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after CostFinalize */
     size = MAX_PATH;
@@ -6833,7 +6833,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after CostFinalize */
     size = MAX_PATH;
@@ -6843,7 +6843,7 @@ static void test_MsiGetSourcePath(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-        ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+        ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
     }
 
     /* source path and the property exist */
@@ -6852,14 +6852,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after CostFinalize */
     size = MAX_PATH;
@@ -6867,7 +6867,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir2 after CostFinalize */
     size = MAX_PATH;
@@ -6875,7 +6875,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     r = MsiDoActionA(hpkg, "CostFinalize");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -6886,7 +6886,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "TARGETDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SourceDir after CostFinalize */
     size = MAX_PATH;
@@ -6894,7 +6894,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SOURCEDIR after CostFinalize */
     size = MAX_PATH;
@@ -6904,7 +6904,7 @@ static void test_MsiGetSourcePath(void)
     {
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
         ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-        ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+        ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
     }
 
     /* source path and the property exist */
@@ -6913,14 +6913,14 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir after CostFinalize */
     size = MAX_PATH;
@@ -6928,7 +6928,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* try SubDir2 after CostFinalize */
     size = MAX_PATH;
@@ -6936,7 +6936,7 @@ static void test_MsiGetSourcePath(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     MsiCloseHandle(hpkg);
     DeleteFileA(msifile);
@@ -7026,7 +7026,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     CreateDirectoryA("short", NULL);
 
@@ -7036,7 +7036,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     CreateDirectoryA("long", NULL);
 
@@ -7046,7 +7046,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "two");
@@ -7058,7 +7058,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "four");
@@ -7070,7 +7070,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir3", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "six");
@@ -7082,7 +7082,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir4", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "eight");
@@ -7094,7 +7094,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir5", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "ten");
@@ -7106,7 +7106,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir6", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "twelve");
@@ -7118,7 +7118,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir7", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     MsiCloseHandle(hpkg);
     RemoveDirectoryA("short");
@@ -7170,7 +7170,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     CreateDirectoryA("short", NULL);
 
@@ -7180,7 +7180,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     CreateDirectoryA("long", NULL);
 
@@ -7190,7 +7190,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "one");
@@ -7202,7 +7202,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir2", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "three");
@@ -7214,7 +7214,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir3", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "five");
@@ -7226,7 +7226,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir4", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "seven");
@@ -7238,7 +7238,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir5", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "nine");
@@ -7250,7 +7250,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir6", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     lstrcpyA(subsrc, cwd);
     lstrcatA(subsrc, "eleven");
@@ -7262,7 +7262,7 @@ static void test_shortlongsource(void)
     r = MsiGetSourcePathA(hpkg, "SubDir7", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, subsrc), "Expected \"%s\", got \"%s\"\n", subsrc, path);
-    ok(size == lstrlenA(subsrc), "Expected %d, got %d\n", lstrlenA(subsrc), size);
+    ok(size == lstrlenA(subsrc), "Expected %d, got %lu\n", lstrlenA(subsrc), size);
 
     MsiCloseHandle(hpkg);
     RemoveDirectoryA("short");
@@ -7298,7 +7298,7 @@ static void test_sourcedir(void)
 
     add_directory_entry(hdb, "'TARGETDIR', '', 'SourceDir'");
 
-    sprintf(package, "#%u", hdb);
+    sprintf(package, "#%lu", hdb);
     r = MsiOpenPackageA(package, &hpkg);
     if (r == ERROR_INSTALL_PACKAGE_REJECTED)
     {
@@ -7315,7 +7315,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* SOURCEDIR prop */
     size = MAX_PATH;
@@ -7323,7 +7323,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     MsiSetInternalUI(INSTALLUILEVEL_NONE, NULL);
 
@@ -7336,7 +7336,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* SOURCEDIR after CostInitialize */
     size = MAX_PATH;
@@ -7344,7 +7344,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "FileCost");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -7355,7 +7355,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* SOURCEDIR after FileCost */
     size = MAX_PATH;
@@ -7363,7 +7363,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "CostFinalize");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -7374,7 +7374,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* SOURCEDIR after CostFinalize */
     size = MAX_PATH;
@@ -7382,14 +7382,14 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyA(path, "kiwi");
     r = MsiGetSourcePathA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"), "Expected \"kiwi\", got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
 
     /* SOURCEDIR after calling MsiGetSourcePath */
     size = MAX_PATH;
@@ -7398,7 +7398,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     todo_wine {
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
     }
 
     r = MsiDoActionA(hpkg, "ResolveSource");
@@ -7410,7 +7410,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR after ResolveSource */
     size = MAX_PATH;
@@ -7418,7 +7418,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* random casing */
     size = MAX_PATH;
@@ -7426,12 +7426,12 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SoUrCeDiR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
 
     /* reset the package state */
-    sprintf(package, "#%i", hdb);
+    sprintf(package, "#%lu", hdb);
     r = MsiOpenPackageA(package, &hpkg);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
@@ -7445,7 +7445,7 @@ static void test_sourcedir(void)
     todo_wine
     {
         ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     size = MAX_PATH;
@@ -7454,7 +7454,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* SourceDir after MsiGetSourcePath */
     size = MAX_PATH;
@@ -7464,7 +7464,7 @@ static void test_sourcedir(void)
     todo_wine
     {
         ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     /* SOURCEDIR prop */
@@ -7475,7 +7475,7 @@ static void test_sourcedir(void)
     todo_wine
     {
         ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     size = MAX_PATH;
@@ -7484,7 +7484,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* SOURCEDIR prop after MsiGetSourcePath */
     size = MAX_PATH;
@@ -7494,7 +7494,7 @@ static void test_sourcedir(void)
     todo_wine
     {
         ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     r = MsiDoActionA(hpkg, "CostInitialize");
@@ -7508,7 +7508,7 @@ static void test_sourcedir(void)
     todo_wine
     {
         ok(!lstrcmpA(path, ""), "Expected \"\", got \"%s\"\n", path);
-        ok(size == 0, "Expected 0, got %d\n", size);
+        ok(size == 0, "Expected 0, got %lu\n", size);
     }
 
     size = MAX_PATH;
@@ -7516,7 +7516,7 @@ static void test_sourcedir(void)
     r = MsiGetSourcePathA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SourceDir after MsiGetSourcePath */
     size = MAX_PATH;
@@ -7524,7 +7524,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR after CostInitialize */
     size = MAX_PATH;
@@ -7532,7 +7532,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR source path still does not exist */
     size = MAX_PATH;
@@ -7541,7 +7541,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "FileCost");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -7552,7 +7552,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR after FileCost */
     size = MAX_PATH;
@@ -7560,7 +7560,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR source path still does not exist */
     size = MAX_PATH;
@@ -7569,7 +7569,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "CostFinalize");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -7580,7 +7580,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR after CostFinalize */
     size = MAX_PATH;
@@ -7588,7 +7588,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR source path still does not exist */
     size = MAX_PATH;
@@ -7597,7 +7597,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     r = MsiDoActionA(hpkg, "ResolveSource");
     ok(r == ERROR_SUCCESS, "file cost failed\n");
@@ -7608,7 +7608,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SourceDir", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR after ResolveSource */
     size = MAX_PATH;
@@ -7616,7 +7616,7 @@ static void test_sourcedir(void)
     r = MsiGetPropertyA(hpkg, "SOURCEDIR", path, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(path, cwd), "Expected \"%s\", got \"%s\"\n", cwd, path);
-    ok(size == lstrlenA(cwd), "Expected %d, got %d\n", lstrlenA(cwd), size);
+    ok(size == lstrlenA(cwd), "Expected %d, got %lu\n", lstrlenA(cwd), size);
 
     /* SOURCEDIR source path still does not exist */
     size = MAX_PATH;
@@ -7625,7 +7625,7 @@ static void test_sourcedir(void)
     ok(r == ERROR_DIRECTORY, "Expected ERROR_DIRECTORY, got %d\n", r);
     ok(!lstrcmpA(path, "kiwi"),
        "Expected path to be unchanged, got \"%s\"\n", path);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
 
@@ -7731,11 +7731,11 @@ static void _test_file_access(LPCSTR file, const struct access_res *ares, DWORD
             lasterr = GetLastError();
 
             ok((hfile != INVALID_HANDLE_VALUE) == ares[idx].gothandle,
-               "(%d, handle, %d): Expected %d, got %d\n",
+               "(%lu, handle, %d): Expected %d, got %d\n",
                line, idx, ares[idx].gothandle,
                (hfile != INVALID_HANDLE_VALUE));
 
-            ok(lasterr == ares[idx].lasterr, "(%d, lasterr, %d): Expected %d, got %d\n",
+            ok(lasterr == ares[idx].lasterr, "(%lu, lasterr, %u): Expected %lu, got %lu\n",
                line, idx, ares[idx].lasterr, lasterr);
 
             CloseHandle(hfile);
@@ -8010,7 +8010,7 @@ static void test_MsiGetProductProperty(void)
         DeleteFileA(msifile);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\");
     lstrcatA(keypath, "Installer\\UserData\\S-1-5-18\\Products\\");
@@ -8024,17 +8024,17 @@ static void test_MsiGetProductProperty(void)
         RegCloseKey(prodkey);
         return;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegCreateKeyExA(userkey, "InstallProperties", 0, NULL, 0, access, NULL, &props, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     lstrcpyA(val, path);
     lstrcatA(val, "\\");
     lstrcatA(val, msifile);
     res = RegSetValueExA(props, "LocalPackage", 0, REG_SZ,
                          (const BYTE *)val, lstrlenA(val) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     hprod = 0xdeadbeef;
     r = MsiOpenProductA(prodcode, &hprod);
@@ -8049,7 +8049,7 @@ static void test_MsiGetProductProperty(void)
        "Expected ERROR_INVALID_HANDLE, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
@@ -8058,7 +8058,7 @@ static void test_MsiGetProductProperty(void)
        "Expected ERROR_INVALID_HANDLE, got %d\n", r);
     ok(!lstrcmpW(valW, L"apple"),
        "Expected val to be unchanged, got %s\n", wine_dbgstr_w(valW));
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szProperty is NULL */
     size = MAX_PATH;
@@ -8068,7 +8068,7 @@ static void test_MsiGetProductProperty(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
@@ -8077,7 +8077,7 @@ static void test_MsiGetProductProperty(void)
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpW(valW, L"apple"),
        "Expected val to be unchanged, got %s\n", wine_dbgstr_w(valW));
-    ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size);
+    ok(size == MAX_PATH, "Expected size to be unchanged, got %lu\n", size);
 
     /* szProperty is empty */
     size = MAX_PATH;
@@ -8085,14 +8085,14 @@ static void test_MsiGetProductProperty(void)
     r = MsiGetProductPropertyA(hprod, "", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
     r = MsiGetProductPropertyW(hprod, L"", valW, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(*valW == 0, "Expected \"\", got %s\n", wine_dbgstr_w(valW));
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* get the property */
     size = MAX_PATH;
@@ -8102,7 +8102,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpA(val, prodcode),
        "Expected \"%s\", got \"%s\"\n", prodcode, val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
@@ -8111,20 +8111,20 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpW(valW, prodcodeW),
        "Expected %s, got %s\n", wine_dbgstr_w(prodcodeW), wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* lpValueBuf is NULL */
     size = MAX_PATH;
     r = MsiGetProductPropertyA(hprod, "ProductCode", NULL, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = MAX_PATH;
     r = MsiGetProductPropertyW(hprod, L"ProductCode", NULL, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* pcchValueBuf is NULL */
     lstrcpyA(val, "apple");
@@ -8134,7 +8134,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpA(val, "apple"),
        "Expected val to be unchanged, got \"%s\"\n", val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     lstrcpyW(valW, L"apple");
     r = MsiGetProductPropertyW(hprod, L"ProductCode", valW, NULL);
@@ -8143,7 +8143,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpW(valW, L"apple"),
        "Expected val to be unchanged, got %s\n", wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* pcchValueBuf is too small */
     size = 4;
@@ -8153,7 +8153,7 @@ static void test_MsiGetProductProperty(void)
     ok(!strncmp(val, prodcode, 3),
        "Expected first 3 chars of \"%s\", got \"%s\"\n", prodcode, val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = 4;
     lstrcpyW(valW, L"apple");
@@ -8162,7 +8162,7 @@ static void test_MsiGetProductProperty(void)
     ok(!memcmp(valW, prodcodeW, 3 * sizeof(WCHAR)),
        "Expected first 3 chars of %s, got %s\n", wine_dbgstr_w(prodcodeW), wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* pcchValueBuf does not leave room for NULL terminator */
     size = lstrlenA(prodcode);
@@ -8172,7 +8172,7 @@ static void test_MsiGetProductProperty(void)
     ok(!strncmp(val, prodcode, lstrlenA(prodcode) - 1),
        "Expected first 37 chars of \"%s\", got \"%s\"\n", prodcode, val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = lstrlenW(prodcodeW);
     lstrcpyW(valW, L"apple");
@@ -8181,7 +8181,7 @@ static void test_MsiGetProductProperty(void)
     ok(!memcmp(valW, prodcodeW, lstrlenW(prodcodeW) - 1),
        "Expected first 37 chars of %s, got %s\n", wine_dbgstr_w(prodcodeW), wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* pcchValueBuf has enough room for NULL terminator */
     size = lstrlenA(prodcode) + 1;
@@ -8191,7 +8191,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpA(val, prodcode),
        "Expected \"%s\", got \"%s\"\n", prodcode, val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = lstrlenW(prodcodeW) + 1;
     lstrcpyW(valW, L"apple");
@@ -8200,7 +8200,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpW(valW, prodcodeW),
        "Expected %s, got %s\n", wine_dbgstr_w(prodcodeW), wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     /* nonexistent property */
     size = MAX_PATH;
@@ -8208,14 +8208,14 @@ static void test_MsiGetProductProperty(void)
     r = MsiGetProductPropertyA(hprod, "IDontExist", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
     r = MsiGetProductPropertyW(hprod, L"IDontExist", valW, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpW(valW, L""), "Expected \"\", got %s\n", wine_dbgstr_w(valW));
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     r = MsiSetPropertyA(hprod, "NewProperty", "value");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -8226,14 +8226,14 @@ static void test_MsiGetProductProperty(void)
     r = MsiGetProductPropertyA(hprod, "NewProperty", val, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(val, ""), "Expected \"\", got \"%s\"\n", val);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
     r = MsiGetProductPropertyW(hprod, L"NewProperty", valW, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpW(valW, L""), "Expected \"\", got %s\n", wine_dbgstr_w(valW));
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     r = MsiSetPropertyA(hprod, "ProductCode", "value");
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -8246,7 +8246,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpA(val, prodcode),
        "Expected \"%s\", got \"%s\"\n", prodcode, val);
     ok(size == lstrlenA(prodcode),
-       "Expected %d, got %d\n", lstrlenA(prodcode), size);
+       "Expected %d, got %lu\n", lstrlenA(prodcode), size);
 
     size = MAX_PATH;
     lstrcpyW(valW, L"apple");
@@ -8255,7 +8255,7 @@ static void test_MsiGetProductProperty(void)
     ok(!lstrcmpW(valW, prodcodeW),
        "Expected %s, got %s\n", wine_dbgstr_w(prodcodeW), wine_dbgstr_w(valW));
     ok(size == lstrlenW(prodcodeW),
-       "Expected %d, got %d\n", lstrlenW(prodcodeW), size);
+       "Expected %d, got %lu\n", lstrlenW(prodcodeW), size);
 
     MsiCloseHandle(hprod);
 
@@ -8324,7 +8324,7 @@ static void test_MsiSetProperty(void)
     r = MsiGetPropertyA(hpkg, "Prop", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "Val"), "Expected \"Val\", got \"%s\"\n", buf);
-    ok(size == 3, "Expected 3, got %d\n", size);
+    ok(size == 3, "Expected 3, got %lu\n", size);
 
     /* update the property */
     r = MsiSetPropertyA(hpkg, "Prop", "Nuvo");
@@ -8335,7 +8335,7 @@ static void test_MsiSetProperty(void)
     r = MsiGetPropertyA(hpkg, "Prop", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "Nuvo"), "Expected \"Nuvo\", got \"%s\"\n", buf);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     hdb = MsiGetActiveDatabase(hpkg);
     ok(hdb != 0, "Expected a valid database handle\n");
@@ -8363,7 +8363,7 @@ static void test_MsiSetProperty(void)
     r = MsiGetPropertyA(hpkg, "Prop", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     /* reset the property */
     r = MsiSetPropertyA(hpkg, "Prop", "BlueTap");
@@ -8378,7 +8378,7 @@ static void test_MsiSetProperty(void)
     r = MsiGetPropertyA(hpkg, "Prop", buf, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     MsiCloseHandle(hpkg);
     DeleteFileA(msifile);
@@ -8482,7 +8482,7 @@ static void test_costs(void)
     r = MsiDatabaseCommit( hdb );
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r );
 
-    sprintf( package, "#%u", hdb );
+    sprintf( package, "#%lu", hdb );
     r = MsiOpenPackageA( package, &hpkg );
     if (r == ERROR_INSTALL_PACKAGE_REJECTED)
     {
@@ -8558,17 +8558,17 @@ static void test_costs(void)
     len = 0;
     r = MsiEnumComponentCostsA( hpkg, "one", 0, INSTALLSTATE_LOCAL, drive, &len, &cost, &temp );
     ok( r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
 
     len = 2;
     r = MsiEnumComponentCostsA( hpkg, "one", 0, INSTALLSTATE_LOCAL, drive, &len, &cost, &temp );
     ok( r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
 
     len = 2;
     r = MsiEnumComponentCostsA( hpkg, "one", 0, INSTALLSTATE_UNKNOWN, drive, &len, &cost, &temp );
     ok( r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
 
     /* install state doesn't seem to matter */
     len = sizeof(drive);
@@ -8588,7 +8588,7 @@ static void test_costs(void)
     cost = temp = 0xdead;
     r = MsiEnumComponentCostsA( hpkg, "one", 0, INSTALLSTATE_LOCAL, drive, &len, &cost, &temp );
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
     ok( drive[0], "expected a drive\n" );
     ok( cost && cost != 0xdead, "expected cost > 0, got %d\n", cost );
     ok( !temp, "expected temp == 0, got %d\n", temp );
@@ -8598,7 +8598,7 @@ static void test_costs(void)
     cost = temp = 0xdead;
     r = MsiEnumComponentCostsA( hpkg, "two", 0, INSTALLSTATE_LOCAL, drive, &len, &cost, &temp );
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
     ok( drive[0], "expected a drive\n" );
     ok( !cost, "expected cost == 0, got %d\n", cost );
     ok( !temp, "expected temp == 0, got %d\n", temp );
@@ -8608,7 +8608,7 @@ static void test_costs(void)
     cost = temp = 0xdead;
     r = MsiEnumComponentCostsA( hpkg, "", 0, INSTALLSTATE_UNKNOWN, drive, &len, &cost, &temp );
     ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r );
-    ok( len == 2, "expected len == 2, got %u\n", len );
+    ok( len == 2, "expected len == 2, got %lu\n", len );
     ok( drive[0], "expected a drive\n" );
     ok( !cost, "expected cost == 0, got %d\n", cost );
     ok( temp && temp != 0xdead, "expected temp > 0, got %d\n", temp );
@@ -8654,7 +8654,7 @@ static void test_MsiDatabaseCommit(void)
 
     create_property_table( hdb );
 
-    sprintf( package, "#%u", hdb );
+    sprintf( package, "#%lu", hdb );
     r = MsiOpenPackageA( package, &hpkg );
     if (r == ERROR_INSTALL_PACKAGE_REJECTED)
     {
diff --git a/dlls/msi/tests/patch.c b/dlls/msi/tests/patch.c
index 8e8bd356e71..9d46f493e08 100644
--- a/dlls/msi/tests/patch.c
+++ b/dlls/msi/tests/patch.c
@@ -681,7 +681,7 @@ static void write_tables( IStorage *stg, const struct table_data *tables, UINT n
         r = IStorage_CreateStream( stg, tables[i].name, STGM_WRITE|STGM_SHARE_EXCLUSIVE, 0, 0, &stm );
         if (FAILED( r ))
         {
-            ok( 0, "failed to create stream 0x%08x\n", r );
+            ok( 0, "failed to create stream %#lx\n", r );
             continue;
         }
 
@@ -709,29 +709,29 @@ static void create_patch( const char *filename )
 
     r = StgCreateDocfile( filenameW, mode, 0, &stg );
     free( filenameW );
-    ok( r == S_OK, "failed to create storage 0x%08x\n", r );
+    ok( r == S_OK, "failed to create storage %#lx\n", r );
     if (!stg)
         return;
 
     r = IStorage_SetClass( stg, &CLSID_MsiPatch );
-    ok( r == S_OK, "failed to set storage type 0x%08x\n", r );
+    ok( r == S_OK, "failed to set storage type %#lx\n", r );
 
     write_tables( stg, table_patch_data, ARRAY_SIZE( table_patch_data ));
 
     r = IStorage_CreateStorage( stg, p_name7, mode, 0, 0, &stg1 );
-    ok( r == S_OK, "failed to create substorage 0x%08x\n", r );
+    ok( r == S_OK, "failed to create substorage %#lx\n", r );
 
     r = IStorage_SetClass( stg1, &CLSID_MsiTransform );
-    ok( r == S_OK, "failed to set storage type 0x%08x\n", r );
+    ok( r == S_OK, "failed to set storage type %#lx\n", r );
 
     write_tables( stg1, table_transform1_data, ARRAY_SIZE( table_transform1_data ));
     IStorage_Release( stg1 );
 
     r = IStorage_CreateStorage( stg, p_name8, mode, 0, 0, &stg2 );
-    ok( r == S_OK, "failed to create substorage 0x%08x\n", r );
+    ok( r == S_OK, "failed to create substorage %#lx\n", r );
 
     r = IStorage_SetClass( stg2, &CLSID_MsiTransform );
-    ok( r == S_OK, "failed to set storage type 0x%08x\n", r );
+    ok( r == S_OK, "failed to set storage type %#lx\n", r );
 
     write_tables( stg2, table_transform2_data, ARRAY_SIZE( table_transform2_data ));
     IStorage_Release( stg2 );
@@ -774,7 +774,7 @@ static void test_simple_patch( void )
     }
 
     size = get_pf_file_size( "msitest\\patch.txt" );
-    ok( size == 1000, "expected 1000, got %u\n", size );
+    ok( size == 1000, "expected 1000, got %lu\n", size );
 
     size = sizeof(install_source);
     r = MsiGetProductInfoA( "{913B8D18-FBB6-4CAC-A239-C74C11E3FA74}",
@@ -840,9 +840,9 @@ static void test_simple_patch( void )
     }
 
     size = get_pf_file_size( "msitest\\patch.txt" );
-    ok( size == 1002, "expected 1002, got %u\n", size );
+    ok( size == 1002, "expected 1002, got %lu\n", size );
     size = get_pf_file_size( "msitest\\file.txt" );
-    ok( size == 1000, "expected 1000, got %u\n", size );
+    ok( size == 1000, "expected 1000, got %lu\n", size );
 
     /* show that MsiOpenPackage applies registered patches */
     r = MsiOpenPackageA( path, &hpackage );
@@ -1064,7 +1064,7 @@ static char *get_string( MSIHANDLE hdb, UINT field, const char *query)
     ok( r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r );
     if (r == ERROR_SUCCESS)
     {
-        UINT size = MAX_PATH;
+        DWORD size = MAX_PATH;
         r = MsiRecordGetStringA( hrec, field, ret, &size );
         ok( r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r);
         MsiCloseHandle( hrec );
@@ -1272,7 +1272,8 @@ cleanup:
 
 static void test_patch_registration( void )
 {
-    UINT r, size;
+    UINT r;
+    DWORD size;
     char buffer[MAX_PATH], patch_code[39];
 
     if (!pMsiApplyPatchA || !pMsiGetPatchInfoExA || !pMsiEnumPatchesExA)
diff --git a/dlls/msi/tests/record.c b/dlls/msi/tests/record.c
index 407d756caae..fb778104ee1 100644
--- a/dlls/msi/tests/record.c
+++ b/dlls/msi/tests/record.c
@@ -410,21 +410,21 @@ static void test_MsiRecordGetString(void)
     sz = MAX_PATH;
     r = MsiRecordGetStringA(rec, 1, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n",r);
-    ok(sz == 0, "Expected 0, got %d\n",sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     sz = MAX_PATH;
     lstrcpyA(buf, "apple");
     r = MsiRecordGetStringA(rec, 1, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     sz = MAX_PATH;
     lstrcpyA(buf, "apple");
     r = MsiRecordGetStringA(rec, 10, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     MsiCloseHandle(rec);
 
@@ -437,14 +437,14 @@ static void test_MsiRecordGetString(void)
     sz = MAX_PATH;
     r = MsiRecordGetStringA(rec, 1, NULL, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n",r);
-    ok(sz == 1, "Expected 1, got %d\n",sz);
+    ok(sz == 1, "Expected 1, got %lu\n",sz);
 
     sz = MAX_PATH;
     lstrcpyA(buf, "apple");
     r = MsiRecordGetStringA(rec, 1, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "5"), "Expected \"5\", got \"%s\"\n", buf);
-    ok(sz == 1, "Expected 1, got %d\n", sz);
+    ok(sz == 1, "Expected 1, got %lu\n", sz);
 
     r = MsiRecordSetInteger(rec, 1, -5);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
@@ -454,7 +454,7 @@ static void test_MsiRecordGetString(void)
     r = MsiRecordGetStringA(rec, 1, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "-5"), "Expected \"-5\", got \"%s\"\n", buf);
-    ok(sz == 2, "Expected 2, got %d\n", sz);
+    ok(sz == 2, "Expected 2, got %lu\n", sz);
 
     MsiCloseHandle(rec);
 }
@@ -508,7 +508,7 @@ static void test_fieldzero(void)
     r = MsiRecordGetStringA(rec, 0, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     r = MsiRecordIsNull(rec, 0);
     ok(r == TRUE, "Expected TRUE, got %d\n", r);
@@ -527,7 +527,7 @@ static void test_fieldzero(void)
     r = MsiRecordGetStringA(rec, 0, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     r = MsiRecordIsNull(rec, 0);
     ok(r == TRUE, "Expected TRUE, got %d\n", r);
@@ -546,7 +546,7 @@ static void test_fieldzero(void)
     r = MsiRecordGetStringA(rec, 0, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, ""), "Expected \"\", got \"%s\"\n", buf);
-    ok(sz == 0, "Expected 0, got %d\n", sz);
+    ok(sz == 0, "Expected 0, got %lu\n", sz);
 
     r = MsiRecordIsNull(rec, 0);
     ok(r == TRUE, "Expected TRUE, got %d\n", r);
@@ -556,7 +556,7 @@ static void test_fieldzero(void)
     r = MsiRecordGetStringA(rec, 1, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "bologna"), "Expected \"bologna\", got \"%s\"\n", buf);
-    ok(sz == 7, "Expected 7, got %d\n", sz);
+    ok(sz == 7, "Expected 7, got %lu\n", sz);
 
     MsiCloseHandle(rec);
 
@@ -597,7 +597,7 @@ static void test_fieldzero(void)
     r = MsiRecordGetStringA(rec, 0, buf, &sz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(buf, "drone"), "Expected \"drone\", got \"%s\"\n", buf);
-    ok(sz == 5, "Expected 5, got %d\n", sz);
+    ok(sz == 5, "Expected 5, got %lu\n", sz);
 
     r = MsiRecordIsNull(rec, 0);
     ok(r == FALSE, "Expected FALSE, got %d\n", r);
diff --git a/dlls/msi/tests/source.c b/dlls/msi/tests/source.c
index d141307e0ba..1e794caaf5a 100644
--- a/dlls/msi/tests/source.c
+++ b/dlls/msi/tests/source.c
@@ -124,10 +124,10 @@ static void create_test_guid(LPSTR prodcode, LPSTR squashed)
     int size;
 
     hr = CoCreateGuid(&guid);
-    ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     size = StringFromGUID2(&guid, guidW, MAX_PATH);
-    ok(size == 39, "Expected 39, got %d\n", hr);
+    ok(size == 39, "Expected 39, got %#lx\n", hr);
 
     WideCharToMultiByte(CP_ACP, 0, guidW, size, prodcode, MAX_PATH, NULL, NULL);
     squash_guid(guidW, squashedW);
@@ -297,7 +297,7 @@ static void test_MsiSourceListGetInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     size = MAX_PATH;
@@ -308,7 +308,7 @@ static void test_MsiSourceListGetInfo(void)
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     res = RegCreateKeyA(userkey, "SourceList", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     size = MAX_PATH;
@@ -316,12 +316,12 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
 
     data = "msitest.msi";
     res = RegSetValueExA(hkey, "PackageName", 0, REG_SZ, (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* PackageName value exists */
     size = 0xdeadbeef;
@@ -329,7 +329,7 @@ static void test_MsiSourceListGetInfo(void)
                               MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, NULL, &size);
     ok(r == ERROR_SUCCESS || r == ERROR_INVALID_PARAMETER,
 	   "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(size == 11 || r != ERROR_SUCCESS, "Expected 11, got %d\n", size);
+    ok(size == 11 || r != ERROR_SUCCESS, "Expected 11, got %lu\n", size);
 
     /* read the value, don't change size */
 	size = 11;
@@ -338,7 +338,7 @@ static void test_MsiSourceListGetInfo(void)
                               MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected 'aaa', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     /* read the value, fix size */
     size++;
@@ -346,7 +346,7 @@ static void test_MsiSourceListGetInfo(void)
                               MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "msitest.msi"), "Expected 'msitest.msi', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     /* empty property now that product key exists */
     size = MAX_PATH;
@@ -354,7 +354,7 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PRODUCT, "", value, &size);
     ok(r == ERROR_UNKNOWN_PROPERTY, "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     /* nonexistent property now that product key exists */
@@ -363,12 +363,12 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PRODUCT, "nonexistent", value, &size);
     ok(r == ERROR_UNKNOWN_PROPERTY, "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     data = "tester";
     res = RegSetValueExA(hkey, "nonexistent", 0, REG_SZ, (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* nonexistent property now that nonexistent value exists */
     size = MAX_PATH;
@@ -376,7 +376,7 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PRODUCT, "nonexistent", value, &size);
     ok(r == ERROR_UNKNOWN_PROPERTY, "Expected ERROR_UNKNOWN_PROPERTY, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     /* invalid option now that product key exists */
@@ -384,7 +384,7 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               4, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     /* INSTALLPROPERTY_MEDIAPACKAGEPATH, media key does not exist */
     size = MAX_PATH;
@@ -394,15 +394,15 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     res = RegCreateKeyA(hkey, "Media", &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     data = "path";
     res = RegSetValueExA(media, "MediaPackage", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_MEDIAPACKAGEPATH */
     size = MAX_PATH;
@@ -411,13 +411,13 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "path"), "Expected \"path\", got \"%s\"\n", value);
-    ok(size == 4, "Expected 4, got %d\n", size);
+    ok(size == 4, "Expected 4, got %lu\n", size);
 
     /* INSTALLPROPERTY_DISKPROMPT */
     data = "prompt";
     res = RegSetValueExA(media, "DiskPrompt", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
@@ -425,7 +425,7 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "prompt"), "Expected \"prompt\", got \"%s\"\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     /* LastUsedSource value doesn't exist */
     RegDeleteValueA(hkey, "LastUsedSource");
@@ -434,9 +434,9 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEA,
                                value, &size);
-    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     size = MAX_PATH;
     usersidW = strdupAW(usersid);
@@ -445,16 +445,16 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoW(prodcodeW, usersidW, MSIINSTALLCONTEXT_USERUNMANAGED,
                                MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW,
                                valueW, &size);
-    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
     ok(!valueW[0], "Expected \"\"");
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
     free(usersidW);
     free(prodcodeW);
 
     data = "";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE, source is empty */
     size = MAX_PATH;
@@ -463,12 +463,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     data = "source";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE */
     size = MAX_PATH;
@@ -477,7 +477,7 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "source"), "Expected \"source\", got \"%s\"\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE, size is too short */
     size = 4;
@@ -487,7 +487,7 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got \"%s\"\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE, size is exactly 6 */
     size = 6;
@@ -497,12 +497,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got \"%s\"\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     data = "a;source";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE, one semi-colon */
     size = MAX_PATH;
@@ -511,12 +511,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "source"), "Expected \"source\", got \"%s\"\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     data = "a:source";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDSOURCE, one colon */
     size = MAX_PATH;
@@ -525,7 +525,7 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "a:source"), "Expected \"a:source\", got \"%s\"\n", value);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE, invalid source format */
     size = MAX_PATH;
@@ -534,12 +534,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     data = "x;y;z";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE, invalid source format */
     size = MAX_PATH;
@@ -548,12 +548,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     data = "n;y;z";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE */
     size = MAX_PATH;
@@ -562,12 +562,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "n"), "Expected \"n\", got \"%s\"\n", value);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     data = "negatory";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE */
     size = MAX_PATH;
@@ -576,12 +576,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "n"), "Expected \"n\", got \"%s\"\n", value);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     data = "megatron";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE */
     size = MAX_PATH;
@@ -590,12 +590,12 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "m"), "Expected \"m\", got \"%s\"\n", value);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     data = "useless";
     res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,
                          (const BYTE *)data, lstrlenA(data) + 1);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* INSTALLPROPERTY_LASTUSEDTYPE */
     size = MAX_PATH;
@@ -604,7 +604,7 @@ static void test_MsiSourceListGetInfo(void)
                                value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "u"), "Expected \"u\", got \"%s\"\n", value);
-    ok(size == 1, "Expected 1, got %d\n", size);
+    ok(size == 1, "Expected 1, got %lu\n", size);
 
     RegDeleteValueA(media, "MediaPackage");
     RegDeleteValueA(media, "DiskPrompt");
@@ -623,14 +623,14 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PATCH, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Patches\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* patch key exists
      * NOTE: using prodcode guid, but it really doesn't matter
@@ -640,11 +640,11 @@ static void test_MsiSourceListGetInfo(void)
     r = pMsiSourceListGetInfoA(prodcode, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                               MSICODE_PATCH, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
-    ok(size == MAX_PATH, "Expected %d, got %d\n", MAX_PATH, size);
+    ok(size == MAX_PATH, "Expected %d, got %lu\n", MAX_PATH, size);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got \"%s\"\n", value);
 
     res = RegCreateKeyA(userkey, "SourceList", &hkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     size = MAX_PATH;
@@ -653,7 +653,7 @@ static void test_MsiSourceListGetInfo(void)
                               MSICODE_PATCH, INSTALLPROPERTY_PACKAGENAMEA, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, ""), "Expected \"\", got \"%s\"\n", value);
-    ok(size == 0, "Expected 0, got %d\n", size);
+    ok(size == 0, "Expected 0, got %lu\n", size);
 
     RegDeleteKeyA(hkey, "");
     RegDeleteKeyA(userkey, "");
@@ -743,7 +743,7 @@ static void test_MsiSourceListAddSourceEx(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -752,7 +752,7 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyA(userkey, "SourceList", &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(url);
 
     /* SourceList key exists */
@@ -762,13 +762,13 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     res = RegOpenKeyA(userkey, "SourceList\\URL", &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     /* add another source, index 0 */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -778,15 +778,15 @@ static void test_MsiSourceListAddSourceEx(void)
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "another/"), "Expected 'another/', got %s\n", value);
-    ok(size == 9, "Expected 9, got %d\n", size);
+    ok(size == 9, "Expected 9, got %lu\n", size);
 
     /* add another source, index 1 */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -796,21 +796,21 @@ static void test_MsiSourceListAddSourceEx(void)
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "third/"), "Expected 'third/', got %s\n", value);
-    ok(size == 7, "Expected 7, got %d\n", size);
+    ok(size == 7, "Expected 7, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "3", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "another/"), "Expected 'another/', got %s\n", value);
-    ok(size == 9, "Expected 9, got %d\n", size);
+    ok(size == 9, "Expected 9, got %lu\n", size);
 
     /* add another source, index > N */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -820,27 +820,27 @@ static void test_MsiSourceListAddSourceEx(void)
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "third/"), "Expected 'third/', got %s\n", value);
-    ok(size == 7, "Expected 7, got %d\n", size);
+    ok(size == 7, "Expected 7, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "3", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "another/"), "Expected 'another/', got %s\n", value);
-    ok(size == 9, "Expected 9, got %d\n", size);
+    ok(size == 9, "Expected 9, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "4", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "last/"), "Expected 'last/', got %s\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     /* just MSISOURCETYPE_NETWORK */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -849,13 +849,13 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     res = RegOpenKeyA(userkey, "SourceList\\Net", &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(net, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "source\\"), "Expected 'source\\', got %s\n", value);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* just MSISOURCETYPE_URL */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -865,33 +865,33 @@ static void test_MsiSourceListAddSourceEx(void)
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "third/"), "Expected 'third/', got %s\n", value);
-    ok(size == 7, "Expected 7, got %d\n", size);
+    ok(size == 7, "Expected 7, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "3", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "another/"), "Expected 'another/', got %s\n", value);
-    ok(size == 9, "Expected 9, got %d\n", size);
+    ok(size == 9, "Expected 9, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "4", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "last/"), "Expected 'last/', got %s\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "5", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "source/"), "Expected 'source/', got %s\n", value);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     /* NULL szUserSid */
     r = pMsiSourceListAddSourceExA(prodcode, NULL,
@@ -901,15 +901,15 @@ static void test_MsiSourceListAddSourceEx(void)
 
     size = MAX_PATH;
     res = RegQueryValueExA(net, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "source\\"), "Expected 'source\\', got %s\n", value);
-    ok(size == 8, "Expected 8, got %d\n", size);
+    ok(size == 8, "Expected 8, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(net, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "nousersid\\"), "Expected 'nousersid\\', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     /* invalid options, must have source type */
     r = pMsiSourceListAddSourceExA(prodcode, usersid,
@@ -949,7 +949,7 @@ static void test_MsiSourceListAddSourceEx(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -960,7 +960,7 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &hkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(hkey);
 
     /* SourceList exists */
@@ -970,13 +970,13 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     res = RegOpenKeyExA(prodkey, "SourceList\\URL", 0, access, &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     RegCloseKey(url);
 
@@ -988,19 +988,19 @@ static void test_MsiSourceListAddSourceEx(void)
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
     res = RegOpenKeyExA(prodkey, "SourceList\\URL", 0, access, &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-    ok(size == 11, "Expected 11, got %d\n", size);
+    ok(size == 11, "Expected 11, got %lu\n", size);
 
     size = MAX_PATH;
     res = RegQueryValueExA(url, "2", NULL, NULL, (LPBYTE)value, &size);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     ok(!lstrcmpA(value, "another/"), "Expected 'another/', got %s\n", value);
-    ok(size == 9, "Expected 9, got %d\n", size);
+    ok(size == 9, "Expected 9, got %lu\n", size);
 
     RegCloseKey(url);
     RegCloseKey(prodkey);
@@ -1025,7 +1025,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -1037,7 +1037,7 @@ machine_tests:
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &hkey, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     RegCloseKey(hkey);
 
     /* SourceList exists */
@@ -1051,13 +1051,13 @@ machine_tests:
         ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
 
         res = RegOpenKeyExA(prodkey, "SourceList\\URL", 0, access, &url);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
         size = MAX_PATH;
         res = RegQueryValueExA(url, "1", NULL, NULL, (LPBYTE)value, &size);
-        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+        ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
         ok(!lstrcmpA(value, "C:\\source/"), "Expected 'C:\\source/', got %s\n", value);
-        ok(size == 11, "Expected 11, got %d\n", size);
+        ok(size == 11, "Expected 11, got %lu\n", size);
 
         RegCloseKey(url);
         RegCloseKey(prodkey);
@@ -1102,21 +1102,21 @@ static void test_MsiSourceListEnumSources(void)
     r = pMsiSourceListEnumSourcesA(NULL, usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", size);
+    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", size);
 
     /* empty szProductCodeOrPatchCode */
     size = 0xdeadbeef;
     r = pMsiSourceListEnumSourcesA("", usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", size);
+    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", size);
 
     /* garbage szProductCodeOrPatchCode */
     size = 0xdeadbeef;
     r = pMsiSourceListEnumSourcesA("garbage", usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", size);
+    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", size);
 
     /* guid without brackets */
     size = 0xdeadbeef;
@@ -1124,7 +1124,7 @@ static void test_MsiSourceListEnumSources(void)
                                    usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", size);
+    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", size);
 
     /* guid with brackets */
     size = 0xdeadbeef;
@@ -1132,7 +1132,7 @@ static void test_MsiSourceListEnumSources(void)
                                    usersid, MSIINSTALLCONTEXT_USERUNMANAGED,
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
-    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", size);
+    ok(size == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", size);
 
     /* MSIINSTALLCONTEXT_USERUNMANAGED */
 
@@ -1143,13 +1143,13 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     size = MAX_PATH;
@@ -1159,10 +1159,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyA(userkey, "SourceList", &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     size = MAX_PATH;
@@ -1172,10 +1172,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyA(source, "URL", &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URL key exists */
     size = MAX_PATH;
@@ -1185,16 +1185,16 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(url, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(url, "2", 0, REG_SZ, (LPBYTE)"second", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     res = RegSetValueExA(url, "4", 0, REG_SZ, (LPBYTE)"fourth", 7);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1204,7 +1204,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* try index 0 again */
     size = MAX_PATH;
@@ -1214,7 +1214,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* both szSource and pcchSource are NULL, index 0 */
     r = pMsiSourceListEnumSourcesA(prodcode, usersid,
@@ -1236,7 +1236,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* szSource is non-NULL while pcchSource is NULL */
     lstrcpyA(value, "aaa");
@@ -1255,7 +1255,7 @@ static void test_MsiSourceListEnumSources(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected \"aaa\", got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* reset the enumeration */
     size = MAX_PATH;
@@ -1265,7 +1265,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* try index 1 */
     size = MAX_PATH;
@@ -1275,7 +1275,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 1, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "second"), "Expected \"second\", got %s\n", value);
-    ok(size == 6, "Expected 6, got %d\n", size);
+    ok(size == 6, "Expected 6, got %lu\n", size);
 
     /* try index 1 again */
     size = MAX_PATH;
@@ -1286,7 +1286,7 @@ static void test_MsiSourceListEnumSources(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* try index 2 */
     size = MAX_PATH;
@@ -1296,7 +1296,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 2, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* try index < 0 */
     size = MAX_PATH;
@@ -1307,7 +1307,7 @@ static void test_MsiSourceListEnumSources(void)
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* NULL szUserSid */
     size = MAX_PATH;
@@ -1317,7 +1317,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* invalid dwOptions, must be one of MSICODE_ and MSISOURCETYPE_ */
     size = MAX_PATH;
@@ -1327,7 +1327,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* invalid dwOptions, must be one of MSICODE_ and MSISOURCETYPE_ */
     size = MAX_PATH;
@@ -1337,7 +1337,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PATCH, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* invalid dwOptions, must be one of MSICODE_ and MSISOURCETYPE_ */
     size = MAX_PATH;
@@ -1348,7 +1348,7 @@ static void test_MsiSourceListEnumSources(void)
                                    0, value, &size);
     ok(r == ERROR_UNKNOWN_PATCH, "Expected ERROR_UNKNOWN_PATCH, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* invalid dwOptions, must be one of MSICODE_ and MSISOURCETYPE_ */
     size = MAX_PATH;
@@ -1359,7 +1359,7 @@ static void test_MsiSourceListEnumSources(void)
                                    0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     RegDeleteValueA(url, "1");
     RegDeleteValueA(url, "2");
@@ -1375,10 +1375,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyA(source, "Net", &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Net key exists */
     size = MAX_PATH;
@@ -1388,10 +1388,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(net, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1401,7 +1401,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     RegDeleteValueA(net, "1");
     RegDeleteKeyA(net, "");
@@ -1420,7 +1420,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Microsoft\\Windows\\CurrentVersion\\Installer\\Managed\\");
     lstrcatA(keypath, usersid);
@@ -1430,7 +1430,7 @@ static void test_MsiSourceListEnumSources(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -1442,10 +1442,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(userkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     size = MAX_PATH;
@@ -1455,10 +1455,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(source, "URL", 0, NULL, 0, access, NULL, &url, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URL key exists */
     size = MAX_PATH;
@@ -1468,10 +1468,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(url, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1481,7 +1481,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* NULL szUserSid */
     size = MAX_PATH;
@@ -1491,7 +1491,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     RegDeleteValueA(url, "1");
     delete_key(url, "", access);
@@ -1505,10 +1505,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(source, "Net", 0, NULL, 0, access, NULL, &net, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Net key exists */
     size = MAX_PATH;
@@ -1518,10 +1518,10 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(net, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1531,7 +1531,7 @@ static void test_MsiSourceListEnumSources(void)
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     RegDeleteValueA(net, "1");
     delete_key(net, "", access);
@@ -1552,7 +1552,7 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     /* szUserSid is NULL */
     size = MAX_PATH;
@@ -1562,7 +1562,7 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_UNKNOWN_PRODUCT, "Expected ERROR_UNKNOWN_PRODUCT, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     lstrcpyA(keypath, "Software\\Classes\\Installer\\Products\\");
     lstrcatA(keypath, prod_squashed);
@@ -1570,7 +1570,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -1583,10 +1583,10 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     size = MAX_PATH;
@@ -1596,10 +1596,10 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(source, "URL", 0, NULL, 0, access, NULL, &url, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* URL key exists */
     size = MAX_PATH;
@@ -1609,10 +1609,10 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(url, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1622,7 +1622,7 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     /* NULL szUserSid */
     size = MAX_PATH;
@@ -1632,7 +1632,7 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_URL, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     RegDeleteValueA(url, "1");
     delete_key(url, "", access);
@@ -1646,10 +1646,10 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegCreateKeyExA(source, "Net", 0, NULL, 0, access, NULL, &net, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Net key exists */
     size = MAX_PATH;
@@ -1659,10 +1659,10 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
     ok(!lstrcmpA(value, "aaa"), "Expected value to be unchanged, got %s\n", value);
-    ok(size == MAX_PATH, "Expected MAX_PATH, got %d\n", size);
+    ok(size == MAX_PATH, "Expected MAX_PATH, got %lu\n", size);
 
     res = RegSetValueExA(net, "1", 0, REG_SZ, (LPBYTE)"first", 6);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* sources exist */
     size = MAX_PATH;
@@ -1672,7 +1672,7 @@ machine_tests:
                                    MSICODE_PRODUCT | MSISOURCETYPE_NETWORK, 0, value, &size);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(value, "first"), "Expected \"first\", got %s\n", value);
-    ok(size == 5, "Expected 5, got %d\n", size);
+    ok(size == 5, "Expected 5, got %lu\n", size);
 
     RegDeleteValueA(net, "1");
     delete_key(net, "", access);
@@ -1808,7 +1808,7 @@ static void test_MsiSourceListSetInfo(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -1818,7 +1818,7 @@ static void test_MsiSourceListSetInfo(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyA(userkey, "SourceList", &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists, no source type */
     r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -1828,7 +1828,7 @@ static void test_MsiSourceListSetInfo(void)
 
     /* Media key is created by MsiSourceListSetInfo */
     res = RegOpenKeyA(source, "Media", &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_STR(media, "MediaPackage", "path");
 
     /* set the info again */
@@ -1921,7 +1921,7 @@ static void test_MsiSourceListSetInfo(void)
 
     /* Net key is created by MsiSourceListSetInfo */
     res = RegOpenKeyA(source, "Net", &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_STR(net, "1", "source\\")
     CHECK_REG_STR(source, "LastUsedSource", "n;1;source");
 
@@ -1944,7 +1944,7 @@ static void test_MsiSourceListSetInfo(void)
 
     /* URL key is created by MsiSourceListSetInfo */
     res = RegOpenKeyA(source, "URL", &url);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_STR(url, "1", "source/");
     CHECK_REG_STR(source, "LastUsedSource", "u;1;source");
 
@@ -2029,7 +2029,7 @@ static void test_MsiSourceListSetInfo(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -2041,7 +2041,7 @@ static void test_MsiSourceListSetInfo(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(userkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists, no source type */
     r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -2051,7 +2051,7 @@ static void test_MsiSourceListSetInfo(void)
 
     /* Media key is created by MsiSourceListSetInfo */
     res = RegOpenKeyExA(source, "Media", 0, access, &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_STR(media, "MediaPackage", "path");
 
     RegDeleteValueA(media, "MediaPackage");
@@ -2071,7 +2071,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -2084,7 +2084,7 @@ machine_tests:
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists, no source type */
     r = pMsiSourceListSetInfoA(prodcode, NULL,
@@ -2099,7 +2099,7 @@ machine_tests:
 
     /* Media key is created by MsiSourceListSetInfo */
     res = RegOpenKeyExA(source, "Media", 0, access, &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
     CHECK_REG_STR(media, "MediaPackage", "path");
 
     /* szUserSid is non-NULL */
@@ -2217,7 +2217,7 @@ static void test_MsiSourceListAddMediaDisk(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
@@ -2227,7 +2227,7 @@ static void test_MsiSourceListAddMediaDisk(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyA(userkey, "SourceList", &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
@@ -2237,7 +2237,7 @@ static void test_MsiSourceListAddMediaDisk(void)
 
     /* Media subkey is created by MsiSourceListAddMediaDisk */
     res = RegOpenKeyA(source, "Media", &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(media, "1", "label;prompt");
 
@@ -2350,7 +2350,7 @@ static void test_MsiSourceListAddMediaDisk(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -2362,7 +2362,7 @@ static void test_MsiSourceListAddMediaDisk(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(userkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddMediaDiskA(prodcode, usersid,
@@ -2372,7 +2372,7 @@ static void test_MsiSourceListAddMediaDisk(void)
 
     /* Media subkey is created by MsiSourceListAddMediaDisk */
     res = RegOpenKeyExA(source, "Media", 0, access, &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(media, "1", "label;prompt");
 
@@ -2393,7 +2393,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -2406,7 +2406,7 @@ machine_tests:
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddMediaDiskA(prodcode, NULL,
@@ -2421,7 +2421,7 @@ machine_tests:
 
     /* Media subkey is created by MsiSourceListAddMediaDisk */
     res = RegOpenKeyExA(source, "Media", 0, access, &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(media, "1", "label;prompt");
 
@@ -2557,7 +2557,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
     lstrcatA(keypath, prod_squashed);
 
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* user product key exists */
     labelsz = sizeof(label);
@@ -2569,7 +2569,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyA(userkey, "SourceList", &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     id = 0xbeef;
@@ -2582,14 +2582,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegCreateKeyA(source, "Media", &media);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Media key exists */
     id = 0xbeef;
@@ -2602,14 +2602,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "1", 0, REG_SZ, (LPBYTE)"label;prompt", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* disk exists */
     id = 0;
@@ -2621,14 +2621,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "2", 0, REG_SZ, (LPBYTE)"one;two", 8);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* now disk 2 exists, get the sizes */
     id = 0;
@@ -2641,9 +2641,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
       "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n", r);
     if (r == ERROR_SUCCESS)
     {
-        ok(id == 2, "Expected 2, got %d\n", id);
-        ok(labelsz == 3, "Expected 3, got %d\n", labelsz);
-        ok(promptsz == 3, "Expected 3, got %d\n", promptsz);
+        ok(id == 2, "Expected 2, got %lu\n", id);
+        ok(labelsz == 3, "Expected 3, got %lu\n", labelsz);
+        ok(promptsz == 3, "Expected 3, got %lu\n", promptsz);
     }
 
     /* now fill in the values */
@@ -2659,23 +2659,23 @@ static void test_MsiSourceListEnumMediaDisks(void)
        "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n", r);
     if (r == ERROR_SUCCESS)
     {
-        ok(id == 2, "Expected 2, got %d\n", id);
+        ok(id == 2, "Expected 2, got %lu\n", id);
         ok(!lstrcmpA(label, "one"), "Expected \"one\", got \"%s\"\n", label);
-        ok(labelsz == 3, "Expected 3, got %d\n", labelsz);
+        ok(labelsz == 3, "Expected 3, got %lu\n", labelsz);
         ok(!lstrcmpA(prompt, "two"), "Expected \"two\", got \"%s\"\n", prompt);
-        ok(promptsz == 3, "Expected 3, got %d\n", promptsz);
+        ok(promptsz == 3, "Expected 3, got %lu\n", promptsz);
     }
     else if (r == ERROR_INVALID_PARAMETER)
     {
-        ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+        ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
         ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-        ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+        ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
         ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-        ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %d\n", promptsz);
+        ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", promptsz);
     }
 
     res = RegSetValueExA(media, "4", 0, REG_SZ, (LPBYTE)"three;four", 11);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* disks 1, 2, 4 exist, reset the enumeration */
     id = 0;
@@ -2687,11 +2687,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* disks 1, 2, 4 exist, index 1 */
     id = 0;
@@ -2703,11 +2703,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 1, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 2, "Expected 2, got %d\n", id);
+    ok(id == 2, "Expected 2, got %lu\n", id);
     ok(!lstrcmpA(label, "one"), "Expected \"one\", got \"%s\"\n", label);
-    ok(labelsz == 3, "Expected 3, got %d\n", labelsz);
+    ok(labelsz == 3, "Expected 3, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "two"), "Expected \"two\", got \"%s\"\n", prompt);
-    ok(promptsz == 3, "Expected 3, got %d\n", promptsz);
+    ok(promptsz == 3, "Expected 3, got %lu\n", promptsz);
 
     /* disks 1, 2, 4 exist, index 2 */
     id = 0;
@@ -2719,11 +2719,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 2, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 4, "Expected 4, got %d\n", id);
+    ok(id == 4, "Expected 4, got %lu\n", id);
     ok(!lstrcmpA(label, "three"), "Expected \"three\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "four"), "Expected \"four\", got \"%s\"\n", prompt);
-    ok(promptsz == 4, "Expected 4, got %d\n", promptsz);
+    ok(promptsz == 4, "Expected 4, got %lu\n", promptsz);
 
     /* disks 1, 2, 4 exist, index 3, invalid */
     id = 0xbeef;
@@ -2736,11 +2736,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %d\n", promptsz);
+    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", promptsz);
 
     /* disks 1, 2, 4 exist, reset the enumeration */
     id = 0;
@@ -2752,11 +2752,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* try index 0 again */
     id = 0;
@@ -2768,11 +2768,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* jump to index 2 */
     id = 0xbeef;
@@ -2784,11 +2784,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 2, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %d\n", promptsz);
+    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", promptsz);
 
     /* after error, try index 1 */
     id = 0xbeef;
@@ -2800,11 +2800,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 1, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 2, "Expected 2, got %d\n", id);
+    ok(id == 2, "Expected 2, got %lu\n", id);
     ok(!lstrcmpA(label, "one"), "Expected \"one\", got \"%s\"\n", label);
-    ok(labelsz == 3, "Expected 3, got %d\n", labelsz);
+    ok(labelsz == 3, "Expected 3, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "two"), "Expected \"two\", got \"%s\"\n", prompt);
-    ok(promptsz == 3, "Expected 3, got %d\n", promptsz);
+    ok(promptsz == 3, "Expected 3, got %lu\n", promptsz);
 
     /* try index 1 again */
     id = 0xbeef;
@@ -2816,11 +2816,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 1, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %d\n", promptsz);
+    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", promptsz);
 
     /* NULL pdwDiskId */
     lstrcpyA(label, "aaa");
@@ -2832,9 +2832,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* szVolumeLabel is NULL */
     id = 0;
@@ -2848,10 +2848,10 @@ static void test_MsiSourceListEnumMediaDisks(void)
       "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n", r);
     if (r == ERROR_SUCCESS)
     {
-        ok(id == 1, "Expected 1, got %d\n", id);
-        ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+        ok(id == 1, "Expected 1, got %lu\n", id);
+        ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
         ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-        ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+        ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
     }
 
     /* szVolumeLabel and pcchVolumeLabel are NULL */
@@ -2862,9 +2862,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, NULL, NULL,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* szVolumeLabel is non-NULL while pcchVolumeLabel is NULL */
     id = 0xbeef;
@@ -2878,10 +2878,10 @@ static void test_MsiSourceListEnumMediaDisks(void)
       "Expected ERROR_SUCCESS or ERROR_INVALID_PARAMETER, got %d\n", r);
     if (r == ERROR_SUCCESS)
     {
-        ok(id == 1, "Expected 1, got %d\n", id);
+        ok(id == 1, "Expected 1, got %lu\n", id);
         ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
         ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-        ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+        ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
     }
 
     /* szDiskPrompt is NULL */
@@ -2895,10 +2895,10 @@ static void test_MsiSourceListEnumMediaDisks(void)
     ok(r == ERROR_SUCCESS || r == ERROR_INVALID_PARAMETER, "Expected ERROR_SUCCESS, got %d\n", r);
     if (r == ERROR_SUCCESS)
     {
-        ok(id == 1, "Expected 1, got %d\n", id);
+        ok(id == 1, "Expected 1, got %lu\n", id);
         ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-        ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
-        ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+        ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
+        ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
     }
 
     /* szDiskPrompt and pcchDiskPrompt are NULL */
@@ -2909,9 +2909,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       NULL, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
 
     /* szDiskPrompt is non-NULL while pcchDiskPrompt is NULL */
     id = 0xbeef;
@@ -2923,9 +2923,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, NULL);
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
 
     /* pcchVolumeLabel, szDiskPrompt and pcchDiskPrompt are NULL */
@@ -2936,7 +2936,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       NULL, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
 
     /* szVolumeLabel, pcchVolumeLabel, szDiskPrompt and pcchDiskPrompt are NULL */
     id = 0;
@@ -2944,7 +2944,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, NULL, NULL,
                                       NULL, NULL);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
 
     /* pcchVolumeLabel is exactly 5 */
     lstrcpyA(label, "aaa");
@@ -2956,9 +2956,9 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* pcchDiskPrompt is exactly 6 */
     lstrcpyA(label, "aaa");
@@ -2970,12 +2970,12 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "1", 0, REG_SZ, (LPBYTE)"label", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* no semicolon */
     id = 0;
@@ -2987,14 +2987,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "label"), "Expected \"label\", got \"%s\"\n", prompt);
-    ok(promptsz == 5, "Expected 5, got %d\n", promptsz);
+    ok(promptsz == 5, "Expected 5, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "1", 0, REG_SZ, (LPBYTE)"label;", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* semicolon, no disk prompt */
     id = 0;
@@ -3006,14 +3006,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, ""), "Expected \"\", got \"%s\"\n", prompt);
-    ok(promptsz == 0, "Expected 0, got %d\n", promptsz);
+    ok(promptsz == 0, "Expected 0, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "1", 0, REG_SZ, (LPBYTE)";prompt", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* semicolon, label doesn't exist */
     id = 0;
@@ -3025,14 +3025,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, ""), "Expected \"\", got \"%s\"\n", label);
-    ok(labelsz == 0, "Expected 0, got %d\n", labelsz);
+    ok(labelsz == 0, "Expected 0, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "1", 0, REG_SZ, (LPBYTE)";", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* semicolon, neither label nor disk prompt exist */
     id = 0;
@@ -3044,15 +3044,15 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, ""), "Expected \"\", got \"%s\"\n", label);
-    ok(labelsz == 0, "Expected 0, got %d\n", labelsz);
+    ok(labelsz == 0, "Expected 0, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, ""), "Expected \"\", got \"%s\"\n", prompt);
-    ok(promptsz == 0, "Expected 0, got %d\n", promptsz);
+    ok(promptsz == 0, "Expected 0, got %lu\n", promptsz);
 
     val = 42;
     res = RegSetValueExA(media, "1", 0, REG_DWORD, (LPBYTE)&val, sizeof(DWORD));
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* type is REG_DWORD */
     id = 0;
@@ -3064,11 +3064,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 1, "Expected 1, got %d\n", id);
+    ok(id == 1, "Expected 1, got %lu\n", id);
     ok(!lstrcmpA(label, "#42"), "Expected \"#42\", got \"%s\"\n", label);
-    ok(labelsz == 3, "Expected 3, got %d\n", labelsz);
+    ok(labelsz == 3, "Expected 3, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "#42"), "Expected \"#42\", got \"%s\"\n", prompt);
-    ok(promptsz == 3, "Expected 3, got %d\n", promptsz);
+    ok(promptsz == 3, "Expected 3, got %lu\n", promptsz);
 
     RegDeleteValueA(media, "1");
     RegDeleteValueA(media, "2");
@@ -3090,7 +3090,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -3102,7 +3102,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(userkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     id = 0xbeef;
@@ -3115,14 +3115,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegCreateKeyExA(source, "Media", 0, NULL, 0, access, NULL, &media, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Media key exists */
     id = 0xbeef;
@@ -3135,14 +3135,14 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "2", 0, REG_SZ, (LPBYTE)"label;prompt", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* disk exists, but no id 1 */
     id = 0;
@@ -3154,11 +3154,11 @@ static void test_MsiSourceListEnumMediaDisks(void)
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 2, "Expected 2, got %d\n", id);
+    ok(id == 2, "Expected 2, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     RegDeleteValueA(media, "2");
     delete_key(media, "", access);
@@ -3177,7 +3177,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -3190,7 +3190,7 @@ machine_tests:
        "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     id = 0xbeef;
@@ -3203,14 +3203,14 @@ machine_tests:
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegCreateKeyExA(source, "Media", 0, NULL, 0, access, NULL, &media, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* Media key exists */
     id = 0xbeef;
@@ -3223,14 +3223,14 @@ machine_tests:
                                       prompt, &promptsz);
     ok(r == ERROR_NO_MORE_ITEMS,
        "Expected ERROR_NO_MORE_ITEMS, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", labelsz);
+    ok(labelsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", promptsz);
+    ok(promptsz == 0xdeadbeef, "Expected 0xdeadbeef, got %lu\n", promptsz);
 
     res = RegSetValueExA(media, "2", 0, REG_SZ, (LPBYTE)"label;prompt", 13);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* disk exists, but no id 1 */
     id = 0;
@@ -3242,11 +3242,11 @@ machine_tests:
                                       MSICODE_PRODUCT, 0, &id, label, &labelsz,
                                       prompt, &promptsz);
     ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
-    ok(id == 2, "Expected 2, got %d\n", id);
+    ok(id == 2, "Expected 2, got %lu\n", id);
     ok(!lstrcmpA(label, "label"), "Expected \"label\", got \"%s\"\n", label);
-    ok(labelsz == 5, "Expected 5, got %d\n", labelsz);
+    ok(labelsz == 5, "Expected 5, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "prompt"), "Expected \"prompt\", got \"%s\"\n", prompt);
-    ok(promptsz == 6, "Expected 6, got %d\n", promptsz);
+    ok(promptsz == 6, "Expected 6, got %lu\n", promptsz);
 
     /* szUserSid is non-NULL */
     id = 0xbeef;
@@ -3259,11 +3259,11 @@ machine_tests:
                                       prompt, &promptsz);
     ok(r == ERROR_INVALID_PARAMETER,
        "Expected ERROR_INVALID_PARAMETER, got %d\n", r);
-    ok(id == 0xbeef, "Expected 0xbeef, got %d\n", id);
+    ok(id == 0xbeef, "Expected 0xbeef, got %lu\n", id);
     ok(!lstrcmpA(label, "aaa"), "Expected \"aaa\", got \"%s\"\n", label);
-    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %d\n", labelsz);
+    ok(labelsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", labelsz);
     ok(!lstrcmpA(prompt, "bbb"), "Expected \"bbb\", got \"%s\"\n", prompt);
-    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %d\n", promptsz);
+    ok(promptsz == MAX_PATH, "Expected MAX_PATH, got %lu\n", promptsz);
 
     RegDeleteValueA(media, "2");
     delete_key(media, "", access);
@@ -3361,7 +3361,7 @@ static void test_MsiSourceListAddSource(void)
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &userkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto userunmanaged_tests;
     }
 
@@ -3370,7 +3370,7 @@ static void test_MsiSourceListAddSource(void)
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(userkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3378,11 +3378,11 @@ static void test_MsiSourceListAddSource(void)
 
     /* Net key is created */
     res = RegOpenKeyExA(source, "Net", 0, access, &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LastUsedSource does not exist and it is not created */
     res = RegQueryValueExA(source, "LastUsedSource", 0, NULL, NULL, NULL);
-    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", res);
+    ok(res == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %ld\n", res);
 
     CHECK_REG_STR(net, "1", "source\\");
 
@@ -3391,7 +3391,7 @@ static void test_MsiSourceListAddSource(void)
     RegCloseKey(net);
 
     res = RegSetValueExA(source, "LastUsedSource", 0, REG_SZ, (LPBYTE)"blah", 5);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LastUsedSource value exists */
     r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3399,7 +3399,7 @@ static void test_MsiSourceListAddSource(void)
 
     /* Net key is created */
     res = RegOpenKeyExA(source, "Net", 0, access, &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(source, "LastUsedSource", "blah");
     CHECK_REG_STR(net, "1", "source\\");
@@ -3409,7 +3409,7 @@ static void test_MsiSourceListAddSource(void)
     RegCloseKey(net);
 
     res = RegSetValueExA(source, "LastUsedSource", 0, REG_SZ, (LPBYTE)"5", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LastUsedSource is an integer */
     r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3417,7 +3417,7 @@ static void test_MsiSourceListAddSource(void)
 
     /* Net key is created */
     res = RegOpenKeyExA(source, "Net", 0, access, &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(source, "LastUsedSource", "5");
     CHECK_REG_STR(net, "1", "source\\");
@@ -3431,7 +3431,7 @@ static void test_MsiSourceListAddSource(void)
     CHECK_REG_STR(net, "2", "another\\");
 
     res = RegSetValueExA(source, "LastUsedSource", 0, REG_SZ, (LPBYTE)"2", 2);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* LastUsedSource is in the source list */
     r = pMsiSourceListAddSourceA(prodcode, username, 0, "third/");
@@ -3464,7 +3464,7 @@ userunmanaged_tests:
     res = RegCreateKeyA(HKEY_CURRENT_USER, keypath, &userkey);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         goto machine_tests;
     }
 
@@ -3473,7 +3473,7 @@ userunmanaged_tests:
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyA(userkey, "SourceList", &source);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddSourceA(prodcode, username, 0, "source");
@@ -3481,7 +3481,7 @@ userunmanaged_tests:
 
     /* Net key is created */
     res = RegOpenKeyA(source, "Net", &net);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(net, "1", "source\\");
 
@@ -3505,7 +3505,7 @@ machine_tests:
     res = RegCreateKeyExA(HKEY_LOCAL_MACHINE, keypath, 0, NULL, 0, access, NULL, &prodkey, NULL);
     if (res != ERROR_SUCCESS)
     {
-        skip("Product key creation failed with error code %u\n", res);
+        skip("Product key creation failed with error code %ld\n", res);
         LocalFree(usersid);
         return;
     }
@@ -3515,7 +3515,7 @@ machine_tests:
     ok(r == ERROR_BAD_CONFIGURATION, "Expected ERROR_BAD_CONFIGURATION, got %d\n", r);
 
     res = RegCreateKeyExA(prodkey, "SourceList", 0, NULL, 0, access, NULL, &source, NULL);
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     /* SourceList key exists */
     r = pMsiSourceListAddSourceA(prodcode, NULL, 0, "source");
@@ -3528,7 +3528,7 @@ machine_tests:
         skip("MsiSourceListAddSource (insufficient privileges)\n");
         goto done;
     }
-    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res);
+    ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", res);
 
     CHECK_REG_STR(net, "1", "source\\");
 
diff --git a/dlls/msi/tests/suminfo.c b/dlls/msi/tests/suminfo.c
index 1ef18310206..6053248a7c4 100644
--- a/dlls/msi/tests/suminfo.c
+++ b/dlls/msi/tests/suminfo.c
@@ -431,7 +431,7 @@ static void test_summary_binary(void)
         "Expected empty string or \"7\", got \"%s\"\n", sval);
     todo_wine {
     ok(type == VT_LPSTR, "Expected VT_LPSTR, got %d\n", type);
-    ok(sz == 0 || sz == 1, "Expected 0 or 1, got %d\n", sz);
+    ok(sz == 0 || sz == 1, "Expected 0 or 1, got %lu\n", sz);
     }
 
     ival = -1;
-- 
2.30.2




More information about the wine-devel mailing list