cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Active Directory "REMOVING INSTALLED SOFTWARE" - How do I stop this

This is the event log for one of our machines this morning:

Event Type: Error
Event Source: MsiInstaller
Event Category: None
Event ID: 11705
Date: 03/08/2006
Time: 7:46:55 AM
User: SYSTEM
Computer: DALPENN
Description:
Product: DM with no Active Integration -- Error 1705. A previous installation for this product is in progress. You must undo the changes made by that installation to continue. Do you want to undo those changes?

For more information, see Help and Support Center at <>

Data:
0000: 7b 36 36 34 44 36 38 38 {664D688 <--Product Code GUID
0008: 31 2d 39 43 45 45 2d 34 1-9CEE-4
0010: 38 36 35 2d 39 46 38 30 865-9F80
0018: 2d 31 32 35 34 33 44 43 -12543DC
0020: 39 39 35 43 42 7d 995CB}

This package was originally installed from here:

\\bcscnet.ca\dfs\dist\apps\CLIENT\Hummingbird\DM Client 5.1.0.5 SR 6 WITHOUT Active Integration\DM with no Active Integration.msi.

The Product Code GUID for the DM with no Active Integration.msi now sitting in this folder is "different":

{32CE6DCB-F2C8-4DCB-8AD5-23A76503295E}

I made a mistake editing the msi package and saving it - thus creating a new GUID. This I think is the problem.

Active Directory is attempting to remove this package and I think the different Product Code GUIDS is causing confusion.

When a user restarts their machine they get a message attempting to Remove DM 5.1.0.5 SR6 without Active Integration and it just hangs for ever!. Unplugging the machine and getting the user back on line seems to work. However a better solution is required.


Solution:

Here is some info from InstallShield

Product Code

This code should only be changed if significant changes are made to the application - changes that warrant to call it a different product. If you are just releasing a new version of your program, the product code should not be changed. Of course, two different products should never have the same product code. If you have two flavors of a product, say "YourApp Express" and "YourApp Professional", these should have different product codes. The same is true for different language versions of a program - they must use different product codes. Windows Installer cannot install two instances of the same product (i.e. two msi packages with the same product code) on the same machine.
Using different product codes is required to allow two applications to coexist on the same computer. If you try to install two msi packages with different package codes, but with the same product code, you will get an error message as shown in figure 1.

Figure 1: Reinstallation error message

To overwrite the existing product with a newer version, you should perform a small or minor update. This requires that you set the following properties on the msiexec command line:
msiexec /i Yourapp.msi REINSTALLMODE=vomus REINSTALL=ALL
The important part is the "v" in the reinstall mode settings. It forces the use of the new msi file instead of the cached copy. Therefore it can't be set inside the package. The rest of the REINSTALLMODE flags make sure that existing files get updated, new files get installed, registry entries are re-written and shortcuts are created. REINSTALL=ALL means that only those features, that were selected by the user during the install of the old version get updated. Unselected features should not be added.

Here is the code for a possible batch file for our user and others:

msiexec /i "\\bcscnet.ca\dfs\dist\apps\CLIENT\Hummingbird\DM Client 5.1.0.5 SR 6 WITHOUT Active Integration\DM with no Active Integration.msi" REINSTALLMODE=vomus REINSTALL=ALL

Any thoughts or comments on the best way to stop this active directory "removal" process.

On fresh new builds of machines the new GUID {32CE6DCB-F2C8-4DCB-8AD5-23A76503295E} installs just fine - it is the old machines that seems to be caught in a state of limbo!

Thanks for any help on this - it has been a few stressful days on l
(1) Reply
I made a mistake editing the msi package and saving it - thus creating a new GUID. This I think is the problem.

Active Directory is attempting to remove this package and I think the different Product Code GUIDS is causing confusion.


True. It's not the AD, it's the Windows Installer trying to locate the package for uninstall (typical if the package was installed in advertised mode). Further, the new codes are only created when you build packages, not when you save them.

Even though you may NOT know the product code, there exists a cached version of the package at %windir%\Installer. Locate the *.msi of the product and find the package code. How? When you click on each package, the status bar shows some information. Verify if the info is of your old package. If not, go to Properties>>Summary of each *.msi that exists at this location and find your package.

You can open this package in your Editor or ORCA and find the product code. Run the uninstall mode from the command-line for this product: msiexec /x {Product Code}
[You can also find the Product Code from the registry: Add/Remove section of HKLM]

The package may again look for source location and source file, furnish the above info at your UNC location. The uninstall should be successful.

Also, if you installed this package from SMS, the primary/secondary site (where you store your package for distribution) should have the old package unless you already updated the package at that location!

Is this something you were asking about?

NOTE: Always make a back-up of original items before you apply changes so that you can revert it later. Avoid having test installs in a PROD environment.