Application Management event 108 is logged even though an application is not deployed


Symptoms


In the Application log on members of your domain, you may receive Event log entries that are similar to the following entry:

Event Type: Error
Event Source: Application Management
Event Category:None
Event ID: 108
Date: date
Time: time
User: sid
Computer: computer name
Description:
Failed to apply changes to software installation settings. Software changes could not be applied. A previous log entry with details should exist. The error was There is no software installation data object in the Active Directory.

Event Type:Error
Event Source:Userenv
Event Category:None
Event ID:1000
Date: date
Time: time
User:NT AUTHORITY\SYSTEM
Computer: computer name
Description:
The Group Policy client-side extension Application Management was passed flags (0) and returned a failure status code of (-2147221143).
Because the events do not contain the policy name, you must use the procedure that is described in the following article to create an Appmgmt.log file:

246509 Troubleshooting Program Deployment By Using Verbose Logging
After you create an Appmgmt.log file, you see an entry that is similar to the following entry:

01-04 18:31:20:523
The following policies are to be applied, flags are 0.
policy name (unique identifier {3F9C76AC-3EB5-401D-9953-49EA9CD37829})
System volume path =
\\ROOT.com\SysVol\ROOT.com\Policies\{3F9C76AC-3EB5-401D-9953-49EA9CD37829}\User
Active Directory path =
LDAP://CN=User,CN={3F9C76AC-3EB5-401D-9953-49EA9CD37829},CN=Policies,CN=System,DC=ROOT,DC=com
SW-deploy (unique identifier {68B43569-A87F-4376-966B-69FDED0C41A0}) System volume path =
\\ROOT.com\SysVol\ROOT.com\Policies\{68B43569-A87F-4376-966B-69FDED0C41A0}\User
Active Directory path =
LDAP://CN=User,CN={68B43569-A87F-4376-966B-69FDED0C41A0},CN=Policies,CN=System,DC=ROOT,DC=com
Set the Active Directory path to LDAP://CN=Class
Store,CN=User,CN={68B43569-A87F-4376-966B-69FDED0C41A0},CN=Policies,CN=System,DC=ROOT,DC=com;LDAP://CN=Class
Store,CN=User,CN={3F9C76AC-3EB5-401D-9953-49EA9CD37829},CN=Policies,CN=System,DC=ROOT,DC=com;.
Enumerating applications in the Active Directory for user user name with flags 3. Cannot bind to the Active Directory to enumerate applications, error code 80040169. Failed to apply changes to software installation settings. Software changes could not be applied. A previous log entry with details should exist. The error was %2147746153.

Software installation extension returning with final error code 2147746153.

Cause


When a software package is removed from a group policy, only a few flags are changed in the underlying Active Directory objects for the package and policy. There may be situations where these objects are removed but the object for the group policy still has information that a software distribution policy is configured.

Resolution


In Appmgmt.log you may see a name, a policy GUID of the policy with the problem, and information about whether it was a User or Computer policy.

To resolve an incorrectly-logged event, delete the policy for which the event is being logged, and then re-create a new policy. If you must keep the policy, you should complete the following steps. First, determine whether or not there is still a program configured for either the Computer or User part of the policy which you may want to keep. You must make different changes later if you want to keep the policy extension for the other piece of the policy.

To remove the information about the policy extension:

  1. At a command prompt, and export the Active Directory object information for the policy to a LDIFDE file. To do so, use the ldifde -f policy.ldif -d cn=policy GUID from above,cn=Policies,cn=System,dc=domain name command.
  2. Modify the Policy.ldif file so that the entry for the Application Deployment Group Policy extension is removed:
    1. Open the Policy.ldif file in Notepad.
    2. Look for the first empty line in the file. The line after the gap should begin with "CN=Machine". Delete this line, and anything below this line.
    3. On line two, replace "changetype: add" with "changetype: modify".
    4. Locate the lines that contain a string that starts with "[{C6DC5466-". This is the entry to remove.
    5. If the GUID appears under both "gPCUserExtensionNames" and "gPCMachineExtensionNames", decide which one you want to remove, or whether you want to remove both.
    6. For the objects, remove the attributes that you do not want to touch, including the policy part you do not want to touch. For example, for "gPCMachineExtensionNames", remove the line with the extension name and all of the lines with GUIDs below it until you have the next attribute (most probably instanceType). Also remove the "cn" attribute from the list.
    7. In the lines for the policy type you have selected, remove the line with "[{C6DC5466-785A-11D2-84D0-00C04FB169F7}{BACF5C8A-A3C7-11D1-A760-00C04FB9603F}]". For example, a LDIFDE policy dump looks like this:

      dn:
      CN={68B43569-A87F-4376-966B-69FDED0C41A0},CN=Policies,CN=System,DC=ROOT,DC=com
      changetype: add
      cn: {68B43569-A87F-4376-966B-69FDED0C41A0}
      displayName: SW-deploy
      flags: 0
      gPCFileSysPath:
      \\ROOT.com\SysVol\ROOT.com\Policies\{68B43569-A87F-4376-966B-69FDED0C41A0} gPCFunctionalityVersion: 2
      gPCUserExtensionNames:

      [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{0F6B957E-509E-11D1-A7CC-0000F87571E3}]

      [{A2E30F80-D7DE-11D2-BBDE-00C04F86AE3B}{FC715823-C5FB-11D1-9EEF-00A0C90347FF}]

      [{C6DC5466-785A-11D2-84D0-00C04FB169F7}{BACF5C8A-A3C7-11D1-A760-00C04FB9603F}]
      instanceType: 4
      distinguishedName:
      CN={68B43569-A87F-4376-966B-69FDED0C41A0},CN=Policies,CN=System,DC=ROOT,DC=com
      objectCategory:
      CN=Group-Policy-Container,CN=Schema,CN=Configuration,DC=ROOT,DC=com
      objectClass: groupPolicyContainer
      objectGUID:: M12pAl3neEytiqUAbvsqXQ==
      name: {68B43569-A87F-4376-966B-69FDED0C41A0}
      showInAdvancedViewOnly: TRUE
      uSNChanged: 928513
      uSNCreated: 456500
      versionNumber: 589824
      whenChanged: 20020104125327.0Z
      whenCreated: 20010802134526.0Z
      The resulting import file (if you want to remove the GUID for the user part of the policy) would look like this:

      dn:
      CN={68B43569-A87F-4376-966B-69FDED0C41A0},CN=Policies,CN=System,DC=ROOT,DC=com
      changetype: modify
      replace: gPCUserExtensionNames
      gPCUserExtensionNames:

      [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{0F6B957E-509E-11D1-A7CC-0000F87571E3}]

      [{A2E30F80-D7DE-11D2-BBDE-00C04F86AE3B}{FC715823-C5FB-11D1-9EEF-00A0C90347FF}]
      -
      Note that all of the attributes except "gPCUserExtensionNames" are missing, and that one line with GUIDs is missing. Also, look at the file syntax changes (modify instead of add plus new replace).

      If you have any problems editing these LDIFDE files, please contact Microsoft Product Support Services for assistance.

  3. When the import file is finished, load it into the Active Directory by using the ldifde -i -f policy.ldif command.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.