cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Peter_Kosenko
Level 7

Missing Dialog Scripts in InstallShield 2011

I was looking for a copy of the AskPathDlg.rul script in Installshield 2011. It seems that all of the Dialog scripts are missing now. They used to be in the Script\isrt\src directory. All that is left THERE is a pathetically small number of SQL dialogs. Only the object library is now supplied for the other standard installscript dialogs. This means that new InstallShield users are going to have more difficulty CUSTOMIZING dialogs. And the rest of us will have to grab our old (in our case IS2008) dialog scripts and hope that they work.

Is there a reason that installshield decided to make life harder? Do users have to pay a hefty user support fee in order to get access to "proprietary" Installshield dialog scripts now?
Labels (1)
0 Kudos
(3) Replies
DebbieL
Level 17

In InstallShield 2010, a new Dialog Source option was added to the event class drop-down list in the InstallScript view. If you select this new option, the event handler drop-down list shows all of the built-in InstallScript dialogs. If you want to customize any of the built-in dialogs, you can select any dialog in the list; when you do this, the default code is added to the script pane, and you can modify its code as needed. This makes it easy to find and override any default dialog code. This is the recommended way of customizing InstallScript dialogs in InstallShield 2010 and later.

When that improvement was introduced, most of the InstallScript code for the built-in InstallScript dialogs was moved from individual InstallScript files (.rul) to a single ISRTScriptDialogs.rul file. Modifing this ISRTScriptDialogs.rul file directly is not recommended. This change was described in the "What’s New in InstallShield 2010" help topic.
0 Kudos
Peter_Kosenko
Level 7

That's good to know. As you can see, we skipped Installshield 2010, or I would have found out about this earlier.

Now I can see all the old dialog scripts in ISRTScriptDialogs.rul

I notice that CONVERTED 2008 projects give the following error when you try to select the drop-down option for cloning (?) dialog scripts:

"This Project does not define support for adding dialog sources from the InstallScript Editor. Attempting to add dialog source throught the event list may result in compile errors. Support for dialog sources can be added by adding _ISSCRIPT_NEW_SYLE_DEFS to the preprocesor defines in Build-> Settings."

I guess that means that InstallShield Engineers figure that the presense of new custom dialog scripts in a converted project COULD cause compile collisions. So, it sounds like either you should dump your custom dialogs and recreate them using the new method, or you should keep the old method and save the old scripts and/or copy the new dialog functions to your own scripts and create new defines if you have trouble.

But it sounds like the preferred method is to redo all of your custom dialogs using the event list functions.
0 Kudos
DebbieL
Level 17

Right, InstallShield does support backwards compatibility: If you imported dialog source code into an InstallShield 2009 or earlier project and then you upgrade the project to InstallShield 2010 or later, you can still use that dialog code. However, if you want to use the dialog sources that are now available when you select the dialogs in the event handler drop-down list, you must first make some changes to your upgraded project. Otherwise, you may encounter compile errors.

The preprocessor define that you need to set is in the upgraded project is _ISSCRIPT_NEW_STYLE_DLG_DEFS (not _ISSCRIPT_NEW_SYLE_DEFS). (This is set by default in all new projects that you create in InstallShield 2010 and later.)

Note that you may not need to dump all of your old code, since the compile errors are typically caused by conflicting #include statements. You could probably fix those by removing the #include statements from your dialog .rul files.

I hope that helps.
0 Kudos