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
Solved

MSIEXEC not executing working script at CustomAction point

Posted on 2008-06-23
4
1,064 Views
Last Modified: 2013-11-26
Hi Folks,

I have a need to install multiple packages, each wrapped in .MSI files.  I could create a batch file that executes each from CD but would prefer to use a single .MSI file to install all three.  My understanding was that I could add the three .MSI files into the application folders then run a Custom Action (after commit), in this case a .vbs that executes MSIExec, to silently install the apps.

The issue I'm having, however, is that while the script runs - I've tested with displaying a msgbox - the MSIEXEC command does nothing at all.  The file extracts into the correct folder and the script is also there.  I've tried logging outputs, etc, but it just seems to do nothing.  I ought to mention as well that outside of the MSI wrapper the script runs as expected.  The script is as follows:

Help would be appreciated.

Thanks,

Jes
option explicit
on error resume next
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "msiexec /i ""TestApplicationForInstall_MSI.msi"" /qf"

Open in new window

0
Comment
Question by:JesGoth
4 Comments
 
LVL 40

Accepted Solution

by:
Vadim Rapp earned 200 total points
ID: 21846768
> I could add the three .MSI files into the application folders then run a Custom Action

It's bad idea. See http:Q_23498090.html for details.

As for vbscript, I would specify full path to the msi file in WshShell.Run  . You can run filemon (from sysinternals.com) to see if your msi file is actually opened.
0
 
LVL 16

Assisted Solution

by:ThinkPaper
ThinkPaper earned 150 total points
ID: 21876828
in addition to vadimrapp1's comments, when running this line, eliminate the /qf switch and run a test on your machine. Does it pop up the install on your machine?

WshShell.Run "msiexec /i ""\\server\install\TestApplicationForInstall_MSI.msi"" "

0
 
LVL 2

Assisted Solution

by:smilingpolitely
smilingpolitely earned 150 total points
ID: 21882868
The simple answer is that you can't run a nested MSI in that way.  The only way to run a nested Windows Installer package is using Custom Actions 7, 23 or 39.  Otherwise, the second installer sees another install is in process and fails.

Not only that, these features have been deprecated from the Windows Installer API.  

http://msdn.microsoft.com/en-us/library/aa368010(VS.85).aspx
0
 

Author Closing Comment

by:JesGoth
ID: 31469749
Thanks to all, hope you're happy with me splitting the points.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

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…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
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…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

860 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