Solved

Script to query IE version

Posted on 2008-10-21
7
4,330 Views
Last Modified: 2010-04-21
We are in the process of rolling out IE7 via group policy for a new web based application. Unfortunately some of our users have installed the Google Toolbar and the built in pop up blocker is causing problems with out web based app.

I would like to run a script in our logon script which reads the HKLM\Software\Microsoft\Internet Explorer\Version key, and then if the version is 7 or above, then I would like to execute a command to uninstall the Google Toolbar (I have this already).

Can anyone help?
Thanks
0
Comment
Question by:gladmins
  • 4
  • 3
7 Comments
 
LVL 65

Expert Comment

by:RobSampson
ID: 22772809
Hi, this code should read that value for you.

Regards,

Rob.
Set objShell = CreateObject("WScript.Shell")
strValue = objShell.RegRead("HKLM\Software\Microsoft\Internet Explorer\Version")
intVersion = CInt(Left(strValue, 1))
If intVersion >= 7 Then
	strCommand = "uninstall toolbar command"
	objShell.Run strCommand, 1, True
Else
	MsgBox "You have IE6 or less."
End If

Open in new window

0
 

Author Comment

by:gladmins
ID: 22773580
For some reason, I cant get this to work. I inserted the following text in place of "uninstall toolbar command".

 "C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe" /uninstall

I tried with double \ extra quotes

strCommand = ""C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe"" /uninstall

and I get an error saying line 5, char 17, expected end of statement, code 800A0401

With just the single quotes

strCommand = "C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe" /uninstall

I get error on line 5, char 2, type mismatch:'[string:"c:\program files\goo"]', code 800A000D.

Any idea what I am doing wrong? I've added the code snippet as well just in case.



Set objShell = CreateObject("WScript.Shell")
strValue = objShell.RegRead("HKLM\Software\Microsoft\Internet Explorer\Version")
intVersion = CInt(Left(strValue, 1))
If intVersion >= 7 Then
	strCommand = "C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe" /uninstall
	objShell.Run strCommand, 1, True
Else
	MsgBox "You have IE6 or less."
End If

Open in new window

0
 
LVL 65

Expert Comment

by:RobSampson
ID: 22773690
Hi, you need two double quotes around your .exe file path, so that that translates to being surrounded by quotes.  In VBScript, when you want to literally include a quote character in a string, you must double it.

Regards,

Rob.
Set objShell = CreateObject("WScript.Shell")
strValue = objShell.RegRead("HKLM\Software\Microsoft\Internet Explorer\Version")
intVersion = CInt(Left(strValue, 1))
If intVersion >= 7 Then
	strCommand = """C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe"" /uninstall"
	objShell.Run strCommand, 1, True
Else
	MsgBox "You have IE6 or less."
End If

Open in new window

0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:gladmins
ID: 22773733
Thanks for the update Rob. The script now works a treat!
Just one more little question, and I'll hand over the points ;-)

I would just like to add a second command line that will uninstall a previous version of the toolbar. The actual command is...

regsvr32 /u /s "C:\Program Files\Google\GoogleToolbar1.dll"

Also, if either of the uninstall files dont exist, it would be better if an error didnt come up as it might halt the script. Is this possible?
0
 
LVL 65

Accepted Solution

by:
RobSampson earned 500 total points
ID: 22773753
Ok, sure.  I have added a check to see if each file exists, and if so, run the uninstall....

Regards,

Rob.
Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strValue = objShell.RegRead("HKLM\Software\Microsoft\Internet Explorer\Version")
intVersion = CInt(Left(strValue, 1))
If intVersion >= 7 Then
	strFile = "C:\Program Files\Google\Google Toolbar\Component\GoogleToolbarManager_FE4264652A965D92.exe"
	If objFSO.FileExists(strFile) = True Then
		strCommand = """" & strFile & """ /uninstall"
		objShell.Run strCommand, 1, True
	End If
	strFile = "C:\Program Files\Google\GoogleToolbar1.dll"
	If objFSO.FileExists(strFile) = True Then
		strCommand = "regsvr32 /u /s """ & strFile & """"
		objShell.Run strCommand, 1, True
	End If
Else
	MsgBox "You have IE6 or less."
End If

Open in new window

0
 

Author Closing Comment

by:gladmins
ID: 31508577
Legend. Thanks for your help Rob. Got us out of a real bind. Cheers!
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 22782262
No problem. Thanks for the grade.

Regards,

Rob.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question