PDA

View Full Version : Merge Module with Dialogs



snello
04-03-2006, 06:19 AM
Has anyone successfully used a merge module with dialogs ? I create the most basic of merge modules with one interior dialog - build it, validate it and get loads of errors e.g.

ICE03 Error Not a valid foreign key; Table: Control, Column: Control_Next, Key(s): TEST.39BED902_53BE_4B8D_9AA4_FC44FEAB8732.Cancel Control Control_Next TEST.39BED902_53BE_4B8D_9AA4_FC44FEAB8732 Cancel

Now I didn't add all the guid extensions to the fileds - Installshield did that but it seems to cause the validator issues - if I try and actually use the Merge Module I get runtime errors which reflect the validation issues e.g.

Internal Error 2854 on my TEST dialog - suggesting that the NEXT.guid control is undefined .

I've searched high and low on the internet to find some evidence that anyone has actually achieved a MM with a dialog but can't find anything.

Has anyone successfully done this or is this a virtual feature of IS11 that in reality doesn't work ?

Aflaat
04-03-2006, 08:40 AM
I have a few dialogs in merge modules, and yes, you do need the GUIDs on the end of your controls. I know I had to tac on the GUID in a few other places.

In your Control table, is your Cancel control Cancel, or is it Cancel.GUID? I'm not sure what Installshield defaults to anymore, but it works if you make the Control Cancel.GUID

snello
04-03-2006, 03:16 PM
thanks Aflaat - I did eventually get it working by doing the reverse of you - i.e.removing all the extraneous GUID suffixes from none key files - I could not really see any reason why in the Control table the Control column would need a GUID Suffix - to quote the MSI Help "the Control clumn is the name of the Control and this must be unique within the Dialog" - so as long as the Dialog is suffixed with a GUID why should the Control need to be ? Indeed this was the one column IS11 didn't suffix - the problem was it then suffixed the Control_Next column - leaving the install in an inconsistent state - this inconsistency was repeated across several tables and required manual intervention to resolve it all.

I cannot believe this inconsistent state is how IS11 should leave a merge module and can only think it is a bug .