msi: add version to registry

Aric Stewart aric at codeweavers.com
Thu Jun 9 08:09:50 CDT 2005


Register the Product Version also.
Also help plug some memory leaks pointed out by Mike McCormack
-------------- next part --------------
Index: dlls/msi/action.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/action.c,v
retrieving revision 1.142
diff -u -r1.142 action.c
--- dlls/msi/action.c	9 Jun 2005 12:05:27 -0000	1.142
+++ dlls/msi/action.c	9 Jun 2005 13:06:11 -0000
@@ -5973,6 +5972,10 @@
         {'P','r','o','d','u','c','t','I','c','o','n',0};
     static const WCHAR szARPProductIcon[] =
         {'A','R','P','P','R','O','D','U','C','T','I','C','O','N',0};
+    static const WCHAR szProductVersion[] =
+        {'P','r','o','d','u','c','t','V','e','r','s','i','o','n',0};
+    static const WCHAR szVersion[] =
+        {'V','e','r','s','i','o','n',0};
     DWORD langid;
     LPWSTR buffer;
     DWORD size;
@@ -6072,13 +6075,14 @@
 
     buffer = load_dynamic_property(package,szProductName,NULL);
     size = strlenW(buffer)*sizeof(WCHAR);
-    RegSetValueExW(hukey,szProductName,0,REG_SZ, (LPSTR)buffer,size);
+    RegSetValueExW(hukey,szProductName,0,REG_SZ, (BYTE *)buffer,size);
     HeapFree(GetProcessHeap(),0,buffer);
 
     buffer = load_dynamic_property(package,szProductLanguage,NULL);
     size = sizeof(DWORD);
     langid = atoiW(buffer);
     RegSetValueExW(hukey,szLanguage,0,REG_DWORD, (BYTE *)&langid,size);
+    HeapFree(GetProcessHeap(),0,buffer);
 
     buffer = load_dynamic_property(package,szARPProductIcon,NULL);
     if (buffer)
@@ -6088,6 +6092,16 @@
         size = strlenW(path) * sizeof(WCHAR);
         RegSetValueExW(hukey,szProductIcon,0,REG_SZ, (BYTE *)path,size);
     }
+    HeapFree(GetProcessHeap(),0,buffer);
+
+    buffer = load_dynamic_property(package,szProductVersion,NULL);
+    if (buffer)
+    {
+        DWORD verdword = build_version_dword(buffer);
+        size = sizeof(DWORD);
+        RegSetValueExW(hukey,szVersion,0,REG_DWORD, (BYTE *)&verdword,size);
+    }
+    HeapFree(GetProcessHeap(),0,buffer);
     
     FIXME("Need to write more keys to the user registry\n");
   


More information about the wine-patches mailing list