Jump to content

Recommended Posts

Posted (edited)

Hi. I want to test if a uninstall string exists, for that I use this code:

RegRead('HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall','')
If @error = 1 Then Msgbox(0, 'Error', 'Key "HKLMSoftwarecould not be found.')

It works, but I need to check if this exists:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall{D6AB1F5B-FED6-49A9-9747-327BD28FB3C7}

it won't read the registry path, even it does exists, I don't think regread can handle this: { }

any idea how to solve this problem :S?

Edited by autoking
Posted

you may need administrative previleges to access to HKEY_LOCAL_MACHINE, check the @error

Heroes, there is no such thing

One day I'll discover what IE.au3 has of special for so many users using it.
C'mon there's InetRead and WinHTTP, way better
happy.png

  • Moderators
Posted (edited)

Hi, autoking. I find that you get mixed results when just trying to get to a sub-key under Uninstall, so I usually try to enum one of that standard values inside that particular key (usually DisplayName or DisplayVersion). For example, the following works for me on XP and Win7:

$var = RegRead("HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall{003BFBBD-6C67-419E-A24D-0DCAFC3A5249}", "DisplayVersion")
MsgBox(0, "", $var)
Edited by JLogan3o13

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Posted (edited)

$reg = regread("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall{EE3A5B79-C147-4BD9-952A-E894298C2ACA}" , "")

If @Error > 0 Then
msgbox(0, '' , "Key does not exist")
Else
msgbox(0, '' , "Key exists")
EndIf

The idea here is to check for the existence of the key, not the value. Even if you do get a -1 result for an uninitialized "Default" value (I am curious as to what version of Windows you got that result from), you still know that the key exists. You wouldn't get a -1 or a -2 result if the key did not exist.

Edited by boththose

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Posted

If this is a 64 bit OS, you may need to change it to HKLM64, instead of HKLM, or use #AutoIt3Wrapper_UseX64=n, or a combination of these, to get it to find the correct key

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

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
×
×
  • Create New...