#3258 closed Bug (No Bug)
RegDelete bug ? Deleting values from keys without write access rights
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Milestone: | Component: | AutoIt | |
| Version: | 3.3.14.2 | Severity: | None |
| Keywords: | Cc: |
Description
Hello!
I've found some not obvious behaivor of RegDelete() function. So If we already have created registry key 'HKEY_LOCAL_MACHINE\SYSTEM\Test' _without_ 'value' in it. RegDelete() will will raise an Error with code = 1 ( according to documentation 1 means - Unable to open requested key ), instead of code = -2 ( unable to delete requested key/value ).
This code running under account without administrative right, will return @error = 1 even if 'HKEY_LOCAL_MACHINE\SYSTEM\Test' already existing key and no 'value' in it.
Code:
$i_regdelete_result = RegDelete( 'HKEY_LOCAL_MACHINE\SYSTEM\Test' , 'value' ) ; = 2
MsgBox( 0 , 'ERROR' , @error ) ; = 1
Maybe this is due to RegDelete() tries to open target key with write access and gets denied. So I thought that this is not so obvious as it can be. And naturally $i_regdelete_result must have 0 in this scenario ( according to documenatation 0 means Special return value of RegDelete when key/value does not exist )
Attachments (0)
Change History (3)
comment:2 by , on Jul 29, 2016 at 2:04:13 AM
I've already started forum topic one week agou but there was no replies, so I've decided to post it here.
The script can not be made because of write access. If a can write to key with a script the error will not be reproduced.
To reproduce it you can manually create 'HKEY_LOCAL_MACHINE\SYSTEM\Test' key with elevated program like regedit.exe. The key must be empty, without any values.
And after that just try to execute that code with autoit without elevation:
$i_regdelete_result = RegDelete( 'HKEY_LOCAL_MACHINE\SYSTEM\Test' , 'value' )
$i_regdelete_result will have value = 2 , but according to documentation return value must be 0 because there is no 'value' it this key.
Scenario assumes that UAC is on. The topic I've started before is here:
https://www.autoitscript.com/forum/topic/183671-regdelete-bug-deleting-values-from-keys-without-write-access-rights/
comment:3 by , on Jul 30, 2016 at 1:17:37 PM
| Resolution: | → No Bug |
|---|---|
| Status: | new → closed |
The special return is when you have access successfuly to the key
which is not the case as you don't run i admin mode
For me AutoIT behavior is OK

Please create a replicator script that creates the registry entry and then the statements you are talking about which are not working according to you.
I actually would advice you to come to our forums and post this as a questions to get it confirmed this is a bug before posting it here as this is much harder to have the dialog.
Jos