What is meant by shared & permanent dll or ocx.
What is meant by shared & permanent dll or ocx. If any dll , ocx placed in system folder so it’s necessary to share & permanent it’s linked with merge module?
Answers (1)
- Shared: object is (expected to be) used by multiple apps. In remove scenario you want to be carefulle deleting it. Therefore for shared there is a filecounter system in Windows counting the number of times it is referenced. If larger then zero on uninstall the file remains on the system
- Permanent: The object is expected to be on ths system in all scenario's so in a uninstall the item should remain on the system. On uninstall the msi therefore does not even try to remove the item.
With the merge module is that objects are placed on the system in the way the way the programmer creates them. It implements the placement of dll and ocx in such a way that these files are guarded against unwanted removal.
Placing ocx of dll that are part of a merge module directly with a windows installer package breaks the mechanims designed to make certain that critical components are not removed from a system.
You can work without using merge modules. In that case yuo should flag all ocx and dll in systemfolders and other shared locations as permanent to make sure other apps don't run into problems.