Jump to content
Sign in to follow this  
rbenner1184

Unable to find key in the registry

Recommended Posts

rbenner1184

Ok I am really stumped here, because I know for a fact that this key exists I am looking right at it, but when autoit reads the registry it insists that this key does not exist. This explains why this cannot be deleted. So my question is am I doing something wrong here? Or is this just a very strange case? I incorperated in the code the ability to report back to me weather or not the this key exists or if it cannot be deleted. I tried this with a batch file and it was not deleting it either. Logically I do not see why it can not be seen in the registry. Perhaps my syntax is wrong or something. Also this was an inhouse application that was virtualized. I did not package this one myself, this was produced before I was working here. I'm asking the experts on this one. Thanks.

This is the Key that exists. I used "copy key" : HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall{306088F1-1D7E-47AF-80AD-2B2625C5AF80}

RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "Uninstall")
$del = RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", "{306088F1-1D7E-47AF-80AD-2B2625C5AF80}")

if $del = 2 then

msgbox(0, "return code", "registry key was not deleted, there was a problem.")

elseif $del = 0 then

msgbox(0, "return code", "registry key does not exist.")

else

msgbox(0, "return code", "the registry key was deleted.")

endif
Edited by rbenner1184

Share this post


Link to post
Share on other sites
JLogan3o13

Can you please let us know the OS and bitness of the machine?


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
rbenner1184

sure its Windows 7 and 32 bit.

Share this post


Link to post
Share on other sites
l3ill

If you are trying to delete the registry key it has to stop with the folder (for some reason) do not add the key and it will work ( at least it did for me...)

try this:

$del = RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{306088F1-1D7E-47AF-80AD-2B2625C5AF80}")

Share this post


Link to post
Share on other sites
rbenner1184

Good point, but autoit should add this to there documentation, because its wrong..lol. Tahnks I will try this billo! :)

This is one of the examples shown for the redelete function:

Example


RegDelete("HKEY_CURRENT_USER\Software\Test", "TestKey")

RegWrite("HKEY_CURRENT_USER\Software\Test")
RegWrite("HKEY_CURRENT_USER\Software\Test1")

Share this post


Link to post
Share on other sites
rbenner1184

still the same:

---------------------------
return code
---------------------------
registry key does not exist.
---------------------------
OK   
---------------------------
 

Share this post


Link to post
Share on other sites
l3ill

Yeah I noticed that too... o:) 

 

Good point, but autoit should add this to there documentation, because its wrong..lol. Tahnks I will try this billo! :)

This is one of the examples shown for the redelete function:

Example


RegDelete("HKEY_CURRENT_USER\Software\Test", "TestKey")

RegWrite("HKEY_CURRENT_USER\Software\Test")
RegWrite("HKEY_CURRENT_USER\Software\Test1")

 

Have you checked your spelling? lots of letters and numbers to get wrong.

Tip:

Use the "Copy Key Name" to get the exact path.

Share this post


Link to post
Share on other sites
rbenner1184

i used copy key already

Share this post


Link to post
Share on other sites
rbenner1184

This is the Key that exists. I used "copy key" : HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall{306088F1-1D7E-47AF-80AD-2B2625C5AF80}

Share this post


Link to post
Share on other sites
rbenner1184

yes i can delete it manually. this is why i'm confused.

Share this post


Link to post
Share on other sites
mLipok

try this test:

;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{306088F1-1D7E-47AF-80AD-2B2625C5AF80}
For $i = 1 To 100
    Local $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", $i)
    If @error <> 0 Then ExitLoop
    MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var)
Next

EDIT:

What is test result?
Is displayed the sub key?

EDIT2:

try this test with a step by step

test 1: HKEY_LOCAL_MACHINE

test 2: HKEY_LOCAL_MACHINESOFTWARE

test 3: HKEY_LOCAL_MACHINESOFTWAREMicrosoft

test 4: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows

test 5: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

 

If all tests run negative?

Edited by mlipok

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-15

Share this post


Link to post
Share on other sites
rbenner1184

Also its built into the code to determine if the compiler believes this exist in the registry or not. it is comming back with 0 meaning it can't locate the registry entry.

Share this post


Link to post
Share on other sites
rbenner1184

yea its not showing it exists in that test. :think:

Share this post


Link to post
Share on other sites
mLipok

What you see in Microsoft Windows Event Viewer ?

and

Do you have enabled auditing failures?


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-15

Share this post


Link to post
Share on other sites
JLogan3o13

Have you tried putting #RequireAdmin at the top of your script? This works for me on WIN7 32bit

#RequireAdmin

RegDelete("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{306088F1-1D7E-47AF-80AD-2B2625C5AF80}")

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
rbenner1184

I tried that it still is not deleting it..except now there is no msgbox that appears.

Share this post


Link to post
Share on other sites
JLogan3o13

And you refreshed the registry afterward to confirm it is still there?


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×