How can I set up a GPO to install certain programs in a certain order?

I have 2 instances of a software that require other software be installed before it.  I have these all in group policy but it seems I cannot control the order they install.  Is there a way to do this.

To break it down a little.
It order to use the HEC GEOHMS add on for ArcGis you need to install these add on in this order.

1)      ApFramework  
2)      MSXML 6.0 already installed, but still install MSXML 4.0
3)      XML Data Exchange.
4)      Arc Hydro Tools (prerequisite for HEC-GeoHMS only). Version 1.3 Beta August 12 2008
5)      HEC-GeoHMS  

I have MSI's for all of them, how would i set this to run in the correct order?

ewsexchangeAsked:
Who is Participating?
 
msiexpertConnect With a Mentor Commented:
Just to comment:

1. You cannot have one MSI calling another. Nested installs of this type are not supported.
2. Creating a snapshot would be unwise too and against best practices.
3. You could create a vbscript and use the ' objshell.run ( <msicommand>) True,1 ' command to sequentially run the msi's in order.

0
 
Vadim RappCommented:
You can't. Ordering is not supported. You would need to employ some setup.exe calling them one after another. That's what microsoft office 2007 setup is doing, for example.

Probably even more important problem will arise if one installation fails. That's where it probably would be useful to use new transaction functionality of Installer 4.

That said, there must be some order in the way winlogon calls one package after another. You might want to figure it out by just trying it. May be alphabetic order of packages' GUID's, for example, or even their names.
0
 
ewsexchangeAuthor Commented:
Would it be possible to have the first msi call the next ones?

0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
Joseph DalyCommented:
Not sure if this will work for you but I have used WininstallLE to create custom packages. Basically it takes a differential snapshot of a machine. You start with a clean from XP or Vista machine image it then install all of your software then image it again. It takes all the things that have changed or updated and makes an MSI out of it.

I have used this several times with success.
http://itmanagement.earthweb.com/netsys/article.php/3775096/WinInstall+LE,+MSI+Creator+and+Configuration+Builder.htm
0
 
Vadim RappCommented:
What xxdcmast has in mind is called repackaging, i.e. you create new installation consisting of the results of either monitoring, or difference between snapshots. Repackaging of any nontrivial package is very involved process, requiring in-depth knowledge of MSI technology as well as the nature of the product, and requires very thorough QA; in this case I think it would have very little chance for success.
0
 
msiexpertCommented:
vadimrapp1 - Please see this article http://www.appdeploy.com/tips/detail.asp?id=60

Repackaging MSI's is very poor practice. I would urge you to do some research before suggesting this method. The author ewsexchange has already stated that he has MSI's for all of the apps concerned.
0
 
Vadim RappCommented:
msiexpert,

1. I don't think I need some research about repackaging, since I do it quite often.

2. whether it's poor practice or not completely depends on professionalism of the repackager vs. professionalism of the original author. For instance, I am pretty sure that Adobe Reader 9 after my repackaging has improved very, very significantly - about the same as 8 and 7 before it. The article is about the case when repackaging is done with the purpose of changes, which indeed can be achieved by transform, but there can be other purposes as well. As for the statement that subsequent patch can't be applied, the author apparently is not familiar with practices of Microsoft who often creates installations with administrative sequence completely missing.

3. finally, are you sure that saying that repackaging in this case would have very little chance for success is exactly suggesting this method?
0
 
ewsexchangeAuthor Commented:
In the end I used ghost to run a command on the machine.

msiexec /i "file1.msi" /qb
then told it wait for the command to successfully complete with return code 0
then continue in the order
msiexec /i "file2.msi" /qb

0
 
ewsexchangeAuthor Commented:
I used ghost instead of a VB script but I did use the msiexec /i commands thanks for the input.
0
All Courses

From novice to tech pro — start learning today.