?
Solved

I need a VBscript to run an msi after clicking on an ok button.

Posted on 2009-05-08
5
Medium Priority
?
781 Views
Last Modified: 2013-11-14
I need a VBscript to run an msi after clicking on an ok button.  I need our users to see a message that will inform them to close a program before they click an ok button and install runs.  I have the msi working but I am just learning VB scripting.  Thanks.
0
Comment
Question by:automaton64
  • 2
  • 2
5 Comments
 
LVL 13

Expert Comment

by:Brum07
ID: 24336722
See below

replace the notepad.exe with your setup exe
option explicit
on error resume next
Msgbox "Your Message"
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "c:\windows\system32\notepad.exe"

Open in new window

0
 
LVL 13

Expert Comment

by:Brum07
ID: 24336740
to run the MSi you can use the below;

WshShell.Run "c:\windows\system32\msiexec /i ""program.msi"" /qn"
0
 

Author Comment

by:automaton64
ID: 24338865
This is great.  Thank you. However, when I am testing it out with my msi which uses a transform file nothing seems to happen after the message window.  Here is what I am trying.
option explicit
on error resume next
Msgbox "Your Message"
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "C:\ln85\msiexec /i ""Lotus Notes 8.5.msi"" TRANSFORMS=""Lotus Notes 8.5.mst"""

Open in new window

0
 
LVL 12

Accepted Solution

by:
zoofan earned 1000 total points
ID: 24341494
Copy and paste into notepad

Edit line 8 to the name of the app to close
Edit line 9 to the full command line for the msi install

save as filename.vbs

run it.


zf
Option Explicit
	Dim WshShell
	Dim Intresult
	Dim strAppName	
	Dim strCommand
 
 
strAppName = "TheApptoClose" ' edit thename of the app you want the user to close.
strCommand = "msiexec.exe /i \\server\share\NameOf.msi" 'edit to the command line to execute the msi.
 
		Intresult = MsgBox("Please close " & strAppName & " before installing this application.",vbOKCancel,"MSI installation")
 
		If Intresult = vbOK Then
			Set WshShell = WScript.CreateObject("WScript.Shell")
			WshShell.Run strCommand,1,True
		Else
			MsgBox "The installation has been cancelled",vbOKOnly,"MSI Installation"	
		End If
WScript.Quit(0)

Open in new window

0
 

Author Closing Comment

by:automaton64
ID: 31579478
Yes.  This is just what I need. Thank you.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
Among others, I monitor the Windows Installer zone and Installer zone. I find that many of the questions could be answered much more quickly if a Windows Installer verbose log were submitted with the question.   However, I do not always have t…
Loops Section Overview
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Suggested Courses

839 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