Request for small bit of mentoring
Detlef Riekenberg
wine.dev at web.de
Wed Apr 18 16:12:48 CDT 2007
On Mo, 2007-04-16 at 16:44 -0500, Tom Spear wrote:
> I took lines 196-197 and duplicated that,
> changing HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER, and
>
You can move most of the code from FetchUninstallInformation()
to a seperate function and use the rootkey as Parameter.
get_uninstallinfo_from_reg(HKEY_LOCAL_MACHINE);
get_uninstallinfo_from_reg(HKEY_CURRENT_USER);
Did you already checked, what windows does with
duplicate Programm names?
More hints:
lstrcpyW(key_app, PathUninstallW);
lstrcatW(key_app, BackSlashW);
p = key_app+lstrlenW(PathUninstallW)+1;
Why not add the slash direct to PathUninstallW?
sizeOfSubKeyName = 255;
Fixed numbers are not a good Idea (error-prone).
This value is related to "WCHAR subKeyName[256];",
but RegEnumKeyEx expect the max. size in TCHAR, including the
terminating zero, so the correct value for sizeOfSubKeyName
is 256.
A nice, automatic way is:
sizeOfSubKeyName = sizeof(subKeyName)/sizeof(subKeyName[0]);
Such a construct works independant from the type (WCHAR / CHAR)
and the length of the String.
All together looks like more than one Patch.
--
By by ... Detlef
More information about the wine-devel
mailing list