DLL/OCX Registration |
Previous Top Next |
Virtual Registry (Recorded script) |
System Extract + System Register |
|
Requires Installer to be used? |
No |
Yes |
Changes System Registry? |
No |
Yes |
Registry Keys are left in system registry on uninstall? |
No |
Yes |
Install mail fail if registry access restricted? |
No |
Yes |
Extracts file to system directory? |
No |
Yes |
May cause other applications to fail? (if they try to use the registered component) |
No |
Maybe |
Other applications can use component) |
No |
Yes |
Other applications can cause your application to fail? (if incompatible components/versions installed) |
No |
Yes |
DLL file is left behind on uninstall? |
No |
Yes |
DLL Contents protected against reverse engineering & modifications? |
Yes |
No |
· | The DLL/OCX file does not need to be extracted to disk so it is more secure against reverse engineering and tampering. |
· | System DLL files do not require updates, meaning your application will never cause other applications to fail. |
· | A system reboot is never required even if older versions of the component are in use by other applications. |
· | Smaller install foot-print because DLL remains compressed in the EXE |
1. | Invoke the DLL's DllUnregisterServer method to clear it from the system registry. |
2. | Invoke the DLL's DllRegisterServer so the DLL will add entries back to the system registry. During this process, Thinstall records any registry keys created. These keys form the virtual registry which will be available to the application when it runs. |
3. | The registry keys are recorded such that absolute file paths pointing to the DLL in question are modified to point to the virtual location of the DLL. For example, c:\windows\system32\mydll.dll is modified to become
%InstallPath%\mydll.dll (assuming the DLL's virtual path is %InstallPath%) |
4. | The virtual registry keys are automatically included in the resulting built EXE. |
1. | Load the Virtual Registry keys from its archive. Virtual registry keys are superimposed over the real system registry without modifying. |
2. | Virtual Registry Keys containing Thinstall macros are expanded at load-time (for example %Installpath% becomes the directory where the EXE is running). |
3. | Thinstall intercepts all of the application's registry, COM, and ActiveX activity so that it will access the virtual registry first. If a virtual registry key is not found, then the system registry is consulted. |
· | Virtual Path is changed to %SystemSystem% (expands to c:\windows\system32 or equivelant - about macros) |
· | Extract on Install is enabled ( Extraction / Caching Submenu) |
· | Overwrite disk version if newer internal is enabled ( Extraction / Caching Submenu) |
Note: If the DLL contains version information, Thinstall will check the DLLs version against the disk version first. If no DLL version is present then Thinstall checks the two file's creation dates. Thinstall will not overwrite a newer version that resides on disk. |
· | Don't delete extraction / Cache during Install is enabled. Because other applications may need to use the DLL or OCX after your program has been uninstalled, Thinstall will leave the file behind. |
1. | Check the %systemsystem% directory to see if the DLL/OCX file already exists. If it does, make sure it is an older version. If the same version or a newer version already exists, then skip to step 3. |
2. | Extract the internal DLL/OCX to the system directory. |
3. | Load the DLL and call its DllRegisterServer function. This causes the DLL to add registry entries for itself so that applications can use the COM/ActiveX controls it provides. |
4. | Unload DLL |