Friday, July 20, 2007

Advertising info

The Darwin Descriptor for COM Advertising is stored as the InProcServer32 registry value.
The advertised shortcut's TargetPath is a combination of the ProductCode & Darwin Descriptor + some tags. Open the shortcut using ex. notepad and you'll find the descriptor there.
A Darwin Descriptor is an encoded string and when decoded produces a combination of the ProductCode, Feature & ComponentId(s).As the Darwin Descriptor is stored as a "REG_MULTI_SZ" entry it can contain more then one descriptor where other packages may have installed the same component.
You should be able to find Darwin Descriptors under the following locations

HKCR\CLSID\(clsid)\InprocServer32
HKCR\Installer\AssembliesHKCR\Installer\Components
HKCR\Installer\Win32Assemblies
HKCR\(progid)\shell\(mycustomname;)\command
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\(sid)\Products\(compressed)\Features(targetpath)

Contributor: AngelD (from juice.altris.com)

3 comments:

curious said...

So what is the encoding mechanism for the Darwin Descriptor?

Piyush Nasa said...

Well I don't know that.. I think you should contact the team who created it..

Piyush Nasa said...

"Darwin Descriptor," is actually an encoded representation of a specific product, component, and feature. If this extra value exists, Windows Installer will decode the data, and use it to perform checks against that product and component. If the component is found to be missing or corrupt, Windows Installer will launch a repair to restore the missing file or data, and finally launch the referenced application as normal, passing the appropriate command-line options to it.