Windows Installer proxy information not correctly registered

Written by Ingmar Verheij on February 11th, 2010. Posted in Deployment

I’m creating a new deployment for a 2008 R2 Remote Desktop Server using Altiris. Most of the jobs that are executed are installation jobs using the Windows Installer.
Altough the first installation (after a reboot) goes well, the next installation always fails because the installer is unable to connect to the Windows Install object.
In the event log are several events which occur within 2 seconds of each other:
Source : User Profile Service
Event ID : 1530
Level : Warning
General : Windows detected your registry file is still in use by other applications or services. The file will be unloaded now. The applications or services that hold your registry file may not function properly afterwards.

DETAIL -
7 user registry handles leaked from RegistryUserS-1-5-21-2413968531-3215199331-4183453847-1621:
Process 4224 (DeviceHarddiskVolume1WindowsSystem32cmd.exe) has opened key REGISTRYUSERS-1-5-21-2413968531-3215199331-4183453847-1621
...etc. etc...

Source : User Profile Service
EventID : 1530
Level : Warning
General : Windows detected your registry file is still in use by other applications or services. The file will be unloaded now. The applications or services that hold your registry file may not function properly afterwards.
DETAIL -
1 user registry handles leaked from RegistryUserS-1-5-21-2413968531-3215199331-4183453847-1621_Classes:
Process 6708 (DeviceHarddiskVolume1Program Files (x86)DeNamiKDeNamiK SFWDNKFrameWork.exe) has opened key REGISTRYUSERS-1-5-21-2413968531-3215199331-4183453847-1621_CLASSES
Source: MSIInstaller
EventID : 1014
Level : Error
General: Windows Installer proxy information not correctly registered
Source: MSIInstaller
EventID : 1015
Level : Warning
General: Failed to connect to server. Error: 0x80004005

The problem is caused by the “User Profile Service” which is the new version of the “User Profile Hive cleanup utility (UPHClean)”. This service somehow thinks that the process is terminated and didn’t close the registry hives (foei!), so the service will do this for the application. From the perspective of the service this is ordinary house-keeping, but the process just lost his connection to the registry hives! Forcibly unloading the hive results in all kind of (unpredictable) error messages, like the event of the Windows Installer.
Disabling the “User Profile Service” is not an option because this service loads and unload the user profiles for all users. So it’s not just a “new” version of UPHclean, you really need the service in order to log in the system.
There are multiple work-arounds for this problem:
– Pre-load the profile with LoadProfile using a tool created by Remko Weijnen which you can find here;
– Run the process under Local System;
– Insert a sleep in the Altiris job.
For now the LoadProfile solution is the most effective work-around, but I can’t say it’s a beauty. Let’s hope Microsoft will confirm this problem and solve it in a hotfix or service pack.
More information about the problem can be found here, here and here.
Ingmar Verheij

Ingmar Verheij

At the time Ingmar wrote this article he worked for PepperByte as a Senior Consultant (up to May 2014). His work consisted of designing, migrating and troubleshooting Microsoft and Citrix infrastructures. He was working with technologies like Microsoft RDS, user environment management and (performance) monitoring. Ingmar is User Group leader of the Dutch Citrix User Group (DuCUG). RES Software named Ingmar RES Software Valued Professional in 2014.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle Plus

Tags: , , , , ,

Leave a comment

*

Donate

%d bloggers like this: