Darwin Descriptor

1. Darwin Descriptor

The Darwin Descriptor issue occurs when a MSI is repackaged using snapshot capture.

Repackaging a MSI is not the best practice but it’s sometime (very rarely) not possible to create a MST over a MSI.

Darwin Descriptor forces the application to pick some information in the original MSI. So, when the MSI is repackaged using snapshot capture, these information are false because the original MSI does not exist anymore.

Darwin Descriptor causes issues with:

  • File associations
  • Start menu shortcuts

.

.

2. File Associations

If the MSI contains file associations, Darwin Descriptor ensures the file association is done with the original MSI.

So, when a MSI is repackaged using snapshot capture, an error occurs when installing because the original MSI is not there anymore.

To solve this issue, delete all the “command” registry entries corresponding to the file associations in the HKEY_CLASSES_ROOT hive of the project.

 

File association keys end by “File”…

DarwinDescriptor01

For each file association key (ending by “File”), open the “command” key.

DarwinDescriptor02

Delete the “command” registry entry.

Warning: Only the registry entry “command” must be deleted. The “<default>” one must remain to keep the file association.

DarwinDescriptor03

When a file association is created, an icon is automatically associated with the file type.

Darwin Descriptor ensures the link between the file type and the icon is done by the original MSI.

So, when a MSI is repackaged using snapshot capture, icons of the new file types are not recognized because the original MSI does not exist anymore.

 

To solve this issue:

  • Retrieve the icons of the application (Located in C:\Windows\Installer\{ProductCode})
  • Copy these icons in a new folder in the installation directory
  • Modify the registry key DefaultIcon for each file association

DarwinDescriptor04

Edit the “<default>” registry entry by putting the path where the icons have been copied:

DarwinDescriptor05

.

.

3. Start Menu Shortcuts

Darwin Descriptor ensures shortcuts created in start menu belong to the original MSI.

When a MSI is repackaged using snapshot capture, start menu shortcuts don’t work properly because they target the original MSI which is not existing anymore.

See the “Command Line” below:

DarwinDescriptor06

To solve this issue, delete all shortcuts of the project and create them again.