How to run a VBS script before deploying Package

Posted on 2008-10-29
Last Modified: 2013-11-21
I have a simple VBS script (copies a file on the network to a local client - easy stuff) and want this script to run right before or after the package installs.  This script can only be run for a specific package, and I don't care if it runs before or after the package installs.  

Under 'program properties' for the program, on the 'Advanced' tab is an option to 'Run Another Program First.'  I can select a package, but how can I make a package out of a VBS script?  Do I just create a new package with 'xxx.vbs' in the CMD line, and no switches?  Run as hidden?
Question by:NBquery
  • 4
  • 2
  • 2
LVL 18

Expert Comment

ID: 22836610
What you need to do is create another package in SMS for your VBS script, yes run Hidden. On your other package you have created just like you said in the Program properties for that program, on the Advanced tab, check the "Run another program first". Then right under that, click on the drop down botton on the right side of Package and select the package you created for the VBS script. That's all you need. When you deploy your program package, it will run the VBS first then the program installation of your package.

Author Comment

ID: 22837639
Well, I got the package created in SMS, but it doesn't seem to be working.  I have it set as 'Hidden' and in the CMD line of the program:

There are no switches or arguments on the CMD line, just the vbs name.  Is there something else I ned to include on the CMD line?  The status manager is reporting a successful install, but its not doing anything.

Accepted Solution

DecKen earned 250 total points
ID: 22838863
try changing the command line of your VB script package to
cscript script.vbs
LVL 18

Expert Comment

ID: 22840425
Won't hurt to try cscript...
btw, did you just type the script.vbs in the command line when configuring the package? If so, make sure you use browse to find the script.vbs instead of manually typing it in. Where ever the path of this script.vbs, try run it from the path manually from your SMS server to verify it is working through the path and security, assuming the account you use also have the same permission as the SMS Admin account you use that have access to all servers resources. Also, you can change the Hidden to Maximized to see if it's doing anything.
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.


Author Comment

ID: 22864587
Weill, that's not working really.  I ran the script on the sms server and it copied the file I specified in the script from the remote server, to the local Windows directory.

Not sure whats going wrong.  He is the vb script I'm using:

DIM objFSO, sFile, strComputer
'On Error Resume Next
set objFSO=createobject("scripting.FilesystemObject")
'if objFSO.fileexists(sFile)=true then
  objFSO.CopyFile "\\dcdfs11\AllAccess\logon.ini", "c:\windows\"
'End if

Can anyone see a issue with the above script, whats causing it to flake out on me?  I have tried setting the package CMD line to 'cscript script.vbs' and also 'script.vbs' on its own.

Expert Comment

ID: 22865292
When you run the script via SMS by default its going to use the system account unless you set it to run as a different account.
Check the access to \\dcdfs11\AllAccess\logon.ini does everyone have access to the file?

Author Comment

ID: 22866926
Yes, everyone at the company has read access to that directory.  SMS is running the program with Administrator rights.

Author Closing Comment

ID: 31511246
Unfortunately, this script did not run but we cannot tell if its due to SMS or our networking environment.  Still pretty good suggestion.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Every system administrator encounters once in while in a problem where the solution seems to be a needle in haystack.  My needle was an anti-virus version causing problems with my Exchange server. I have an HP DL350 with Windows Server 2008 Stand…
On a regular basis I get questions about slow RDP performance, RDP connection problems, strange errors and even BSOD, remote computers freezing or restarting after initiation of a remote session. In a lot of this cases the quick solutions made b…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

863 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now