/build/static/layout/Breadcrumb_cap_w.png

Deploy an msi package to a subset of computers

I have developed an msi package that we are going to deploy to our staff of almost 240 computers.

This package will be deployed via active directory and group policy as a computer based policy.

For initial testing we setup a pilot group of about 40 users / computers who have received this package already.

My question: How can I deploy this package to the rest of the 200 odd people as a computer based policy "skipping" the 40 odd who already have the package.

I guess what I want to do is have the package query for the existence of a specific file in a specific folder and if it exists "do not" install the package - in other words the package is already been deployed.

Here is the folder and file that I would want to test:

C:\Program Files\Microsoft Office\Office\Startup\CDWord2K.dot

In other words, if the CDWord2k.dot file exists in this location DO NOT INSTALL the package just skip it and continue with the logon sequence.

If the file does not exist, install the package.

Thanks for any insight into this one.


John Falloon

0 Comments   [ + ] Show comments

Answers (8)

Posted by: rikx2 18 years ago
Purple Belt
0
hi zeke,
if your using WPS then you can use the Terminate Installation custom action to terminate the installation. You can add this custom action anywhere in the User Interface or Execute Immediate sequences in the installation. Or you can manually create a custom action type 19 by editing Windows Installer tables.

regards
rick
Posted by: MSIPackager 18 years ago
3rd Degree Black Belt
0
Or you could use the appsearch & signature tables to check the existence of that file then the launch condition table to abort the installation (with an information message) if required.

Cheers,
Rob.
Posted by: brenthunter2005 18 years ago
Fifth Degree Brown Belt
0
You don't need to do any checking at all within the MSI package, because the computers will already know that they have the package already.

All you need to do is add the rest of the computer accounts (or a group with all the computer accounts) into the security of the GPO and thats it.
Posted by: MSIPackager 18 years ago
3rd Degree Black Belt
0
Good point well made!

Presumably there is more to it though - or it's a bit of a bizarre question [;)]
Posted by: BobTheBuilder 18 years ago
Purple Belt
0
You may be able to use WMI filtering. (assuming the need in this case).

There is a lot if information available on microsoft's site. Here is an article that provides a decent overview of the concept. Another tidbit here.

If you need help finding the property you are looking for among the available WMI classes. You can simplify your task by installing WMI Administrative Tools. One of them, " CIM Studio " provides a familiar Internet Explorer-based interface for allowing browsing and searches among WMI properties and classes.

(Edited to add more links ... like this one for AdminScriptEditor The WMI Wizard looks cool)

Although now that I am thinking about it WMI may not help for this specific instance (due to the requirement to NOT do somthing based on a WMI value). It's still a nice way to get granular with application of GPO based on WMI properties though.

There is another possibility ... using exception groups. At TechEd this year the MS guys swear that using machine groups for Group filtering (exception groups) will work under Windows XP (it didn't under Win2k). That is what I am planning to test in the next few weeks.
(Edited to correct my statement about using WMI to solve this problem - which may not actually work for this one)[&:]
Posted by: Bladerun 18 years ago
Green Belt
0
So you have 40 people in the group to install the app in AD?


Why not just add all domain computers to the group & call it a day?
Posted by: brenthunter2005 18 years ago
Fifth Degree Brown Belt
0
@Bladerun - thats exactly what I'm talking about. [:)]

@Zeke - you don't need to worry about all this "WMI filtering" and "Terminate Installation custom action" and "appsearch & signature tables" stuff as its just Active Directory Group Policies etc.
Posted by: BobTheBuilder 18 years ago
Purple Belt
0
Mr B you are of course correct that 99% of time all you need to do is push the app to the whole group. The MSI will just run quickly through it's advertising (do a mini install) on machines where the app was manually installed and all is good.

But I can see where you may have a poorly written MSI from a vendor that resets user settings back to default, overwrites data files and the like. Those apps are where you sometimes may need to think a little creatively with Policy or add some custom actions to an mst ect.

Zeke, I would do a test push to a couple of machines first just to be sure that the GPO driven MSI installs cleanly over the manually installed one. (My assumption is that it was a manual install to the pilot group)

If you used GPO to push to the Pilot group then What Bladerun and Mr. B said is entirely correct, just add more users to that group. The newly added users will recieve the app, users already in the group will see no change at all.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ