Solved

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

Posted on 2009-05-08
5
774 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 250 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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Installations often have prerequisites, such as “Microsoft .Net framework is required for this product”. The usual implementation in MSI installations is system search for a particular registry setting representing the required prerequisite, followe…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…

707 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