views:

19

answers:

0

Windows 7 is caching some of the COM class information. Older OSs didn't do this. After the OS looks up the HKCU\Software\Classes\CLSID{GUID}\LocalServer32 value, it caches the value, and doesn't look it up again.

When we update our software, we place the new updates in a different directory, and then update the HKCU\Software\Classes\CLSID{GUID}\LocalServer32 value to reflect the new path. The next time the software runs, it will use the latest files if running under older Windows OSs. However, on Windows 7, it will continue to use the older file, until the OS is rebooted.

I ran process monitor, and discovered that under Windows 7, it never reads the registry key again, after the first read. On older OSs, it reads that key every time.

My question is: Is there any way to force Windows 7 to re-read the LocalServer32 information from the HKCU hive each time a new out of proc COM object is created?