View Full Version : Are Merege Modules Key Components ??

10-31-2003, 09:47 AM
Hi !

Just out of curosity, does anyone know whether
Merge Modules are treated as Key Files or not ? What i mean is, if any of the files (contained in MM) are deleted or etc.. WILL auto repair kick in or NOT ?

One more question, does MM gets uninstalled during product uninstallation ?


10-31-2003, 10:39 AM
That is a good question.

Not in my knowledge. I have created my own MM with key files because they need to be registered using COM.

I often rename the files to test my applications out and the autorepair does not kick in.

AS for your second question, I think most MM are set not to uninstall. The behaviour of a MM is up to you when you create your own. I believe that the ones provided with IS will not uninstall.

10-31-2003, 02:25 PM
From previous experience I have found that Merge Modules have problems. At least this pertains to non user created MMs. If you create a merge module and version it correclty and do everything else correctly maybe it will work. For me, I use the BDE MM in my application and when an upgrade is performed IS removes critical files from within the Merge Module, by remove I mean it deletes them from disk...

I run my installation and everything installs, including the BDE Merge Module and neccessary files. I run an upgrade and now at least one of those neccessary files gets deleted from the machine. This behavior has been explained through a log:

Validator: Val0010
Severity: Note
Message: The data in component 'sqlint32.dll.E966F0CB_76B3_11D3_945B_00C04FB1760A' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'FeatureComponents' Record: 'SQLPad;sqlint32.dll.E966F0CB_76B3_11D3_945B_00C04FB1760A'
Ref. Pkg: c:\...\MtInstall.msi

Looking up this Validator error tells me that I need to change the key file in this component in order for it to upgrade correctly. However, since I am in a Merge Module, I cannot change the key files.

So to answer your questions:
- I believe that MMs have key files but are considered themselves to be components.
- I think a repair will only reinstall the MM if a) the MM has been removed from the system (In my case the user removes BDE) or b) if key files are deleted, although how you figure out what files are "key" files in a 3rd party MM is beyond me.
- Uninstalling your application should uninstall the MM, from my experience this happens every time.

Hope this helps.