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