MSI: action.c more RegisterProduct work
Aric Stewart
aric at codeweavers.com
Wed Jun 8 11:41:50 CDT 2005
Write out Product Language and Product Icon to the registry.
-------------- next part --------------
Index: dlls/msi/action.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/action.c,v
retrieving revision 1.137
diff -u -r1.137 action.c
--- dlls/msi/action.c 7 Jun 2005 21:34:05 -0000 1.137
+++ dlls/msi/action.c 8 Jun 2005 16:40:27 -0000
@@ -5933,6 +5933,15 @@
{'P','r','o','d','u','c','t','N','a','m','e',0};
static const WCHAR szPackageCode[] =
{'P','a','c','k','a','g','e','C','o','d','e',0};
+ static const WCHAR szLanguage[] =
+ {'L','a','n','g','u','a','g','e',0};
+ static const WCHAR szProductLanguage[] =
+ {'P','r','o','d','u','c','t','L','a','n','g','u','a','g','e',0};
+ static const WCHAR szProductIcon[] =
+ {'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};
+ DWORD langid;
LPWSTR buffer;
DWORD size;
MSIHANDLE hDb, hSumInfo;
@@ -6033,6 +6042,21 @@
size = strlenW(buffer)*sizeof(WCHAR);
RegSetValueExW(hukey,szProductName,0,REG_SZ, (LPSTR)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, (LPSTR)&langid,size);
+
+ buffer = load_dynamic_property(package,szARPProductIcon,NULL);
+ if (buffer)
+ {
+ LPWSTR path;
+ build_icon_path(package,buffer,&path);
+ size = strlenW(path) * sizeof(WCHAR);
+ RegSetValueExW(hukey,szProductIcon,0,REG_SZ, (LPSTR)path,size);
+ }
+
FIXME("Need to write more keys to the user registry\n");
hDb= alloc_msihandle( &package->db->hdr );
More information about the wine-patches
mailing list