Solved

Script to query IE version

Posted on 2008-10-21
7
4,332 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
Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

 

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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

808 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