?
Solved

GPO :: Application Installation :: works only when old version is not installed

Posted on 2007-07-26
7
Medium Priority
?
212 Views
Last Modified: 2012-05-05
I have received from our vendor instructions on how to push out their Fire Dept. staff scheduling software via AD.  There is a configuration file which allows me to direct the client to the server, and the instructions work just fine in linking the GPO to a test OU.  The application installs just fine.

The problem is, I found out that this only works when the older version of the software is not installed on the computer?  I'm new at working with GPOs, so if some folks could please share some ideas on how I can dynamically remove the old software and run the new package to upgrade, all in one swoop?

The funny thing is, with the old version installed and I run the .msi to ungrade to the new one, this works perfectly.  I'm wondering why it doesn't work with the GPO I use successfully when the application isn't installed?

Thanks, Dan
0
Comment
Question by:danfiggolf
  • 3
  • 3
7 Comments
 
LVL 2

Expert Comment

by:ngmarowa
ID: 19580737
Try investigate the command-line arguments of you msi file. Hopefully there is an option to uninstall first or create computer groups (one group with the old software and another group without the old software) and use these with GPO to do selective installations of the software
0
 

Author Comment

by:danfiggolf
ID: 19582525
unfortunately, I found out from the Active Directory side, if you are using the "Uninstall this application when it falls out of the scope of management", this will only let you uninstall the previous application if it was originally installed by AD.  In this case, the pervious version was installed manually, and you can't send any arguments to the msi file when using the GPO "Software Installation" process.

The good news is, once you have pushed out the application via AD, subsequent 'upgrades' can be centrally managed by AD.  There is an 'Upgrade' tab in the "Software Installation" dialog box that lets you point to the upgrade msi and it will first uninstall the out-dated application.

I can run this operation from the command-line:
MsiExec.exe /x {7DAFE0B2-ECEC-4F51-81E4-40983AF036F8} /qn /l msi_swf101116.log
using the product key and it uninstalls the application.  Has anyone tried this from a VBScript, and possibly could share this, please?  Ideally, if I could do this when everyone has left their PCs on at the fire stations, I can then follow-up with the GPO operation to install AD managed version.
0
 
LVL 38

Accepted Solution

by:
Shift-3 earned 2000 total points
ID: 19583092
You could put that msiexec command in a .cmd file and run it as a Startup (not logon) script through the Group Policy node Computer Configuration\Windows Settings\Scripts\Startup.  Alternatively you could run it remotely with PsExec.
http://www.microsoft.com/technet/sysinternals/utilities/psexec.mspx
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:danfiggolf
ID: 19583467
Regarding this solution, "You could put that msiexec command in a .cmd file and run it as a Startup (not logon) script", would this run before the GPO 'application installation' function?  I thought about the PsExec method, but this is if the PC is logged on at the time of this execution, right?  If your first suggestion would work in a way that it would do it before the MSI is excuted via GPO 'Software Installation', that will be the answer.
0
 
LVL 38

Expert Comment

by:Shift-3
ID: 19585137
For PsExec the target machine just has to be turned on, not necessarily logged on.  The command runs under your credentials unless you specify different ones with the -u and -p switches.

I don't know of a way to make a Startup script automatically run before Software Installation.  According to the following article they are normally processed afterwards:
http://technet2.microsoft.com/windowsserver/en/library/274e614e-f515-4b80-b794-fe09b5c21bad1033.mspx#Startup_and_logon

It would be safest to run the script GPO first, reboot all machines, confirm that the old software uninstalled, and then add the new Software Installation package.
0
 

Author Comment

by:danfiggolf
ID: 19587111
Does GPO "link order" allow you to first run one GPO such as an uinstall scriipt, then wait until that has completed then allow you to launch the "software installation" GPO?
0
 
LVL 38

Expert Comment

by:Shift-3
ID: 19587123
I believe all GPOs are merged, following the rules of precedence, before any processing beings.  This might be worth experimenting with on a test OU though.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Had a business requirement to store the mobile number in an environmental variable. This is just a quick article on how this was done.
This process allows computer passwords to be managed and secured without using LAPS. This is an improvement on an existing process, enhanced to store password encrypted, instead of clear-text files within SQL
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles to another domain controller. Log onto the new domain controller with a user account t…
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …
Suggested Courses
Course of the Month17 days, 10 hours left to enroll

830 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