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

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

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
Answered 07/18/2005 by: rikx2
Purple Belt

Please log in to comment
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.
Answered 07/19/2005 by: MSIPackager
Third Degree Black Belt

Please log in to comment
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.
Answered 07/19/2005 by: brenthunter2005
Fifth Degree Brown Belt

Please log in to comment
0
Good point well made!

Presumably there is more to it though - or it's a bit of a bizarre question [;)]
Answered 07/19/2005 by: MSIPackager
Third Degree Black Belt

Please log in to comment
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)[&:]
Answered 07/19/2005 by: BobTheBuilder
Purple Belt

Please log in to comment
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?
Answered 07/20/2005 by: Bladerun
Green Belt

Please log in to comment
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.
Answered 07/20/2005 by: brenthunter2005
Fifth Degree Brown Belt

Please log in to comment
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.
Answered 07/20/2005 by: BobTheBuilder
Purple Belt

Please log in to comment
Answer this question or Comment on this question for clarity