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   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


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.
Answered 10/28/2010 by: murali.bhat
Purple Belt

Please log in to comment
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
Answered 10/28/2010 by: rajdera1
Orange Belt

Please log in to comment
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.
Answered 10/29/2010 by: VBScab
Red Belt

Please log in to comment