PDA

View Full Version : Custom Action in Merge Module



AshishKolhe
01-19-2005, 01:10 AM
I have created custom action in my merge module. When i include that merge module in main installation i do get these custom action & thus i can add these in sequence to execute these action.

Does any one know how these custome actions will get fired in merge module it self? (i want to deploy my merge module as an individual entity) :confused:

Thanks in advance.

TsungH
01-19-2005, 11:26 AM
Unfortunately, a merge module cannot be installed alone. For more information, please read up on Merge Modules (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/merge_modules.asp).

AshishKolhe
01-20-2005, 06:57 AM
Hi Tsung-Huang Hsieh,

Thanks for a quick reply. :)

Actually what i want is, I will create a merge module and my client will add this merge module into his installation. I don't want overhead on client to execute the custom action from my merge module.

Client should treat this merge module (with custom action) as generic merge module and he will just add that in his installation as a common merge module(e.g. crystal report, ADO etc.).

Will it be possiable??

Thanks & Regards,
Ashish

TsungH
01-20-2005, 11:12 AM
If I understand you correctly, you want to allow others to use your merge module, and not to have the custom action in merge module executed. In that case, you will have to provide that functionality in your merge module to allow conditional launch of your custom action.

AshishKolhe
01-21-2005, 01:04 AM
Sorry i think i was confusing... :)

I want to allow others to use my merge module, and the custom action in merge module should be executed. But i don't want my user to add the custom action from my merge module in their main installation sequence.

Example. I want to create a merge module to install Adobe Reader. (As Adobe reader is not available in merge module.)

What i will do is, create a merge module add the setup.exe (AdbeRdr70_enu_full.exe) in my merge module & then create a custom action to execute this AdbeRdr70_enu_full.exe

Now i don't want my user (who is creating a main installation and will need adobe reader to be install) will only add this Adobe merge module and Adobe should be installed on his target machine without adding my merge module's custom's action in his main installation sequence.

Hope this is clear.

Thank you very much for your replies.

Regards,
Ashish

TsungH
01-21-2005, 12:30 PM
Yes, it is doable. If you have not yet, please refer to Using Custom Actions (http://helpnet.installshield.com/Robo/BIN/Robo.dll?tpc=/robo/projects/installshield10-5helplib/IHelpCustomActions.htm).

DeadlyTrev
02-02-2005, 03:28 AM
Yes, it is doable. If you have not yet, please refer to Using Custom Actions (http://helpnet.installshield.com/Robo/BIN/Robo.dll?tpc=/robo/projects/installshield10-5helplib/IHelpCustomActions.htm).

I have the same problem as Ashish. I have referred to the 'using custom actions' information buf fail to see how this will solve our problem.

We want our clients to be able to include our merge module into their setup AND HAVE NO FURTHER ACTION REQUIRED ON THEIR PART. The solution outlined requires our clients to a) include our merge module and b) for each custom action we included in the merge module, manually add it to each relevant sequence in the correct location.

Is there a solution to merge modules including custom actions where the end-product MSI doesn't have to do anything about them ?????

Best regards,
DT.

AshishKolhe
02-02-2005, 10:45 AM
You can try adding entry in ModuleInstallExecuteSequence table (from DirectEditor).

E.g.

Suppose you want to execute calc.exe only while installing ur application, make an entry in ModuleInstallExecuteSequence table

Calc.AD83050F_5ECE_4444_BDEF_BD43D13D1E36 (Action column)
InstallFinalise (BaseAction column)
1 (After column)
Not Installed (Condition column)


This worked for me
:)