Using GPOs to install packages in the AD domain



Concepts


GPO Model 3

designed Nov. 11, 2003 GPO Structure
AD
|
NM
|
Computers
|
Desktops
/|\
core_apps_GPO app_GPO1 app_GPO2 app_GPO3 ...

app_group1 app_group2 app_group3 ...
computer-x
computer-y
computer-y computer-z
computer-x
...


Creating Packages with Admin Studio

There must be at least three computers involved in this process.

Once these three computers are in place and ready, we can begin the MSI creation process.

  1. From mulligan-vmw-clean, map the packages share to a network drive (e.g. P:).

  2. From mulligan-vmw-clean, map the repackager share to a network drive (e.g. R:).

  3. From mulligan-vmw-clean, launch the repackager with R:\islc.exe and click on Capture an Installation Using Repackaging Wizard and answer the following in the windows to come...

  4. Welcome to InstallShield Repackaging Wizard
    Next

  5. Method Selection

    Installation Monitoring (Recommended)
    • Collect Product Information
      Program File: path to software installation program
      Product Name: Program name
      Version: version number
      The version number should start with 1 and increment each time a new package is made for that version of the software. In practice, most version numbers will remain 1, but if we ever have to recreate a package because of mistakes or patches then the version number would let us track that.
      Next
    Snapshot
    • Snapshot Method
      Multiple Steps (Classic Style)
    • Summary
      Finish
    • Now install the software like you normally would. Be careful not to do anything that is not necessary to the installation as these changes may appear in the resulting package. However, if the software requires a reboot or to be launched the first time, now is the time to do this.
    • From mulligan-vmw-clean, launch the repackager again with R:\islc.exe and click on Capture an Installation Using Repackaging Wizard and answer the following in the windows to come...
    • Welcome to InstallShield Repackaging Wizard
      Next
    • Method Selection
      Snapshot
    • Snapshot Method
      Multiple Steps (Classic Style)
      Analyze system status changes
    • Collect Product Information
      Product Name: Program name
      Version: version number
      The version number should start with 1 and increment each time a new package is made for that version of the software. In practice, most version numbers will remain 1, but if we ever have to recreate a package because of mistakes or patches then the version number would let us track that.
      Next

  6. The repackager window should now come up. This provides an opportunity to double check the files, and registry entries that will be in the package. You can exclude registry entries by right clicking on them and selecting Exclude All. Common things to exclude from the msi registry are...

  7. When ready, select Build -> Build from the top menu.
    If using vmware, do not lock the screen. Doing so may stop the vmware machine.

  8. Be sure to test the msi on different versions of Windows (e.g. 2000, XP) for compatibility.

FAQ

HKCU and Repairing Packages the first time
If there are any entries in HKCU then when a user runs the program for the first time it will have to contact its source msi to repair itself. This can be annoying if the source msi is not available. Look in the Windows Application Log and find the corrosponding error with a really long like '{141BEAD3-3708-47D9-95D7-EF21CDA0E076}'. Then open Developer and open Organization -> Setup Design and look through the components like CreateFolder_Help and check the Component Code for a match. These components can be removed from the package by right-clicking on the component and selecting Remove from feature.

To convert HKCU to HKU (.default) when making and MSI package, a copy of the MSI is kept in c:\windows\installer (its hidden) and when a new user logs in the msi is executed and settings applied to that user. This is how the repair process works.

Version Numbers
Using the InstallShield Repackager Wizard, at the Collect Product Information window, the Version number must be in the format of major.minor.build.revision where major and minor are numbers between 0 and 255 and the build and revision numbers are between 0 and 65535. This is one of the lamest limitations of which I have ever heard.

How to install an MSI manually
The documentation for msiexec lies (as usual with MS) the /T DOES NOT apply a .MST. In order to do that you have to do something like this...
msiexec /i <file.msi> [TRANSFORMS=<file.mst>[;<file.mst>]] /qb

Creating a Clean Machine


To upgrade a GPO

This requires a break from the one-GPO-per-package-version idea that we had evolved. It would now be something like one-GPO-per-package. For example, just have a GPO and group called AOCputty and apply the putty-0.56 and or putty-0.53b package to that GPO.

  1. Right click on the OU and select Properties.
  2. Click on the Group Policy tab.
  3. Select the GPO containing the package you wish to be upgraded and select Edit.
  4. Right click on Computer Configuration -> Software Settings -> Software installation and select New -> Package and choose the MSI.
  5. Now, right click on the MSI and select Properties and then the Upgrades tab and click Add.
  6. Select Current Group Policy Object (GPO) (I still don't know how to upgrade packages selecting A specific GPO. It should allow us to keep our model of one GPO per package version but I have yet to get it to work. Basicly, it never uninstalls the old package.)
  7. Select the package you wish be be upgraded from the list under Package to upgrade.

Selecting the A Specific GPO doesn't work. Here is what happens...


Needs


Notes

Time it took to install OfficeXP and Putty MSI's via GPO assignment.
Machine Processor time
bud PII 450 MHz 13 min.
mulligan P4 3 GHz 8 min.
spaten Celeron 2GHz 8 min.


Terms


References


URL: http://
Today's Date:
Last Modified:
K. Scott Rowe