Upgrade software package installed with GPO
Since recently I have been using AD policies to deploy software packages through GPO on a small domain. This had been working well, but I am not sure what is the correct procedure for upgrading a package.
Assuming that I have initially deployed X, version a through GPO named "Install X". All works well and with time version b is released. (Assuming that the .msi of new version can perform an upgrade of already installed version) I believe that I have the following options for performing the upgrade:
replace original .msi in the distribution point and then through Group Policy Editor (open GPO "Install X"), under Computer Configuration/Software Settings/Software Installation assign a task to 'Redeploy application'
use Group Policy Editor to create a new package in Computer Configuration/Software Settings/Software Installation for the new version and specify which older package should be upgraded by this one (on Upgrade tab select package for version a; options to uninstall existing or do an upgrade)
use Group Policy Editor to remove a package for version a (with immediately uninstall option) and add a new package for version b
Questions:
- What are disadvantages of the 1st option?
- Is the 2nd option a proper/recommended way of upgrading packages distributed through GPO?
- Are there some other subtleties, best practices or some general advice regarding upgrading packages through GPOs?
EDIT: Also, I have only properly tested 3, so if I am missing some important step in 1 and 2 I would appreciate pointers. :)
I have done option 2 and 3. Mostly use option 2 unless I know the previous MSI package gave me problems. Option 1 seems just a hack way to do things as its not designed for that. I always leave my old MSIs in the deploy location, just in case. I have also noticed with option 2 it will automatically detect previous version and automatically upgrade the previous package even if you don't manually set it to (Windows Server 2008 R2) when the MSI is properly configured.
I'd recommend taking a look at SCCM. It's a much better product to push out applications and their respective updates, especially if you're just dealing with Windows boxes. If you decide to go that route, the MYITForums MSSMS list is one of the best mailing lists out there for help.