Tom Spear schrieb: > Hopefully this will be the last try. > > Instead of just checking HKLM for uninstall entries, check HKCU as well. > > Converted all instances of entries[numentries-1].xxx to entry->xxx > Fixed a bug with a trace. > Ran the file thru kwrite to make SURE there are NO tabs! > Double checked the diff to make sure no whitespaces were removed by > adding new lines. > > Any comments?
> +static uninst_entry *entry; You only need this variable in FetchUninstallInformation(). Just declare it there, no need to make it global. > + if (!entries) > + entries = HeapAlloc(GetProcessHeap(), 0, sizeof(uninst_entry)); You can move this out of the for() loop as you only need to do this once. > + WINE_TRACE("allocated entry #%d: %s (%s), %s\n", numentries, > wine_dbgstr_w(entry->key), > + wine_dbgstr_w(entry->descr), wine_dbgstr_w(entry->command)); Better write this as: + WINE_TRACE("allocated entry #%d: %s (%s), %s\n", numentries, wine_dbgstr_w(entry->key), + wine_dbgstr_w(entry->descr), wine_dbgstr_w(entry->command)); It's just easier to see this way that the second line still belongs to the first. > + /* If no uninstall information can be found, then display a dialog > to let the user know. > + * Windows doesn't do this, why do we? We should just catch the > error and silently return.. > + */ Just imo, but i would rather post this question to the mailing list or just propose a patch to change it. It doesn't really help to put this question in the code ;)