[ 
https://issues.apache.org/jira/browse/DAEMON-131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesse Morris updated DAEMON-131:
--------------------------------

    Attachment: procrun-win64-registry-cleanup.patch

The registry deletion was being done by SHDeleteKey which doesn't take the 
flags that let you specifically choose between the 64-bit hive or the 32-bit 
one.   This patch switches it over to use RegDeleteKey, which just takes 
whatever key you opened with RegOpenKeyEx.

Tested on a couple versions of windows.  

> Win64 build:   //DS// fails to delete registry keys
> ---------------------------------------------------
>
>                 Key: DAEMON-131
>                 URL: https://issues.apache.org/jira/browse/DAEMON-131
>             Project: Commons Daemon
>          Issue Type: Bug
>         Environment: Win64; I've only seen it on AMD64, but presumably it 
> would also happen on ia64.
>            Reporter: Jesse Morris
>            Priority: Minor
>         Attachments: procrun-win64-registry-cleanup.patch
>
>
> When creating and accessing the configuration registry keys, the tool uses 
> CreateRegKeyEx with the KEY_WOW64_32KEY flag, telling windows "Use the 32-bit 
> hive instead of the 64-bit one".  Maybe this was done so that 64-bit daemons 
> could use the configuration from 32-bit ones?  
> Anyway when it's time to go and delete the configuration from the registry it 
> uses the ancient SHDeleteKey call, which tries to delete the key from the 
> 64-bit hive, which fails, so the key is left behind.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to