Hi All

I am new to packaging domain . Have a few queries.
How can i register my dll's ??
How does self heal actually happen?

0 Comments   [ + ] Show comments

Answers (3)

Posted by: murali.bhat 10 years ago
Purple Belt
There are multiple ways to register a dll.

1. You can use regsvr32 <dll path>
2. If you are registering within msi file, you can use component registration technique. (Right click on the component where dll resides and tick mark on the dll registration)
3. Capture the registry keys (HKCR keys most of the times containing CLSID, ProgID, Interface etc) and put those keys in the component where dll resides. You can use tools like Wisecom capture to capture registry keys. This is the suggested way of dll registration in msi.

The critical component of the application (like exe file, important dll's, reg keys etc) should be marked as key path in msi. If there is a mismatch between the critical files in msi and the system, the feature corresponding to the component gets reinstalled. This technique is called repair or self healing.
Posted by: rajdera1 10 years ago
Orange Belt
Depends on the requirement if you need to package it inside the msi you can use self reg table,but the problem is while uninstalation it may cause an issue
You can write a custom action to register dll ,use cmd regsvr32 /s "name.dll"

Self heal depends on the key path mainly in case of a advertised shortcut,when the shorcut is launched the installer checks if the all the key paths of the current feature is present in case its not present the msi triggers self heal and repairs the feature
Posted by: anonymous_9363 10 years ago
Red Belt
Use the advertising tables.

The SelfReg table, RegSrv32 and 'MSIExec /Y [file]' methods are The Spawn Of The Devil and the mark of the amateur packager. Do NOT use them. Why not? Easy: they rely on the presence of any dependencies. If any are missing, the registrations will fail.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ