File registration
The installer can register installation files during installation and unregister them before they are removed:
- DLLs containing COM server information (including ActiveX controls)
- DLLs and .tlb files containing typelib information
- .exe files containing self-registration code for COM servers or file associations
- Font files
- WinHelp files (.hlp files only, not HTML help .chm files)
All DLL registration is performed out of process with separate executables for 32-bit and 64-bit Windows versions. This allows the installer to register any type of DLL, regardless of the type of Setup stub that is being used.
The following registration actions are supported by the Registration attribute of installation files:
Registration | File type | Description |
---|---|---|
No self-registration | n/a | Do not register the file. |
Use DllRegisterServer | .dll, .ocx | Call the file's DllRegisterServer entry point to register the file, and DllUnregisterServer to unregister it. This is typically used with in-process COM servers such as ActiveX controls and others. |
Use RegisterTypeLib | .dll, .tlb | Register the file with the Win32 API RegisterTypeLib and unregister it with UnRegisterTypeLib. This is typically used with COM type libraries that do not contain their own registration code. |
Run with /RegServer | .exe | Register the file by running it with the /RegServer command line argument and unregister it with the /UnregServer command line argument. This is typically used with stand-alone applications that contain their own registration code. |
Register as Font | .ttf, .ttc, .otf | Register the file as a font on the target system. This is typically used with font files (TrueType, TrueType Collections, and OpenType). |
Register as WinHelp | .hlp | Register the file as a WinHelp file on the target system. This is typically used with WinHelp .hlp files; do not use it with HTML Help .chm files. |
When you add a new installation file to your project, InstallMate will automatically assign a registration order to the file based on built-in heuristics and detected dependencies. However, not all registration dependencies can be statically detected, so if you know that a particular file must be registered before or after another one, then you can set the file's Registration # field to a lower (before) or higher (after) number than the other's registration order.
Files are registered by increasing order number and unregistered in the opposite order. If two files have the same Registration # number, their mutual order may vary between installation sessions. The following order numbers are predefined; you can use order numbers within the gaps left by the predefined numbers to fine-tune the registration process.
Order number | Description |
---|---|
50 | Default for font files |
60 | Default for WinHelp files |
100 | Default for type libraries (.tlb and .dll if not otherwise registered) |
200 | Default for low-level system DLL files |
300 | Default for medium-level system DLL files |
400 | Default for other Microsoft DLL files (ATL, MFC, etc.) |
500 | Default for low-level system OCX files |
600 | Default for medium-level system OCX files |
700 | Default for other Microsoft OCX files |
1000 | Default for non-Microsoft DLL files |
1500 | Default for non-Microsoft OCX files |
2000 | Default for EXE files |