Request for small bit of mentoring

Tom Spear speeddymon at gmail.com
Wed Apr 18 17:41:56 CDT 2007


On 4/18/07, Detlef Riekenberg <wine.dev at web.de> wrote:
> 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);
>

I ended up creating a new patch that does something similar, while
keeping the FetchUninstallInformation function

> Did you already checked, what windows does with
> duplicate Programm names?

No, but I will do that in just a minute.

> More hints:
>
>     lstrcpyW(key_app, PathUninstallW);
>     lstrcatW(key_app, BackSlashW);
>     p = key_app+lstrlenW(PathUninstallW)+1;
>
> Why not add the slash direct to PathUninstallW?

This was already part of the code that I copied.  Why the original
author of this code did this, I have no clue and was wondering about
that as well.

>     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.

See above

> All together looks like more than one Patch.
>
> --
>
> By by ... Detlef

Like I said, I ended up rewriting the patch, and in so doing, created
a fairly large patch, because most of the functions had to be
rewritten to support an array being passed as a parameter.  The 2nd
patch actually will have to be changed a little more as well because I
didn't document anything, however I submitted it here for suggestions
so I could have a rough base to work with.

-- 
Thanks

Tom

Check out this new 3D Instant Messenger called IMVU.  It's the best I
have seen yet!



http://imvu.com/catalog/web_invitation.php?userId=1547373&from=power-email



More information about the wine-devel mailing list