|Note regarding InstallScript versions: The samples on this page have been developed with various versions of InstallShield. Some of them require a minimum InstallShield version or may only work in the one version they have been created for. Often it will be possible to make them compatible with other InstallShield versions.|
This script creates SdShowMsg like modal dialog with custom ProgressBar control.
ShowProgressDialog.zip Written by
File size: 1.048 bytes Last update: 2010-09-29
This dialog script works with any skin provided by the InstallShield Skin Customization Kit. It implements/demonstrates 3 radio buttons, hides the Default icon of a computer on the skin. It also implements push buttons like Next/Back/Cancel. The proper usage of the code requires a custom dialog (skinnable) to be created using the Dialog Editor. The code has been tested with Installshield 11.5 but should also work with previous versions (DevStudio 9 and above)
CustomSkinDialogSample.zip Written by
File size: 2.631 bytes Last update: 2006-08-09
Article from the InstallShield newsletter written by Stefan Krueger
The method described below does not work with the new "Windows 2000 style" dialogs in IS6.
If you look at the dialog resource of a SdDialog in a resource editor, you will notice a cryptic string associated with the left hand bitmap. You can use this string in the second parameter of DialogSetInfo(DLG_INFO_ALTIMAGE, ...). The szInfoString has the following format:
<bitmap path>@<16 color bitmap id>;<256 color bitmap id>;<transparent flag>;<3D flag>;<background color>;<transparent color>
|<bitmap path>||Path to the bitmap you want to display.|
|<16 color bitmap id>||ID of the bitmap for 16 color mode. 10550 should always be used here. Otherwise, DialogSetInfo will not work properly when called.|
|<256 color bitmap id>||ID of the bitmap for 256 color mode. 10551 should always be used here. Otherwise, DialogSetInfo will not work properly when called.|
|<transparent flag>||Indicates that this bitmap should be displayed with transparent areas
showing through the background, similar to the way an
icon is displayed. Possible values are 0 = FALSE and 1 = TRUE. The default is 0 (FALSE).
|<3D flag>||When 1 (TRUE), indicates that the dialog will have a small border around
the edges of the static field, thus giving the bitmap a
three-dimensional look. If this flag is set to 0 (FALSE), the bitmap displays normally. The default is FALSE.
|<background color>||The color that is painted around the dialog if it is smaller than the standard dialog. The colors should be specified as RGB values, separated by commas (RRR,GGG,BBB). The default is 0,128,128 (teal).|
|<transparent color>||Color for that portion of the image (if <transparent flag> is TRUE ) that is transparent. The default is 255,0,255 (purple).|
The @ and the semicolons must be in place exactly as shown. Here is an example format string:
This string indicates that the bitmap should be transparent and three-dimensional, and that there should be a teal border.
This package includes a custom dialog with a tree view control, and the script code to operate it. You can use it to display components (similar to SdComponentTree) or any other items. To make the scripts work, you need an _isuser.dll with a dialog id 30001, which contains a tree control 1068, and textcontrol ID_TEXT = 1106. A sample DLL is included.
TreeView.zip Written by Ide Nentjes
File size: 21.231 bytes Last update: 2001-04-19
This code shows how to disable the Close [x] button in the title bar of the main setup window (if you are not running in FULLWINDOWMODE).
DisableCloseBox.zip Written by Robert
File size: 657 bytes Last update: 03/27/1999
This function displays the contents of a text file with SdShowInfoList.
prototype DisplayFile (STRING, STRING, STRING);
dispfile.zip Written by Alan Frank
File size: 521 bytes Last update: 03/16/1999
This dialog displays date and time of setup compilation and build, product version etc.
prototype HelpAbout ();
helpabt.zip Written by Alan Frank
File size: 1.123 bytes Last update: 03/16/1999
If you want to display billboards depending on user's selections, you can use this function to rename the billboards files right before data move.
updatebillboards.zip (1.127 Bytes) Provided by Ryan Lewandowski
Enhanced component dialogs:
Other enhanced dialogs:
The install package includes the required script files and DLLs (with source code for Visual C++ 1.52, 5.0 and 6.0, Borland C++ 5.02 and Borland C++ Builder 4) and a dialog sampler.
Written by Michael Frolov
File size: 1.374.424 bytes Last update: 07/02/1999
View the ReadMe file for Mifisex
Note: Michael Frolov's InstallShield Extensions Page is no longer available
With the browse dialog built into InstallShield (in AskPath etc.) you can select a directory, but not a file.
Two articles in the InstallShield knowledge base explain how to call the GetOpenFileName WinAPI directly with InstallShield 5 and 6 to get a dialog similar to the file select dialog of Windows. The user can browse the computer and select a file. You can specify a drop-down list of file types etc.
For InstallShield 5: Article Q102579
For InstallShield 6: Article Q104325
Here are improved versions of the functions in the KB articles:
For InstallShield 5:
FileBrowseDlg5.zip Written by Bob Sledge
File size: 5.489 bytes Last update: 1999-11-06
For InstallShield 6:
FileBrowseDlg6.zip Written by Bob Sledge
File size: 5.715 bytes Last update: 2001-06-22
If you are using InstallShield 3 you can use the below package (DLLs for 16 and 32 bit Windows, compiled and in C source code, usage instructions and a sample .rul file). It was developed by InstallShield Software Corporation for InstallShield3. InstallShield Software Corporation has removed this file from their web site and does no longer provide any support for it.
isbrowse.zip Written (but no longer
supported) by InstallShield Software Corporation
File size: 1.007.107 bytes Last update: 02/14/1998
Most errors returned by IS6 script functions are standard Win32 HRESULTS. There is an undocumented function FormatMessage that you can use to display description of the error:
MessageBox( FormatMessage(nResult), SEVERE );
This function will be documented in a future release, so you can safely use it.
From newsgroup installshield.is6.general
Last update: 11/26/1999
Here is a way to display only a subset of the setup types you defined. It uses modified versions of SdSetupTypeEx() and ComponentSetupTypeEnum().
prototype _SdSetupTypeEx(STRING, STRING, STRING, BYREF STRING, NUMBER);
stype.zip (3.167 Bytes) Provided by Kim Ball
This dialog uses a formatted input control to prompt the user for an IP address. It supports InstallShield 5 and 6.
Important: Internet Explorer 4 or higher must be installed on the target machine. (You can create an IP dialog without this requirement using InstallDialogue.)
prototype DlgIpAddress(STRING, STRING, BYREF NUMBER);
DlgIpAddr.zip Written by Robert Dickau
File size: 31.414 bytes Last update: 11/23/1999
This is a modified version of the SdLicense dialog script. It exchanges the text and functionality of the "Yes" and "No" buttons, thus making "No" the default. (If you want to use it in other languages than English, you will have to adjust the button text).
This script does not support the new IS6 dialog style.
prototype SdLicenseMy ( STRING, STRING, STRING, STRING );
SdLicenseMy.zip Written by Daniela Coman
File size: 1.355 bytes Last update: 2000-05-06
InstallShield supports two display modes for the main setup window:
Sometimes it would be nice to have setup behave like a maximized window: covering the whole screen, but leaving the task bar visible. This makes sense as the Welcome dialog tells users to exit all other programs. However, if the background window hides the task bar, they can no longer see which other tasks are currently running. To get this behaviour, replace the Enable(FULLWINDOWMODE) line in the SetupScreen function with the following:
Enable ( DEFWINDOWMODE ); ShowWindow ( GetWindowHandle(HWND_INSTALL), SW_MAXIMIZE );
The required prototypes and constants are already defined in InstallShield (at least in 5.53) so there's nothing more to do.
Note: The trick to Disable(FULLWINDOWMODE) does no longer work in the latest version of InstallShield 5.
Sometimes you need to browse for a directory on the network, but there isn't a drive mapped to the network resource. With native InstallShield5 functions this is not possible because the browse dialog doesn't support UNC paths. Isdll.dll provides a function which allows you to browse local AND in the network to choose a directory in UNC. Included is the DLL (compiled and C++ source code) and usage instructions. The DLL only supports 32 bit.
This dialog is in German language.
netbrowse.zip (426.012 Bytes) Provided by Richard Lippmann
This dialog uses a variation of InstallShield Pro's edit1 (in technical, copyright terms, it's called a derivative work). The archive includes dialog resources for 16 and 32 bit, the dialog's .rul and .h file and a usage example. Note: You need to preserve InstallShield's and KPMG's copyright messages in the source code.
Note: The dialog template is included only as .rc file, not as compiled DLL. In order to use this function open the _isuser project (located in your in your InstallShield directory) in Visual C++, merge in the .rc file and compile. Rename the resulting _isuser.dll to _ISKPMG.DLL and insert it into the setup files pane in InstallShield.
sdspswd.zip (4030 Bytes) Provided by Burton M. Strauss III
Installshield only allows you place some dialogs off center screen. This code will allow you to place all the dialogs on the lower right corner of the screen. Co-ordinates can be changed to move the dialogs anywhere and works with custom and InstallShield Dialogs.
dlgposition.zip (799 Bytes) Provided by Alan Cronin
MyRegisterUserEx displays a dialog box similar to SdRegisterUserEx, but the Next button
will only be enabled if a valid serial number is entered. A sample validation
function is included, but you should write your own, either as InstallShield script
function, or in a custom DLL.
A function to Generate a Per-User Serial Number can be found in the string functions section.
validate.zip (4.121 Bytes) Provided by Ross Wentworth
In InstallShield 5.52/5.53 the behaviour of the SdAskOptionsList has changed. Now it displays size information in the component list. In cases where these options are not file media related, this is undesirable. This dialog is an enhancemanet to the original SdAskOptionsList. It takes the same parameters plus one boolean value that to switch size information on or off.
There are some limitations:
MyAskOptionsList.zip Written by Stephan Hagedorn
File size: 12.462 bytes Last revision: 03/04/1999
If BATCH_INSTALL is TRUE, in IS6 all sef registration operations will be postponed until after the reboot. However if a problem occurs, the OnSelfRegistrationError event handler is not called (as it would be if no reboot is required). You can work around this limitation by simply calling OnSelfRegistrationError() in your OnRebooted event handler. The error handler will do nothing if no error occurred, so it doesn't hurt to call it unconditionally.
A few things to keep in mind:
This sample will not work on InstallShield 6. A custom welcome dialog sample is available in the IS6 program directory under <PROGRAMFILES>\InstallShield\InstallShield Professional 6.1\Examples\Example Custom Welcome Dialog.
This dialog uses the standard dialog resource of SdWelcome() and combines it with a modified script. You can place your program's icon beside the welcome message. You can also replace any of the messages in the dialog (e.g. change the copyright warning if you're distributing a shareware program).
Notice: There have been reports that changing the icon does not work
on Windows NT. However, I could not reproduce this behaviour. If you are experiencing this
problem, please contact me.
mysdwelcome.zip (2.159 Bytes) Provided by Stefan Krueger
|News||Discussions||Windows Installer||Related Tools||More Help||InstallScript||About InstallSite||Shop||Site Search|
|Neuigkeiten||Diskussionsgruppen||Windows Installer||MSI FAQ||Artikel||Shop||Suche|
Copyright © by InstallSite Stefan
Krueger. All rights reserved. Legal
By using this site you agree to the license agreement. Webmaster contact