On 6/1/07, Stefan Leichter Stefan.Leichter@camline.com wrote:
ChangeLog
replace CRYPT_RecurseDeleteKey with RegDeleteTreeW
Hi Stefan,
I don't think that's enough. There's a difference between SHDeleteKeyW and RegDeleteTreeW (see also http://wiki.winehq.org/RecursiveRegistryKeyDelete, but I guess that's a known page to you). Basically you have to remove the key itself as well.
Cheers,
Paul.
Am Saturday 02 June 2007 12:03 schrieb Paul Vriens:
On 6/1/07, Stefan Leichter Stefan.Leichter@camline.com wrote:
ChangeLog
replace CRYPT_RecurseDeleteKey with RegDeleteTreeW
Hi Stefan,
I don't think that's enough. There's a difference between SHDeleteKeyW and RegDeleteTreeW (see also http://wiki.winehq.org/RecursiveRegistryKeyDelete, but I guess that's a known page to you). Basically you have to remove the key itself as well.
Cheers,
Paul.
Hello Paul,
i think the comment is wrong. The removed function does not behave like SHDeleteKeyW. If you look at the removed code the key itself is not removed. At least i don't see the place where. But you are welcome to tell me where.
Bye Stefan
On 6/3/07, Stefan Leichter Stefan.Leichter@camline.com wrote:
Am Saturday 02 June 2007 12:03 schrieb Paul Vriens:
On 6/1/07, Stefan Leichter Stefan.Leichter@camline.com wrote:
ChangeLog
replace CRYPT_RecurseDeleteKey with RegDeleteTreeW
Hi Stefan,
I don't think that's enough. There's a difference between SHDeleteKeyW and RegDeleteTreeW (see also http://wiki.winehq.org/RecursiveRegistryKeyDelete, but I guess that's a known page to you). Basically you have to remove the key itself as well.
Cheers,
Paul.
Hello Paul,
i think the comment is wrong. The removed function does not behave like SHDeleteKeyW. If you look at the removed code the key itself is not removed. At least i don't see the place where. But you are welcome to tell me where.
Bye Stefan
Hi Stefan,
Apparantly I got it all wrong from the start. (MSDN confused me.... again). The text on MSDN for SHDeleteKeyW says it also deletes the key, the text for RegDeleteTree misses that part which led me to believe there was a difference.
Our (your) tests show however that RegDeleteTree also deletes the key itself.
You're patch is correct in that respect and doesn't the last part of the code remove the key itself ?:
RegCloseKey(hSubKey); if (!dwRet) dwRet = RegDeleteKeyW(hKey, lpszSubKey);
I will adjust the wiki page.
Cheers,
Paul.