Copyright: Copyright ©1997 InstallShield Software Corporation
Citation: 231-20015 0497


3D controls
Choose if your application uses Visual Basic user-interactive 3D controls such as 3D check box, 3D command button, 3D frame, etc.


A Note From The Editor
.

	A Note From the Editor
.

InstallShield Software Corporation is dedicated to producing world-class documentation that fits your needs.

If you have any comments or criticisms about any aspect of the Express documentation, please contact us at:

doc@installshield.com


AUTOEXEC.BAT
.

	AUTOEXEC.BAT
.

The AUTOEXEC.BAT dialog allows you to make changes to the AUTOEXEC.BAT file on the target system after the user has specified the necessary setup information.

•	To add a directory to the path:  Enter the path in the Directory to Add field.  In order to take advantage of installation information, you can use Express directory specifiers in your entry.

•	To add a command:  Type your command in the Command field (128 characters max.).  You can use Express directory specifiers in this field.

Click one of the radio buttons beneath the Command field to specify whether you want the command to be added before WIN.COM, as the first line of the AUTOEXEC.BAT file, or as the last line of the file.

•	To add an environment variable:  In the Name=Value field, enter the variable name and its value in the proper format (e.g. Wizdata=[Data Files]).  Then click the Add push button.  You can use Express directory specifiers in this field.

Your entry will be displayed in the Environment Variable list box.  To delete an entry, highlight it in the list box and click the Delete push button.

Note  If you create an entry with the same name as an existing environment variable in the target AUTOEXEC.BAT, InstallShield Express will reset the entry on the target system.  If you do not want to do this, make sure you use unique names for your environment variables.

•	To install VSHARE.386:  Click the Install VSHARE.386 check box.

•	To view the AUTOEXEC.BAT file:  Click the Run SysEdit push button to launch the System Configuration Editor for your system.

Note  Additions or changes made to the target system's AUTOEXEC.BAT file will be removed when your application is removed by unInstallShield, with the exception of entries made automatically by selecting to install VSHARE.386.

When you are done making changes, click OK to save the information, click Cancel to delete your entries, or click one of the other tabs, [image], [image], or [image].


Advanced Icon Settings
.

	Advanced Icon Settings
.

The Advanced icon settings dialog allows you to select an alternate working directory, choose an image from a separate resource, specify a shortcut key, or place an icon is a specified folder (Windows 95 and NT 4.0 only).

You cannot use any of the advanced options for an icon until you add the icon in the General icon settings dialog.

•	To set a Start in directory:  Highlight the icon for which you want to set a new Start in directory.  The current Start in directory will be displayed in the Start in combo box.  Specify a new directory using one of the Express directory specifiers.

When you have selected the desired directory, click the Modify Info push button to enter your change.

•	To select an icon image from a resource file:  The resource (such as an .ICO or .DLL file) containing the icon must have already been copied to one of your program groups.  Highlight the icon for which you want to set a new image.  Click the browse (...) button next to the Icon field to open the Setup Files Browser window.  Select the desired resource file and click OK.

When you return to the Advanced window, the resource file will be listed in the Icon field.  Click the Modify Info push button to apply the new icon.

•	To specify a short cut key:  Highlight the icon for which you want to set a short cut.  Click the Short Cut Key field so that the cursor appears in it.  This is a special edit field.  On your keyboard, press the key combination as you would if you were using the short cut.  The Short Cut Key field will reflect your typing.  For example, if you press the Control key, Alt key, and the letter A, the edit field will display Ctrl + Alt + A.  If you make a mistake, hit the Delete key and start over.

When you have entered the desired combination, click the Modify Info push button to enter your change.

	To place the icon in a specific folder in Windows 95 and NT 4.0:  Highlight the icon which you want to place in a specific folder.  Select the radio button for the location to which you wish to install an icon.  Your choices are the default folder, the Program Menu folder, the Start Menu folder, the Desktop folder, the Startup folder, and the Send To folder.  Click the Modify Info push button.
Please note that Microsoft's Windows 95 Setup Guidelines recommend that you place an icon on the Start Programs menu if you only have one icon, in order to make your application as easy as possible to access.  However, you should not add more than one icon to the Start Programs menu, as that clutters up the menu.

After you have finished making your modifications, click OK to accept them, Cancel to reject them, or the [image]. tab to add or delete new icons.

Note  You cannot add or delete icons from the Advanced icon settings dialog.  You must use the General icon settings dialog.


Advanced Options
.

	Advanced Options
.

The Advanced InstallShield Objects dialog allows you to view the file details (date, size, and version, if applicable) of the files which Express has selected to add to your setup.

You can reveal or hide the files in the group(s) by clicking on the +/- icon next to the group name.  To view the details of a particular file, click the appropriate filename in the list box.

The Advanced InstallShield Objects dialog is not drag-and-drop enabled.  You cannot use it to add or delete files, only to view file information.

If you need to delete files from any of the automatically generated groups, you can do so in the Groups and Files dialog.


Animated Button Control
Choose if your application uses animated button controls.


Application Information (App Info)
.

	Application Information (App Info)
.

The Application Information dialog collects information which Express uses internally.  You must enter information or leave the default settings in the Application Name, Version, and Company fields in order to comply with Windows 95 Setup Guidelines.  If you erase any of these fields, Express will not be able to make the automatic registry entries necessary to meet Windows 95 specifications, including the uninstallation entry.

This dialog contains five edit fields:

•	Application Name:  Enter the full name of your application (80 characters max.).  The default setting for this field will be the project name you entered in the New Project dialog box.

•	Application Executable:  Click the browse (...) push button next to this field to launch the Open dialog.  From this dialog, locate and select your primary executable file.  When you click the Open push button to accept your selection, the filename will be displayed in the grayed edit field, along with the [Program Files]directory specifier.

Express will automatically add the specified executable file to the Program Files group in the Groups and Files dialog and create an icon for the executable file in the General Icon Settings dialog as long as there are not already entries in either dialog.  If you have made an entry in either dialog, Express will not make these automatic modifications.

•	Version:  If you specify an executable file in the Application Executable field which contains a version resource, Express will enter the version number in the Version field.  Otherwise, the default setting for this field is 1.0.  You can also enter or modify the version number of your application.  You can format your version number however you like (the field will accept up to 40 characters).

Check that you have not left any of the following fields blank in the Application Information dialog:  "Application Name," Version" and "Company."  These three values are used as paths for the registry entries that Express automatically makes for your setup.  If one or more of these paths is missing, the registry entries required for your setup to have Windows 95 Uninstall capability cannot be made, and therefore your application's name will not appear in the Control Panel's Add/Remove Programs Properties applet.

•	Company:  Enter the name of your company (80 characters max.).  The default setting for this field will be the company name you entered when you first installed Express.

Note:  If the entry in the Company field contains any illegal characters (such as '?'), your setup will fail when it tries to create this default destination directory.

	Default Destination Directory:  The default destination directory is the default location where your application will be installed on the target system if no directory is specified by the user.  This default entry follows this format:  <ProgramFilesDir>\Company Name\Project Name.  For example, if you specify your application name to be "My Application" and your company to be "My Company", and your user's Program Files directory is located at "C:\Program Files", the default destination directory will be "C:\Program Files\My Company\My Application".  However, you can modify this default entry created by Express to have any destination directory created.
After you have entered the above information, you can click OK to accept the data, Cancel to reject it, or either of the two other tabs, [image] or [image], to enter additional information in the Set the Visual Design window.

You can also change the default destination directory in the Select User Interface Components\Dialog Boxes dialog box.  Highlight "Choose Destination Location", go to the Settings tab, and enter a directory in the edit field.  You will probably want to use an InstallShield system variable, such as <ProgramFilesDir> or <WINDISK>, when you enter the default directory.  For example, you might enter the following in the edit field:  <ProgramFilesDir>\MyCorp\MyApp.  InstallShield will automatically convert the system variable to a fully qualified path and create a subdirectory called "MyCorp" under the user's Program Files directory.  To allow your users to change the destination directory, make sure that there is a checkmark in the checkbox next to "Choose Destination Location".  Click "OK" to save your changes.

Click here to see technical details about how your responses to the Application Information dialog are used by Express.  (You do not need to know this information to use Express.)


Automatically Reviewing the Visual Basic Project File
.

	Automatically Reviewing the Visual Basic Project File
.

Express can review your project file and select the InstallShield Objects required for your application.  To have Express review your project, enter your application's project file name in the Visual Basic Project File field and click the Begin Automatic Review push button.  You can search for the project file by clicking the browse (...) push button.  This launches the Open dialog box, which allows you to select your file.

Express searches your project file to determine its dependencies, then selects the appropriate InstallShield Objects for your application.  If your project requires any objects, Express creates the System Files - WinSysDir group and adds the appropriate files to the group.

Note  Express does not automatically determine dependencies for .VBX files.

Both the VB RUNTIME 32/16 BIT and System Files - WinSysDir groups have <WINSYSDIR> as their default destination directory.

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click on the [image]  tab.


BDE (Borland Database Engine) Settings
.

	BDE (Borland Database Engine) Settings
.

The BDE Settings dialog allows you to create BDE aliases, as well as specify any additional parameters for your alias.  It also allows you to save the alias settings (.CFG file) so that they can be used by both 16- and 32-bit applications.  The BDE aliases that you create will be merged with the existing aliases on your customer’s system upon installation of your application.

When you select the BDE check box in the InstallShield Objects window, Express will automatically launch the BDE Installation Type dialog.

BDE Installation Type

Use the BDE Installation Type dialog box to specify whether you want to install all or part of BDE in your setup.

If you select the Full BDE Installation radio button, all of the available drivers and query engines on your system are added to your setup.  Therefore, the check boxes in the BDE Driver Types and Query Engine Types windows remain inactive.  You can continue to the next step by clicking the Next push button.

Note  If you only want to install part of BDE, please read the Partial BDE Installation documentation for important information regarding your setup.

When you are finished, click Next to continue on to the alias settings (Step 1-4) or Cancel to reject your settings.  Regardless of whether you selected a full or partial BDE installation, the BDE Alias dialog box is automatically displayed after you complete the BDE Installation Type dialog.  You must define all aliases which your application requires in the BDE Alias dialog.

Step 1

To create a BDE alias, click the New push button to launch the BDE Alias Name dialog.  In this dialog, enter the desired alias in the Alias Name field.  Click OK to enter the alias, or Cancel to reject it.

The aliases you have specified will be listed in the BDE Aliases window.  To delete an alias, highlight its name in the window and click the Delete push button.

When you are finished adding aliases, click Next to continue on to Step 2, Back to return to the BDE Installation Type dialog, or Cancel to reject your settings.

Step 2

This step allows you to save the .CFG file containing your alias settings so that both 16-bit and 32-bit applications can use them.  If you select the check box, Express automatically makes the necessary modifications on the target system.

Click Next to go to step 3, Back to return to the first step, or Cancel to reject your settings.

Step 3

In Step 3, you must define the parameters for all of your BDE aliases.  Use the BDE Configuration utility to determine which parameters each alias requires.

To define a parameter for your BDE alias:

•	In the Alias Name combo box, use the drop-down list to select the alias for which you want to define a parameter.

•	Enter the target path, not including the filename, of the database file in the Path field.  Use Express directory specifiers in this field to indicate the destination directory location of your database file.  (Your entry in this field will generally be the same as the value in the Destination Directory field of the Groups and Files dialog for the group containing the database file.)

Note  All BDE alias definitions require that there be a NAME, PATH, and TYPE parameter in the alias definition.  Without a PATH parameter, the alias does not get created during the installation.  In the case of an alias which does not require a path (such as a SQL server alias), the path can be set to the <INSTALLDIR> directory specifier.  While the BDE Configuration utility does allow an alias to be created manually without the PATH, the Borland AddAlias installation function (which is used by InstallShield Express) will not allow this.  Therefore, when making your BDE alias settings for a SQL Server driver, the PATH should be set to <INSTALLDIR>.

•	Select the database driver from the drop-down list in the Type combo box.

Note  You must enter an alias name, a target path and a driver type for your database file or your alias will not be created on the target system.

If you are installing 32-bit BDE, the drivers that appear in this field are read directly from the source machine's registry.  Your system's BDE drivers should be included as subkeys under the following path in your registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\Drivers

If a BDE driver on your system is not present under this path, then the driver has not been installed correctly.  You must reinstall this driver on your machine.

Note  If you're creating an Express setup which will include BDE, you must create this setup on a machine that has BDE installed on it.

•	Enter any additional parameters in the window at the bottom of the dialog box.  Parameters must have the following format:

Keyname=Value

Each keyname/value pair should be entered as it is displayed for the alias in the BDE configuration utility.  When defining a path in this window, use Express directory specifiers to indicate the location on the target system.  Place each parameter on a separate line.  Do not use any additional formatting or delimiter characters (such as a semi-colon).

For example, suppose your INTRBASE alias "MyAlias" has the following parameters on your development machine's BDE configuration file:

TYPE	INTRBASE
PATH
SERVER NAME	C:\BIN\MYDATA.GDB
USER NAME	SYSDA
OPEN MODE	READ/WRITE
SCHEMA CACHE SIZE	8
LANGDRIVER
SQLQRYMODE
SQLPASSTHRU MODE	SHARED AUTOCOMMIT
SCHEMA CACHE TIME	-1
MAX ROWS	-1
BATCH COUNT	200
ENABLE SCHEMA CACHE	FALSE
SCHEMA CACHE DIR
In the Express BDE Alias Step 3 of 4 dialog, you would then select MyAlias from the Alias Name drop-down box, enter <INSTALLDIR> in the Path text field, and select INTRBASE from the Type drop-down box.

Note:  While an SQL Server alias does not use the PATH parameter, Express requires that each BDE alias have a NAME, PATH, and TYPE parameter in the alias definition.  Therefore, when making your BDE alias settings for any SQL Server driver, the PATH should be set to <INSTALLDIR>.

If your database file MyData.gdb is to be installed under your setup's main installation directory <INSTALLDIR> and will retain the User Name of Sysda, then you would enter the following two lines in the window at the bottom of the BDE Alias Step 3 of 4 dialog box:

SERVER NAME=<INSTALLDIR>\MYDATA.GDB
USER NAME=SYSDA

Since the remaining parameters of this alias are all set to their default values, they will not have to be entered as optional parameters in the BDE Alias Step 3 of 4 dialog.  These parameters will be automatically added by Express to the target machine's BDE configuration file using their default values.

Note:  If you are including in your setup any BDE alias which uses an SQL Server driver, you must select both BDE and SQL Links in the Select InstallShield Objects dialog.

When you have defined all of the parameter for each alias, click Next to go to step 4, Back to return to step 2, or Cancel to reject your settings.

Step 4

Step 4 informs you that the settings you have specified have been initialized, and Express will configure the target system if you accept the settings.  Click Back if you want to go back and review or change your settings, or click Finish to accept them.


Before You Begin
.

	Before You Begin
.

Return Your Registration Form

Before you do anything else, please fill out the registration form that comes with Express.  Not only does this register you for technical support, it also lets us know where to send any future builds or vital information as it becomes available.

When you register, you will be helping both yourself and InstallShield Software Corporation.

Organize and Prepare Your Files

Even though InstallShield Express is the most convenient installation toolkit yet created, using it does require some preparation.  In order to plan a successful setup, you need to consider the structure of your application files.

Because every setup has a unique set of files and varying installation requirements, Express includes a flexible, yet simple, organizing system.  Your files are copied into groups, which are included in components.  These components can be used to create multiple setup types.

All of the files in a group will be copied to the same directory.  Copying your files into the group will be quick and easy if you already you have them in separate directories which represent your groups.

You need to consider whether you want to include a custom setup option.  If there are any files which are not needed to run the application, such as samples or templates, you might consider placing them in separate components, which the user could elect not to install.

If you're unfamiliar with groups, components, and setup types, or if you would like more information about using them in Express, refer to the Groups, Components, and Setup Types topic.

Note  Windows 95 Setup Guidelines recommend that you do not modify the CONFIG.SYS system file.  Design your application to load its drivers when the application is launched.

Familiarize Yourself with Express

Once you have organized your application files, you need to consider whether your application requires that any special processing be done during the setup.  If you are unsure about these potential requirements, or you don't know what features InstallShield Express offers for your specific needs, refer to the Deciding Which Setup Options To Use topic.


Before You Call...
.

	Before You Contact Us...
.

InstallShield Software Corporation is committed to providing the best possible technical support for Express and all of our products.  In order to get you the fastest, most complete, and most accurate support, please follow the procedures listed below.

Register Your Software

	You must be a registered user to receive technical support.  You can easily register your copy of Express by visiting our website at http://www.installshield.com/support/isreg.htm and filling out the short registration form.  Or, you can complete the registration form included with Express and fax it to InstallShield Corporation at (847) 240-9120. Remember that sending in your registration form also lets us know where to send you maintenance releases and other important information as it becomes available.
Necessary Information for Technical Support

The technical support department at InstallShield likes to provide detailed and accurate answers to all of your questions.  In order to do so, our representatives will need the following information:

•	Your full name and the name of the registered user, if different.

•	Your street address, phone and fax number, and email address.

•	The serial number of your copy of Express.

•	The full, six-digit Express version number.  This can be found in the About box, which you can quickly open by clicking on the About push button: .

•	The system information of the computer you are using, including the make and model of the machine and video driver, the operating system, the amount of memory and system resources, any relevant devices or peripherals, and any system DLLs you are using.

•	A detailed description of the problem.  Describe any error messages exactly as they appear.  Please list also the steps and conditions which led to the problem.

The Best Ways To Contact Technical Support

Because of the amount of information our technical support department needs, and because finding an answer may require some research on our part, calling us is often the least effective method of getting technical support.

We recommend the following methods as the quickest and best ways to get the answers you need:

1.	Express Documentation

Before you spend the time gathering information, contacting InstallShield, and waiting for a response, make sure that the answer to your question is not in Express documentation.

Take advantage of the search features in our help files.  If you click the Search push button in help and go to the Find tab, you can create a full text index of help and search for individual words or phrases.

The InstallShield Express User's Guide has been organized and indexed to make the task of finding the information you need as easy as possible.  Please also note that you can download an online version of the User's Guide from the InstallShield Express website.

2.	World-Wide Web

The InstallShield Express website (http://www.installshield.com/express) is constantly being updated with FAQs, upgrades, troubleshooting tips, and other information about InstallShield Express.  If the documentation does not cover the problem you have encountered, there is a very good chance our website will.  The website features the Express Knowledge Base, which contains the latest information regarding Express, and InstallShield Newsgroups, which allow our users a forum to discuss their installation concerns.

Please always check the website before contacting us.  In most cases, you will be able to get the answer to your inquiry far more quickly that way.

	You can fill out a Technical Support Request form directly on our website by selecting the Technical Support item available in the Express Help menu.  This launches the default web browser on your system and connects you directly with the Technical Support Request form.
3.	Email

Once you have determined that the documentation and website do not contain the answer you need, the best way to contact the technical support department is through email.  Our address is express@installshield.com.

4.	Fax

Faxing is the next most efficient means of contacting us.  Our technical support fax number is (847) 240-9138.

5.	Phone

As a last resort, you can phone us at (207) 622-6273.  Please note that we do not recommend this as the best method of obtaining technical support, since the process of gathering information on the phone can make it both more costly and time-consuming for you.


Billboards
.

	Billboards
.

Selecting the Billboards user interface component allows you to display multiple billboards during your application installation.  You can use bitmaps (.BMP) or 16-bit created placeable Windows metafiles (.WMF) as your billboards.

Note  Any bitmaps or metafiles that you include cannot exceed 16 colors.

In order to use the billboards in Express, you must name your billboard files sequentially (SETUP1.BMP, SETUP2.BMP, etc. or SETUP1.WMF, SETUP2.WMF, etc.).  Express will automatically display the billboards during the file transfer process by the numerical order in which you named them.  Specify the directory of your file on the Billboard Settings tab either by using the Browse... push button to search for the path, or by typing the path in the edit field.

InstallShield Express will automatically display the billboards during the file transfer process.

Express includes five sample bitmap billboard file (SETUP1.BMP through SETUP5.BMP) in the REDIST subdirectory of your main Express directory.  This directory is also set as the default path for the billboards.  You can quickly customize these bitmaps and use them without having to specify a new directory.


Borland Windows custom controls
Choose the Borland Windows custom controls object if your application uses the Borland Windows custom controls (BWCC).


CONFIG.SYS
.

	CONFIG.SYS
.

The CONFIG.SYS dialog allows you to make changes to the CONFIG.SYS file on the target system after the user has specified the necessary setup information.

To add a setting to the CONFIG.SYS file, enter your line in the Line to add field (128 characters max.), then click the Add push button.  In order to take advantage of installation information, you can use Express directory specifiers in your entry.  The CONFIG.SYS Changes list box updates to display the added line.

To delete one of your settings, click the line in the CONFIG.SYS Changes list box to highlight it.  Then click the Delete push button.

To view the CONFIG.SYS file on your system, click the Run SysEdit push button to launch the System Configuration Editor.

Any additions or changes made to the target system's CONFIG.SYS file will be removed when your application is removed by unInstallShield.

When you are done making changes, click OK to save the information, click Cancel to delete your entries, or click one of the other tabs, [image], [image], or [image].


Calendar Control
Choose if your application uses the ActiveX Calendar Control.


Calling a Custom .DLL
.

	Calling a Custom .DLL
.

You can call a function in a custom .DLL to do just about anything that Windows programming allows. However, the values passed into and returned from the function are governed by a strict prototype.  InstallShield Express can only launch DLL functions that are C-callable, i.e. can be launched from a C program.  For Delphi-specific .DLL information, click here.  For details on how to prototype your custom .DLL function, refer to the "Custom .DLL Function Prototype" section of the InstallShield Express User's Guide or click here.

To call a custom .DLL from within your installation, you must first add the .DLL extension. For more information on this process, refer to Express Extensions.

Step 1

Set up your custom .DLL extension by entering the names of the .DLL and the called function into the fields on the Settings tab of the Express Extensions dialog box.

Enter the name of the .DLL in the DLL Filename field.  Clicking the Browse... button opens the Setup Files Browser.  You can enter the .DLL filename by highlighting it in the File Groups window and clicking the OK push button.

You can also use the Express directory specifiers <SUPPORTDIR> or <SRCDIR> with the selected .DLL in conjunction with certain Disk Builder options.  For example, an entry of <SRCDIR>\MYDLL.DLL could be used if MYDLL.DLL were located uncompressed on disk 1.  If MYDLL.DLL were compressed in _SETUP.LIB, you would use <SUPPORTDIR>\MYDLL.DLL.

For more information on Disk Builder options regarding compressing files into _SETUP.LIB and placing files onto disk 1, refer to the "Compressing Extension Files Into _SETUP.LIB" section of the Express User's Guide and Reserving Space on Disk 1 for Uncompressed Files topic.

The Extensions window updates the highlighted extension automatically to include the .DLL name.

Step 2

Enter the name of the function you wish to call in the DLL Function name field.  If you have experience using Windows APIs, the concept of a function prototype will be familiar to you.

Note  InstallShield Corporation does not provide technical support for Windows programming or DLL debugging.  You are responsible for correctly writing any .DLL functions you call from Express.

Prototype your 16- and 32-bit custom .DLL functions as shown below. Any variation in return type or type and number of parameters will cause the extension to fail.

16-bit:

char WINAPI _export Foo(HWND, LPSTR, LPSTR, LPSTR, LPSTR);

32-bit:

CHAR WINAPI Foo(HWND, LPSTR , LPSTR, LPSTR, LPSTR);

InstallShield Express uses the function prototype to pass the following information to your .DLL:

•	Parameter 1 passes the InstallShield main window handle.

•	Parameter 2 passes the source directory (<SRCDIR>).

•	Parameter 3 passes the support directory (<SUPPORTDIR>).

•	Parameter 4 passes the main target directory (<INSTALLDIR>).

•	Parameter 5 is null and is reserved for future use.

The body of your .DLL function can do just about anything you wish. Obviously, you may find it useful to use the values passed into the function from Express.

Your .DLL function must return a value of type char (16-bit) or CHAR (32-bit) as a state flag signaling the completion of the routine. If your function returns zero, then Express exits the installation. If it returns any other value, Express continues the installation.

To view either a 16-bit or a 32-bit sample DLL function, refer to Chapter 5, "Express Extensions", in the InstallShield Express 2 User's Guide.

Step 3

After entering the .DLL extension information, click the OK push button to register these settings.

Express enables your application to store uncompressed files on the first disk of the distribution set. If your extension needs to access an uncompressed file before the file transfer process begins, refer to the Saving Space on Disk 1 for detailed instructions.


Calling a Delphi .DLL
.

	Calling a Delphi .DLL
.

.

	InstallShield Express can only launch .DLL functions that are C-callable, i.e. can be launched from a C program.  To make sure that your Delphi .DLL function follows the standard C calling convention, be sure to include the stdcall calling convention when declaring your function.
Following is the code for a Delphi .DLL that performs in a similar fashion to the C .DLLs described in the Express Knowledge Base article X1068.

library MyDelphi;

uses
  Classes,
  SysUtils,
  Dialogs in 'Dialogs.pas',
  Windows in 'Windows.pas';

function Foo(mainwin: Hwnd; szSrcDir, szSupport, szInst, szRes: LPSTR): Char; export; stdcall;

var
  test1: String;
begin
  test1 := Format('Extension Called!!  HWND=%x, SRCDIR=%s, SUPPORTDIR=%s, INSTALLDIR=%s ', [mainwin, szSrcDir, szSupport, szInst]);
  MessageDlg(test1, mtInformation, [mbOk], 0);
end;

exports
Foo index 1;

begin
end.


Chart Control
Choose if your application uses the MSChart Control, which allows advanced graphics, backward-compatibility, and pivot ability.


Choose Destination Location
.

	Choose Destination Location
.

The Choose Destination Location user dialog allows the user to select the directory in which he wants to install your application.  The directory and path selected by the user will be used to replace the <INSTALLDIR> directory specifier in any of the Express dialogs in which you have used it.

	The Default Destination Directory entry that you accepted in the App Info tab of the Set the Visual Design dialog box is also displayed on the Settings tab for the Choose Destination Location dialog box.  You can also modify that entry here.  If you are creating a 32-bit application, Microsoft's Windows 95 Setup Guidelines recommend that the destination directory for your application be a subdirectory of the Program Files directory, and that you use a long filename to help create a unique name for it.
In Express, you can designate the Program Files directory on the target system using the <ProgramFilesDir> directory specifier.  You can also use the <CommonFilesDir> specifier to indicate the Common Files directory on the target system (e.g. C:\PROGRAM FILES\COMMON FILES).  We recommend that you avoid using hard-coded directories in your setup whenever possible by taking advantage of the more flexible Express directory specifiers.

Note  Do not use the <INSTALLDIR> specifier to indicate the default destination directory.  The Disk Builder will generate a warning message if you do.  Express uses the Choose Destination Location user dialog to get the value of <INSTALLDIR> from the user.  Using <INSTALLDIR> in your setting will create an unusable default for your user.

If you do not specify a directory, Express will set the default to C:\PROGRAM FILES\<Company>\<Application>.  The names of the <Company> and <Application> directories will be determined by the information you entered in the Application Information Express dialog.

Note  If you are creating a 16-bit setup and your setting for this user dialog contains long filenames, Express will automatically truncate the long filenames to the first eight characters, removing any spaces in between characters.


ClassLib: dynamically linked
Choose the ClassLib: dynamically linked object if your application dynamically calls the class libraries at run-time.


ClassLib: dynamically linked, multithreaded
Choose the ClassLib: dynamically linked, multithreaded object if your application dynamically calls the multithreaded versions of the class libraries at run-time.


Comm Control
Select if your application uses the Visual Basic Communications controls.


Common Dialog Control
Choose if your application calls the Visual Basic common dialog controls.


Components
.

	Components
.

The Components dialog allows you to create and modify your components, which are the building blocks of a custom setup, and write a description of each to help the user.

Note  If you have chosen not to offer a custom setup, you do not need to use this dialog.  All of your file groups are automatically added to the Application Files component.  There is no need to add components, since they are only used to create custom or compact setup types.

If you are not familiar with the concept of components, or you would like to learn how to take greater advantage of them in your setup, refer to Groups, Components, and Setup Types in the Planning Your Setup section.

If you are offering a custom setup type, the default components are Application Files, Help and Tutorial Files, and Sample Files.  Also by default, the Program Files, Help Files, and Sample Files groups are assigned to the Application Files, Help and Tutorial Files, and Sample Files components, respectively.

Use the following methods to create and modify your components:

	To add a component:  Click the Add Component push button.  In the Add Component dialog box, enter the name you want to give the component in the Component Name edit field.  Type a message for the user in the Description field.  Click the OK button to enter your changes.
•	To delete a component:  Click the name of the component you want to delete to highlight it.  Then press the Delete key on your keyboard.

	To modify a component:  Highlight the name of the component you want to modify.  Click the Modify Component push button.  In the Modify Component dialog box, enter the new component name or description in the appropriate field.  Click the OK button to enter your changes.
Once you have set your components, use the following methods to assign file groups to them:

•	To add a group to a component:  Highlight the group you want to add and the component you want to add it to.  Click the Add to Application Component push button.

A +/- indicator will be displayed to the left of a component which contains any group(s).  You can click this indicator to hide or reveal the group(s) copied to the particular component.

•	To delete a group from a component:  In the Application Components window, click the + indicator, if necessary, to reveal the group you want to delete.  Click the group name to highlight it.  Press the Delete key on your keyboard.

Note  If you are offering a custom setup and you have added file groups, you must assign each new group to a component or the group will not be installed.  Modifications to groups, however, are dynamic -- you do not have to reassign a modified group to a component.

When you are finished with the Components dialog, you will likely need to tab to the [image] dialog.


Contacting InstallShield Software Corporation
.

	Contacting InstallShield Software Corporation
.

InstallShield Software Corporation Addresses and Phone Numbers

Internet	Sales and Marketing: Technical Support:	info@installshield.com express@installshield.com
World Wide Web		http://www.installshield.com
Phone	Corporate Office: Sales:	(847) 240-9111 (800) 374-4353
Fax	Corporate Office: Technical Support:	(847) 240-9120 (847) 240-9138
Mail		900 National Parkway Suite 125 Schaumburg, IL  60173-5108 USA

Click here for information regarding Express Technical Support.


Contents
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - BTYS
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Run Disk Builder

Test the Installation

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - DYA
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Create Distribution Media

How Your User Executes the Setup

unInstallShield

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - GAH
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Before You Call...

Contacting InstallShield Corporation

Other Suggested Resources

Visit the InstallShield Express Website: http://www.installshield.com/express

Part No. 231-20014 0497


Contents - GS
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Before You Begin

Opening a New or Existing Setup Project

Express Directory Specifiers

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - Intro
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Welcome

The Express User Interface

How To Use the Express Help

A Note From the Editors

Getting Started

Planning Your Setup

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - PYS
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Groups, Components, and Setup Types

Deciding Which Setup Options To Use

Windows 95 Setup Guidelines

Using Setup Options

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Contents - USO
.

	Contents
.

Welcome to the InstallShield Express Help Files.  Please select one of the following options:

Introduction

Getting Started

Planning Your Setup

Using Setup Options

Set the Visual Design

Select InstallShield Objects

Specify Components and Files

Select User Interface Components

Make System File Changes

Make Registry Changes

Specify Folders and Icons

Building and Testing Your Setup

Distributing Your Application

Getting Additional Help

Visit the InstallShield Express Website: http://www.installshield.com/express


Create Distribution Media
.

	Create Distribution Media
.

Once you are satisfied with your setup, you are ready to copy it to the distribution media.  Express provides a simple means of doing so.

Click the Copy to Floppy push button in the Express main window.  In the Copy To Floppy dialog, your selection in the Drive box determines the destination of your installation files:

•	If you select A:, Express will copy your setup directly to a disk in the A: drive.

Note  The entries in this combo-box are dynamic and reflect the disk drives on your system.  For example, if your machine has two disk drives, A: and B:, both will be offered as options in the Drive box, along with the two path options.

•	If you select Path, the Path edit field will be activated, and you can then enter the path where you want to copy your setup, allowing you to place the files directly onto a network or hard disk location.  You can use standard DOS paths or UNC paths in the edit field.

•	If you select Path for a 1 File Installation, Express enables you to create a self-extracting single file installation for your application.  A default path for the file and a password field appear on the tab when this option is selected.

After you have selected your destination, you can click the Copy All Disk Images push button or highlight an individual image in the Disk Images window and click the Copy Selected Disk Image push button.  If you are copying all disk images to diskettes, Express will prompt you for each disk.

These options allow you to copy all or part of your setup to either disks or a network location with just a few mouse clicks.


Creating an Icon for a File Not Being Installed
.

	Creating an Icon for a File Not Being Installed
.

.

	In the Specify Folders and Icons dialog, enter the program file to which you want to assign an icon in the Run Command text field. You may use Express directory specifiers in this entry. For example, if you would like to install an icon that references an uncompressed file which will reside on the distribution media (like a CD-ROM), then you would enter <SRCDIR>\MyApp.exe in the Run Command field. If you are creating a setup for an in-house application and would like to install an icon that references a file which already exists on the target machine or local network, then you would type in the file name and the path under which it will reside on the target machine (e.g., U:\TestDir\MyApp.exe).
Next, enter the description which you want to appear for this icon in the Description field. You may also enter any optional Run Command Parameters in the appropriate text field. Click the Add Icon push button. Since an image resource for this new icon has not yet been specified, a message box will appear informing you that a default icon will be displayed. Simply click on the OK button.

To select an image for this icon from a resource file, the resource (such as an .ICO or .DLL file) containing the icon must have already been copied to one of your program groups.  In the Advanced tab of the Specify Folders and Icons dialog, highlight the icon for which you want to set an image.  Click the browse (...) button next to the Icon field to open the Setup Files Browser window.  Select the desired resource file and click OK. When you return to the Advanced window, the resource file will be listed in the Icon field.  Click the Modify Info push button to apply the new icon.


Crystal Report Control
Crystal Reports Control
Choose if your application uses the Crystal Reports database report writer.


Custom .DLL Function Prototype
.

	Custom .DLL Function Prototype
.

.

	If you have experience using Windows APIs, the concept of a function prototype will be familiar to you. Note:  InstallShield Corporation does not provide technical support for Windows programming or DLL debugging. You are responsible for correctly writing any .DLL functions you call from Express.
Prototype your 16- and 32-bit custom .DLL functions as shown below. Any variation in return type or type and number of parameters will cause the extension to fail.

16-bit: char WINAPI _export Foo(HWND, LPSTR, LPSTR, LPSTR, LPSTR);

32-bit: CHAR WINAPI Foo(HWND, LPSTR , LPSTR, LPSTR, LPSTR);

InstallShield Express uses the function prototype to pass the following information to your .DLL:

Parameter 1 passes the InstallShield main window handle.

Parameter 2 passes the source directory (<SRCDIR>).

Parameter 3 passes the support directory (<SUPPORTDIR>).

Parameter 4 passes the main target directory (<INSTALLDIR>).

Parameter 5 is null and is reserved for future use.

The body of your .DLL function can do just about anything you wish. Obviously, you may find it useful to use the values passed into the function from Express.

Your .DLL function must return a value of type char (16-bit) or CHAR (32-bit) as a state flag signaling the completion of the routine. If your function returns zero, then Express exits the installation. If it returns any other value, Express continues the installation.

Sample DLL Functions

This section contains sample source code from 16-bit and 32-bit DLLs. Each sample contains a function, Foo(), that displays a message box showing the values that were passed to the function by Express. Since the last parameter position in a .DLL function called from Express is null and reserved for future use, it is not processed by the Foo() function.

16-bit DLL Function

#include <windows.h>

char WINAPI _export Foo(HWND hwnd, LPSTR szSrcDir, LPSTR szSupport, LPSTR szInst, LPSTR szRes)

{ char szTmp[1024];
int ret;

// Construct a string to display the values passed into Foo().
wsprintf(szTmp, "Extension called.\n hwnd=%x\n szSrcDir=%s\n szSupport=%s\n szInst=%s\nDo you want to exit now?", hwnd, szSrcDir, szSupport, szInst);

// Display the string in a message box.
ret=MessageBox(GetFocus(), szTmp, "Test Extension", MB_YESNO);
if (ret==IDYES)
// Returning 0 causes Express to end the installation.
return(0);
else
// Returning non-zero causes Express to continue the installation.
return(1);
}

To be able to call the above 16-bit DLL from Express you also will need to include a definition (.DEF) file when building the DLL to export the function properly.  Include the following definition file with your project.  The name after LIBRARY should be the name you have given your DLL.

LIBRARY   EXPRES16
DESCRIPTION	'To Demonstrate DLL linking to InstallShield Express'
EXETYPE	WINDOWS
CODE	PRELOAD  MOVEABLE  DISCARDABLE
DATA	PRELOAD  MOVEABLE  SINGLE

EXPORTS
Foo

32-bit DLL Function

#include <windows.h>

#ifdef __cplusplus
extern "C" {
#endif

// Foo() function definition.
CHAR WINAPI Foo(HWND hwnd, LPSTR szSrcDir, LPSTR szSupport, LPSTR szInst, LPSTR szRes)
{ char szTmp[1024];
int ret;

// Construct a string to display the values passed into Foo().
wsprintf(szTmp, "Extension called.  hwnd=%x szSrcDir=%s szSupport=%s szInst=%s. Do you want 	to exit now?", hwnd, szSrcDir, szSupport, szInst);

// Display the string in a message box.
ret=MessageBox(GetFocus(), szTmp, "Test Extension", MB_YESNO);
if (ret==IDYES)
// Returning 0 causes Express to end the installation.
return(0);
else
// Returning non-zero causes Express to continue the installation.
return(1);
}

#ifdef __cplusplus
}
#endif

To be able to call the above 32-bit DLL from Express you also will need to include a definition (.DEF) file when building the DLL to export the function properly.  Include the following definition file with your project.  The name after LIBRARY should be the name you have given your DLL.

; mydll.def : Declares the module parameters for the DLL.

LIBRARY      MYDLL
DESCRIPTION  'sample Windows Dynamic Link Library'

EXPORTS
Foo @1


Custom Setup
.

	Custom Setup
.

The Custom Setup user dialog will be displayed during the installation only if the user selects a Custom setup type in the Setup Type user dialog.  The Custom Setup ("Choose Options") dialog allows the user to select the components of your application which he or she wishes to install.

This dialog also allows the user to select a destination directory using the browse (...) push button.  (The user's selection in this dialog will override a selection made in the Choose Destination Location or Setup Type dialogs, if applicable, and will reset the value of <INSTALLDIR>.)

When you select or deselect the Custom Setup user dialog, you will automatically select or deselect the Setup Type user dialog, and vice-versa.

You must specify the files and groups which make up the components in the Specify Components and Files Express dialog.

The Custom Setup Settings tab has a check box which lets you determine whether or not the user will be allowed to select individual file groups.  If you select this option, the user will be allowed to choose which groups, as well as which components, he or she wishes to install.

For more information about groups and components, refer to the Groups, Components, and Setup Types section of Planning Your Setup.


DAO/Jet
Choose if your application requires Data Access Object/Jet files. When you select this object, the DAO Settings dialog box will open. This dialog allows you to individually select which drivers you want to include with your installation. By default, all drivers are selected for inclusion in the Available Drivers window. DAO 3.0 will be used if you selected a VB4 or VC++4 project type.  DAO 3.5 will be used if you selected a VB5 or VC++5 project type.


DCOM Client Support
Choose if your application requires support for a Distributed Component Object Model (DCOM) server.


Data Bound Grid Control
Choose if your application calls the Visual Basic data bound grid controls.


Data Bound List Control
Choose if your application calls the Visual Basic data bound list controls.


DataWindow Support
This includes full support for Powersoft DataWindow objects.  Choose this if your application makes use of DataWindows.


Deciding Which Setup Options To Use
.

	Deciding Which Setup Options To Use
.

In order to simplify your setup task, Express is designed to do your work for you.  You do not need to even open most of the dialogs.  You can just accept the default settings and sit back while Express does the work for you.

But we also recognize that many applications have special setup needs, so Express offers you the setup options you need (in the most user-friendly forms possible, of course).

Determining which setup options to take advantage of is as easy as answering some basic questions:

•	Is your application name different than the project name?  Do you want to specify your main application executable to take advantage of the per-application paths feature?  Do you want to specify a version number other than 1.0?  Do you want to use a company name other than the one you entered as user information for Express?  Do you wish to display a specific default directory to the user during the installation?  If you answered yes to any of the above questions, you will need to make changes in the Application Information dialog.

•	Do you want to include a custom bitmap in your main setup window?  Do you want to specify a title or background color for your setup?  If you answered yes to either of these questions, you will need to make changes in the Main Window dialog.

•	What information do you want to give the user during the setup?  What information do you need to get back from him?  Based on your answers, specify the appropriate user dialogs in the Select User Interface Components dialog.

•	Do you need to include redistributable component with your application?  Express has an automated process for including these files in the Select InstallShield Objects dialogs.

•	Are you offering custom and compact setup types?  These options require careful planning and the deliberate use of the Groups and Files, Components, and Setup Types dialogs.  If you are not familiar with these concepts or how they are implemented in a setup, refer to Groups, Components, and Setup Types.

•	Will you need to make changes to private .INI files, system .INI files, the AUTOEXEC.BAT file, or the CONFIG.SYS file after receiving setup information from the user?  If so, refer to the appropriate dialog: Private .INI Files, System .INI Files, AUTOEXEC.BAT, or CONFIG.SYS.

Note  Microsoft's Windows 95 Setup Guidelines specify that you should not make changes to the AUTOEXEC.BAT, CONFIG.SYS, or WIN.INI files.

•	Do you need to make changes to the registry?  Entries which would previously have been made in the WIN.INI file should, according to the Windows 95 Setup Guidelines, be made to the registry.  These can be specified in the Registry - Keys and Registry - Values dialogs.

Note that, in order to comply with Windows 95 Setup Guidelines, you must specify an uninstallation key for all entries into the registry.  Unless you instruct it not to, InstallShield Express will automatically make the necessary entries to allow unInstallShield to uninstall the application, but you must set the uninstall keys for any other entries you make.

•	What icons do you want to include with your application?  Any icons are specified in the General and Advanced icon settings dialogs.  Please note that Windows 95 Setup Guidelines suggest keeping icons to a minimum.

•	Do you want to create a single-file self-extracting executable file for your installation?  The Create Distribution Media dialog enables you to do this by selecting a single menu intem.

Once you have decided which options you want to use, follow the simple instructions for each dialog to create a setup that fits your needs.


Description field
The text you type in this field is displayed in a static text field in the Custom Setup (Choose Options) user dialog assuming you allow the user to select individual groups by leaving the check box on the Custom Setup user dialog settings selected.  If you do not allow individual group selection, the component description will not be displayed.

A well written description should briefly inform the user about the files and groups in the component, and help him determine whether or not to include the component with the custom installation.

This field can contain a maximum of 150 characters.


Dialog Boxes
.

	Dialog Boxes
.

The Dialog Boxes dialog consists of consists of the Settings For list box, which contains check boxes for selecting and deselecting each of the user interface components in your setup, and a dynamic, tabbed dialog box which displays compressed previews of the user dialogs and allows you to modify the settings for some of them.

•	To select or deselect a user dialog, click the check box next to the dialog name.  Note that if you deselect either Setup Type or Custom Setup, the other is automatically deselected.

•	Click the Preview push button to see a full-size preview of the highlighted dialog.

•	To modify the settings for a particular user dialog, highlight the dialog and click the Settings tab.

•	InstallShield Express includes the following user dialogs:

Welcome Bitmap

Welcome Message

Software License Agreement

Readme Information

User Information

Choose Destination Location

Setup Type

Custom Setup

Select Program Folder

Start Copying Files

Progress Indicator

Billboards

Setup Complete

When you have finished selecting your installation dialogs and modifying their settings, Click OK.


Disk Builder Error Messages
.

	Disk Builder Error Messages
.

Warning Messages

Warning messages are displayed in the Feedback window of the Disk Builder.  The warning will not cause the Disk Builder to stop executing, but the condition that caused the warning may cause serious problems in your setup.

Many warning messages concern the misuse of Express directory specifiers.  A warning will occur if an unknown group or variable name is referenced.

Note  Group name directory specifiers are delimited by [ ] and the other directory specifiers by < >.  The group names and specifiers are case- and white space-sensitive.

Warning Number	Description	Possible Solution
100	Unknown specifier '%s'* used for filename in private INI file %s.	Go to the Private .INI Files dialog.  Find your entry for the .INI file specified, and fix or delete the unknown specifier.
101	Unknown specifier '%s' used for value in section %s of %s.	Go to the System .INI Files dialog.  Find your entry for the .INI file specified, and fix or delete the unknown specifier.
102	Unknown specifier '%s' used for value in registry key %s.	Go to the Registry - Keys dialog.  Find and highlight the registry key specified.  Click the Registry - Values tab.  Fix or delete the unknown specifier.
103	Unknown specifier '%s' used as command for icon '%s'.	Go to the General Icon Settings dialog.  Highlight the icon specified.  Fix or delete the unknown specifier in the Run Command edit field.
104	Unknown specifier '%s' used as parameter for icon '%s'.	Go to the General Icon Settings dialog.  Highlight the icon specified.  Fix or delete the unknown specifier in the Run Command Parameters edit field.
105	Unknown specifier '%s' used as working directory for icon '%s'.	Go to the Advanced Icon Settings dialog.  Highlight the icon specified.  Fix or delete the unknown specifier in the  Working Directory edit field.
106	Unknown specifier '%s' used as icon file name for icon '%s'.	Go to the Advanced Icon Settings dialog.  Highlight the icon specified.  Fix or delete the unknown specifier in the  Icon edit field.
107	Unknown specifier '%s' used as environment variable in AUTOEXEC.BAT section.	Go to the AUTOEXEC.BAT dialog.  Find the unknown specifier in the Environment Variable window.  Fix or delete the entry for the variable.
108	Unknown specifier '%s' used as command in AUTOEXEC.BAT section.	Go to the AUTOEXEC.BAT dialog.  Find the unknown specifier in the Command edit field.  Fix or delete the entry.
109	Unknown specifier '%s' used as setting in CONFIG.SYS section.	Go to the CONFIG.SYS dialog.  Find the setting containing the unknown specifier in the CONFIG.SYS Changes window.  Highlight the setting, then fix or delete the entry in the Setting edit field.
110	Unknown specifier '%s' used as run command in Setup Complete dialog.	Go to the Setup Complete user dialog in the Select User Interface Components section and click the Settings tab.  Fix or delete the unknown specifier in the Run Command edit field.
111	Unknown specifier '%s' used as run command parameter in Setup Complete dialog.	Go to the Setup Complete user dialog in the Select User Interface Components section and click the Settings tab.  Fix or delete the unknown specifier in the Run Command Parameters edit field.
112	Unknown specifier '%s' used as Readme file in Setup Complete dialog.	Go to the Setup Complete user dialog in the Select User Interface Components section and click the Settings tab.  Fix or delete the unknown specifier in the Readme  File edit field.
113	Unknown specifier '%s' used as application EXE name in App Info section.	Go to the Application Information dialog.  Fix or delete the unknown specifier in the Application Executable edit field.
114	Unknown specifier '%s' used as installation's destination directory.	Go to the Dialog Boxes dialog, highlight the Choose Destination Location user dialog, and click the settings tab.  Then fix or delete the unknown specifier.
115	Missing information in the Application Name, Version, or Company field of the Application Information dialog.	Go to the Application Information dialog.  Add the necessary information in the appropriate field.
116	Unknown specifier '%s' used as filename for Express Extension.	Go to the Express Extensions dialog.  Highlight the Extension referenced in the error message and click the Settings tab.  Fix or delete the unknown specifier in the EXE Filename field.
117	Unknown specifier '%s' used as parameter for Express Extension.	Go to the Express Extensions dialog.  Highlight the Extension referenced in the error message and click the Settings tab.  Fix or delete the unknown specifier in the Optional Program Parameters field.
118	The filename in the Express Extension %s is being referenced before the file is copied.  This will cause the Extension to fail.	Go to the Express Extensions dialog.  Highlight the Extension referenced in the error message, click the Ordering tab, and specify a point in the installation after file-transfer.
120	The group %s is not assigned to any component.	Go to the Components dialog and assign the specified group to the appropriate component.
121	The component %s is not assigned to any setup type.	Go to the Setup Types dialog and add the specified component to the appropriate setup type(s).
130	No bitmap specified for Welcome Bitmap dialog.	Go to the Welcome Bitmap settings tab and specify the appropriate bitmap file.
131	No file specified for Software License Agreement dialog.	Go to the Software License Agreement settings tab and specify the file containing your license agreement.
132	No file specified for Readme Information dialog.	Go to the Readme Information settings tab and specify your Readme file..
133	No default directory specified for Choose Destination Location dialog.	Go to the Choose Destination Location settings tab and specify a default directory.
134	No default folder name given for Select Program Folder dialog.	Go to the Select Program Folder settings tab and specify a default folder name.
135	No directory given for billboard file(s).	Go to the Billboards settings tab and specify the directory which contains your billboard file(s).
136	The file %s has a long filename which is not supported in Win 3.x.	You must remove or rename the specified file so that its fully qualified path does not contain any long filenames (16-bit setups only).
140	No icons created as part of your setup.	Go to the General Icon Settings dialog.  Specify the icon(s) you want to include in your program folder.
141	The icon description '%s' is too long for Program Manager.**  Program Manager limits icon descriptions to 40 characters.	Go to the General Icon Settings dialog.  Edit your entry in the Description field until it contains 40 or fewer characters.
142	The program folder name '%s' is too long for Program Manager.  Program Manager limits program folder names to 29 characters.	Go to the Select Program Folder Settings tab and specify a default folder name that is 29 characters or shorter.
143	The <INSTALLDIR> directory specifier should not be used in the Choose Destination Location user dialog.	Go to the Choose Destination Location Settings tab and specify a default target directory that does not include the <INSTALLDIR> directory specifier.
144	No components were added to the '%s' setup type.	Go to the Setup Types dialog and add the appropriate component(s) to the specified setup type.
145	No groups were added to the '%s' component.	Go to the Components dialog and either add the appropriate groups to the specified component, or delete the component.
146	No files were added to the '%s' group.	Go to the Groups and Files dialog and either add the appropriate files to the specified group, or delete the group.
* The %s format specifier is replaced by the filename in the warning or error message.

** Program Manager applies not only to Windows 3.x, but also to Windows NT and, in some cases, Windows 95.

Error Messages

An error message from the Disk Builder will cause Express to stop executing.  Error messages are generated by problems which prevent one of the InstallShield Express programs from carrying out its task.  Except for error number 150, errors are displayed in a secondary dialog box, as shown below:

A typical error message generated by the Express Disk Builder.

Error Number	Description	Possible Solutions
-1	Unknown error	This error message is actually generated by one of the three DOS programs used by Disk Builder while creating your setup's disk images. This message may be displayed if your Express project's .iwz file is opened or saved on a network resource using a UNC path name (for example: \\Test\MyProject.iwz). In this case, the DOS programs used to compress your setup's files and split the compressed library over your distribution media will not understand the current directory being a UNC path. The same may hold true if your copy of Express is located on a network resource and accessed with a UNC path name, since this will be the current directory from which Disk Builder (and the DOS programs it utilizes) is run, and so no files outside of this current directory will be accessible. If your Express checkpad interface has a UNC path name under the toolbar (above the "Setup Checklist" title), then this may be the cause of the problem. Please use only standard DOS paths when opening or saving your Express project's .iwz file. If you have Express installed on a network, please make sure that this network resource is mapped to a drive letter. Note:  This problem does not affect using UNC paths for the locations of your setup's source files.
-2	Unable to open input file.  Command parameters=%s*	The message can be caused if one of the file groups contains a filename that begins with a period.  The simple solution is to avoid ussing filenames that begin with a period.
-3	Unable to open output file.  Command parameters=%s
-4	Unable to write to file.  Command parameters=%s
-5	Input file not compressed with InstallShield Compressor
-6	Memory allocation error
-7	Header information of compressed file is incorrect
-9	Source and target directories conflict
-16	Library compacting error
-38	Out of disk space	You must free disk space on the drive containing your setup project before running the Disk Builder again.
-43	Compression error during read/write of non-compression data
-46	Target file is read-only
150	Build canceled due to missing files.	When Express is unable to locate a file in the path specified, a dialog box will give you the option of launching the Open dialog, which you can use to locate the file.  If you are unable to find the file using the dialog, you will get this error message.  You must then either place the file in the location specified in the Groups and Files dialog or delete it from your setup.


Disk Builder Settings
.

	Disk Builder Settings
.

The Settings tab enables you to set the disk image options for your installation.  This tab enables you to select the size of the distribution media and set aside space on the first disk for any uncompressed files you might need to include.

The Settings tab consists of the following areas:

Disk Size
To select the distribution media format, choose the disk size (CD-ROM, 120MB, 2.88MB, 1.44MB, 1.2MB, 720K, InstallFromTheWeb, and Custom) in the Disk Size drop-down box.

	The InstallFromTheWeb option allows your disk images to be created in the smallest size possible.  This allows for easy Web-enabling of your installation with InstallFromtheWeb.  The default size for an InstallFromtheWeb disk image is 128K.  More more information regarding InstallFromTheWeb, please visit the InstallFromTheWeb site at http://www.installshield.com/iftw/.
	The Custom Size option enables you to select the size of the disk images that Express will create.  The default size for a custom disk image is 1028K.  To change the size, click in the Custom Size field and enter the setting in kilobytes you wish to use.
Note  The first disk of a set created using either the InstallFromTheWeb options or the Custom Size option could actually be larger than the specified size.  This is because certain files, such as Setup.exe, are required by Express to be located completely on the first disk of the set.  All other files in the set will be built to the size selected in the Custom Size field on the Settings tab.

Generate autorun.inf file
If your application will be loaded from a CD-ROM drive and you would like the installation to launch automatically when the disk is placed in the drive, select the Generate autorun.inf file check box.

Extra files for disk 1
Express provides you the option of reserving room on the first disk image for any uncompressed file you might need.  This feature will be very useful if you are installing from a CD-ROM and you would like to place some of your application’s files on the customer’s system and leave some files on the CD-ROM or if you are using an Express Extensions to access a file on your disk during the file transfer process.  For more information on the use of this feature, refer to Express Extensions.

Note  Any files added to your setup's distribution media by using this method will not be copied to the target machine during installation.

While Express does provide you the option of reserving room on your setup's first disk image for any uncompressed files you might need, it requires you to specify the uncompressed files you wish to add before it will build your disk images. If you wish to reserve space on your first disk image without having Express place any files there, you can use the following method:

1.	In the Settings tab of the Run Disk Builder dialog, select from the drop-down listbox a distribution media size that is actually smaller than that which you will be using for distributing your software. (For example, if you will be using standard 1.44MB diskettes to distribute your application, you could choose for Disk Builder to create your setup's disk images with a size of 1.2MB or even as small as 720K.)

2.	When using the Copy to Floppy dialog to transfer the disk images to distribution media, use a larger size for your setup's first diskette than you had specified in Step 1. (In the above example, you could use a 1.44MB diskette for your setup's first diskette and 1.2MB or 720K diskettes for all subsequent diskettes.)

For more information on the other tabs of the Run Disk Builder dialog box, click the [image] tab or the [image] tab.


Disk Builder TEMP Files
.

	Disk Builder TEMP Files
.

The TEMP Files tab allows you to identify those files which are needed only during the installation.

The TEMP Files tab consists of the Temporary file for Disk 1 window.  If you are using an InstallShield Extension for a .DLL file, you will want to add the .DLL file here.  Express will compress any file listed in this window into the _SETUP.LIB file, which will be placed on disk 1 of your installation set.  After the installation runs, the files that are included here will be deleted from your customer’s system.

For more information on the other tabs of the Run Disk Builder dialog box, click the [image] tab or the [image] tab.


Express Directory Specifiers
.

	Express Directory Specifiers
.

One of the biggest considerations in creating a setup is accounting for the differences between the various target systems of your users.  You have no way of knowing where a particular user will want to install your application, nor even where the main Windows and System directories are on that system.

For that reason, InstallShield Express includes a set of directory specifiers which are replaced by information about the user's system during the installation.  They are used whenever you need to express the location of a file after it has been copied to the target system.

<INSTALLDIR>  This specifier is replaced with the main installation directory selected by the user during the setup process.  The user selects this directory in the Choose Destination Location dialog (although, in an installation with multiple setup types, he may override his earlier selection in either the Setup Type or Custom Setup user dialog).

<WINDIR>  This specifier is replaced with the main Windows directory on the target system (e.g. C:\WINDOWS).

<WINSYSDIR>  This specifier is replaced with the Windows System directory on the target system (e.g. C:\WINDOWS\SYSTEM).  If the target machine is running Windows NT, this specifier will indicate the SYSTEM32 directory if you have a 32-bit setup, and SYSTEM directory if you have a 16-bit setup.  If you need to include 16-bit DLLs with your 32-bit application, use <WINSYS16DIR> instead.

<WINDISK>  This specifier is replaced with the drive letter of the disk containing the Windows directory (e.g. C:).

<WINSYSDISK>  This specifier is replaced with the drive letter of the disk containing the Windows System directory (e.g. C:).

<WINSYS16DIR>  On a Windows NT target system, this specifier is replaced with the 16-bit System directory.  On a Windows 95 or Windows 3.x machine, this specifier is exactly like <WINSYSDIR>.

<ProgramFilesDir>  This specifier is replaced with the Program Files directory on the target system (e.g. C:\PROGRAM FILES).  In Windows 95, the Program Files directory location is stored in the registry under the "ProgramFilesDir" value name.  In Windows NT, Express appends the Program Files subdirectory to <WINDISK>, and in Windows 3.x, Express appends ProgramF to <WINDISK>.

<CommonFilesDir>  This specifier is replaced with the Common Files directory on the target system (e.g. C:\PROGRAM FILES\COMMON FILES).  In Windows 95, the Common Files directory location is stored in the registry under the "CommonFilesDir" value name.  In Windows NT, Express appends the Common Files subdirectory to <WINDISK>\Program Files, and in Windows 3.x, Express appends CommonF to <WINDISK>\ProgramF.

	<FONTDIR>  This specifier is replaced with the directory on the target system where the Windows fonts directory is located (e.g. C:\WINDOWS\FONTS).
<SRCDIR>  This specifier is replaced with the source directory from which the application files are taken.  For example, if the source files are be installed from diskettes located in the customer’s A: drive, the "SRCDIR" value will be A.

<SUPPORTDIR>  This directory specifier is used in conjunction with storing temporary installation files in _SETUP.LIB. For example, if you have a custom .DLL (named MYDLL.DLL) that is to be used during the installation and then deleted, the extension filename for this .DLL would be <SUPPORTDIR>\MYDLL.DLL. For more information on including temporary file, refer to the [image] tab of the Run Disk Builder dialog box.

[group name]  A bracketed group name (e.g. [Program Files]) can also be used as a specifier.  This specifier is replaced by the directory into which the particular group is copied.

You can indicate a subdirectory of any of these specifiers by modifying them as you would any standard path.  To specify the HELP subdirectory of your main directory, you would enter "<INSTALLDIR>\HELP".  Or, to specify the TEMPLATES subdirectory of the directory containing the Support Files group, you would enter "[Support Files]\TEMPLATES".

The Help for each dialog will indicate whether Express directory specifiers can be used in any of the edit fields.

Express automatically uses some of these specifiers in certain locations, such as the Application Executable field in the Application Information dialog, and the Run Command field in the General Icon Settings dialog.


Express Extensions
.

	Express Extensions
.

InstallShield Express enables you to call a .DLL function or run an .EXE file from your installation.  For example, you may want your installation to launch your application automatically when the setup is complete.  Express Extensions provide this functionality.

Extensions are excellent for those projects with very special needs, but they can be tricky to implement.  The ability to access an external program during the installation process gives you increased power, but if you do not call the extension correctly, the entire installation can fail.  If you are attempting to create an Express Extension, please carefully read all of the documentation provided (both printed and online) before adding the extension to your installation.  An excellent source of information regarding Express Extensions is the Express Knowledge Base, which can be found on the InstallShield website at http://www.installshield.com/express.

Before You Begin

Before adding an extension to your installation, keep in mind a few basic points.  Failure to consider these points can result in problems with your installation.

1.  Make sure that the .DLL or .EXE is accessible on the customer’s system when you call the extension.  The best way to ensure this is to include the .DLL or .EXE with your application files so it is installed in the target location.

2.  If the .DLL or .EXE must be called before file transfer occurs, then compress it into _SETUP.LIB so that it is automatically available in <SUPPORTDIR> after the installation has initialized.  You can also place the .DLL or .EXE uncompressed onto distribution disk 1, but this option requires the disk to be in the drive in order to access the file.

3.  Ensure that any dependent files required by your extension are available on the system when you call the extension.

4.  If you are calling a function in a custom .DLL, ensure that the function is properly prototyped to receive the correct data from and return the correct values to Express.

Adding an Extension

Regardless of the type of extension to be called, the initial steps to adding an extension to your installation are as follows:

Step 1

To open the Express Extensions dialog, select the Express Extensions entry from the Setup Checklist.  The Extensions window on the left side of the dialog displays the files currently selected.

Step 2

Click the New push button beneath the Extensions window to open the New Extension dialog box.  Select the appropriate radio button depending on whether you want to call a custom .DLL or launch an executable file.  Click the OK push button enter your selection and close the dialog box.

Step 3

Step 3 enables you to select the point in your installation when the extension is to be launched.  Highlight one of your Express user dialogs to select the point within your installation when you want your extension to be launched.  The extension will run BEFORE the highlighted dialog.  Please note that the order that the extensions are displayed in the Extensions window reflects the order that the extensions were created, NOT the order that the extensions will run during the installation.

Note  If you have already included an extension and are creating an additional one, do not highlight the location of the new extension until you have added it.  If you select a location before clicking the New push button, you will change the order of the existing extension which is currently highlighted

Once you have selected the point within the setup at which your extension will run, click the Settings tab and enter the settings for the appropriate type of extension.

The next step in the process depends on the type of extension you just added.

Click here for information on calling a custom .DLL.

Click here for information on running an .EXE file.

Deleting an Extension

To delete an extension, highlight the extension you want to remove and click the Del push button beneath the Extensions window.

Note  If you would like additional information regarding Express Extensions, please refer to the technical information located on the InstallShield Express website at www.installshield.com/express.


Express User Interface
.

	The Express User Interface
.

InstallShield Express has a simple, yet flexible, interface which allows you to navigate the program features using familiar controls.

Title Bar:  Displays your project name next to the full Express name.  You can access the System menu by either left-clicking the small icon at top left, or right-clicking anywhere on the bar.

Menu Bar:  Contains four drop-down menus:

•	File -- contains New, Open, Close, Save, Save As, and Exit options, as well as the most recently used files and shortcut keys.

•	View -- allows you to display or hide the toolbar and status bar.

•	Checklist -- provides an alternative method for accessing Setup Checklist items using a mouse or your keyboard.

•	Help -- gives you quick access to the Online Tutorial, Help Index, Readme file, Technical Support information, About box, and the InstallShield Express website.

Toolbar:  Contains nine push buttons which access some of the most common control dialogs:

  New -- Opens the New Project dialog box.

  Open -- Opens the Open dialog box.

  Save -- Automatically saves your project under its current name and location.

  Build -- Launches the Disk Builder dialog.

  Test Run -- Executes a test run.

  Copy to Floppy -- Launches the Copy to Floppy dialog.

  Explorer -- Launches Windows Explorer.

  About -- Opens the About InstallShield Express message box.

  Help -- Accesses context-sensitive help.  When you click this push button, the question mark icon will appear to be "attached" to your arrow icon.  Point the arrow at the checklist item for which you want help, and single-click to open Express Help on that particular topic.

Checkmarks:  These also serve as reminders.  A checkmark will appear next to each dialog in which you have made and accepted settings.  You do not need to have all, or any particular number, of the dialogs checked in order to create your setup.

Push Buttons:  You can instantly access any of the Express dialogs by clicking the appropriate push button or the name of the dialog.

Dog-ear:  On lower resolution monitors, click the dog-ear to reveal the rest of the Setup Checklist.  On all resolutions, clicking the dog-ear reveals contact information for InstallShield Express.

Status Bar:  Displays basic information about the control which the arrow is pointing at.

	Additionally, the background of Express contains hot links to the Express website and the Express newsgroups, as well as a form for emailing feedback to the Express team.


Express Wizard
.

	The Express Wizard for VB5
.

.

	Creating an industry-standard installation for your Visual Basic 5.0 application just because even easier.  The InstallShield Express Wizard enables you to quickly create a Windows 95/NT Logo-compliant installation by completing no more than five simple dialog boxes.
To invoke the Express Wizard, simply open a new setup project in InstallShield Express.  After completing the New Project dialog box and clicking the Create push button, the first dialog box of the Express Wizard appears.  The Express Wizard prompts you for information about your application and displays specific information and settings based on the answers.

For more specific information on any of the Express Wizard's dialog boxes, simply click the appropriate name below or click the [image] push button in the Help window's title bar to see the next Express Wizard dialog box.

  Selecting the application's Visual Basic 5 project file

  Modifying the application information for the setup

  Customizing the file distribution list

  Using the Express Setup Checklist to further customize your setup

  Building the setup

At the completion of the final step of the Express Wizard, your application will have a top-quality installation to introduce it to your customers.


Express Wizard: Application Information
.

	Express Wizard:  Application Information
.

..

	This dialog enables the addition and modification of the information required for the creation of your setup.  The default entries appearing in each field are taken from the information the Express Wizard detected in the specified .vbp file.  Ensure that the information in all of the following fields is correct before advancing to the next dialog box.
Note	You must enter information or leave the default settings in the Application Name, Version, and Company fields in order to comply with Windows 95 Setup Guidelines.  If you erase any of these fields, Express will not be able to make the automatic registry entries necessary to meet Windows 95 specifications, including the uninstallation entry.

Application Name:  Enter the full name of your application (80 characters max.).  The default setting for this field will be the project name taken from the .vbp file specified in the previous dialog.

Application EXE:  To change the main application executable file for your application, enter highlight the current entry and type the new entry in the field or click the Browse... push button next to this field to launch the Open dialog.  From this dialog, locate and select your primary file.  When you click the Open push button to close this dialog, the filename and path will be displayed in the field.

Version:  If you specify an executable which contains a version resource in the Application Executable, Express will enter the version number in this field.  Otherwise, the default setting for this field is 1.0.  You can also enter or modify the version number of your application.  You can format your version number however you like (the field will accept up to 40 characters).

Company:  Enter the name of your company (80 characters max.).  The default setting for this field will be the company name you entered when you first installed Express on your system.

Default Destination Directory:  Microsoft's Windows 95 Setup Guidelines recommend that the destination directory for your application be a subdirectory of the Program Files directory, and that you use a long filename to help create a unique name for it.  The Express Wizard does this by automatically creating the default destination directory displayed in this field.  The Express Wizard uses the following format to create the default destination directory:<ProgramFilesDir> directory specifier\<Company>\<Application>.  The names of the <Company> and <Application> directories will be determined by the information you entered in the Company and Application Name fields in this dialog.  The Express Wizard uses Express directory specifiers to act as placeholders which are replaced by the user's information during the actual installation.  The directory specifier can be changed by simply selecting a different specifier from the drop-down menu available in this field.

Note  We recommend that you avoid using hard-coded directories in your setup whenever possible by taking advantage of the more flexible Express directory specifiers.

After checking the application information to be used for your setup, click the Next> push button to advance to the next Express Wizard dialog box, the <Back push button to return to the previous dialog box, or the Cancel push button to exit the Wizard.


Express Wizard: Building the Setup
.

	Express Wizard: Building the Setup
.

.

	The final step of the Express Wizard is to create the disk images for your setup.  This dialog is split into three areas:
Select your distribution media size/type

This section enables you to select the disk size or file format for your distribution disks.  The Express Wizard enables you to select from a number of different options via the drop-down menu for the Disk Size/Type field.  In addition to the various disk sizes available, InstallShield Express also includes an Internet distribution option, which builds your installation into very small disk images for easy Web-enabling with InstallShield's InstallFromTheWeb.

The lower section of this area displayed the directory where your setup will be placed.  This location is based on the information you provided in naming your setup project.

Disk copy

After selecting the size and distribution type, you can select to either copy your setup to a disk drive or network location or you can skip this step and build the disks at a later point.  (The Setup Wizard will save your settings for later editing in the Setup Checklist).  Select your option by clicking the appropriate radio button.

If you select the Copy the files to the location specified below option, you can enter the path where you want to copy your setup into the Path field.  The Path field allows you to place the files directly onto a network or hard disk location.  You can use standard DOS paths or UNC paths in the edit field.  You can also search for the location by clicking the Browse... push button.

SMS support

The Express Wizard also allows you to add Systems Management Server (SMS) support by simply selecting the Enable Systems Management Server support option.


Express Wizard: Customizing File Distribution List
.

	Express Wizard:  Customizing File Distribution List
.

.

	The Express Wizard allows you to easily customize the list and organization of the files to be installed by your setup.
The Files for distribution window displays the files that the Express Wizard determined should be included in your setup.  These files are organized into file groups.  To display the files for a file group, click the + sign next to the file group.  This will display all of the included files placed in that group.  To hide the displayed files, click the - sign next to the file group.

After you display the individual files included in each file group, you may decide that additional files should be included in your setup.  To do this, click the Add Files... push button to launch the Windows Explorer.  Simply highlight the file(s) in the Explorer window to be added to the setup and drag them to the Files for distribution window, dropping them on the appropriate file group.

To delete a file from one of the file groups, highlight the file to be deleted and click the Delete File push button.

If you would like to further customize the settings for your setup, you can do so via the Express Setup Checklist. The next dialog in the Express Wizard explains how you can visit the Setup Checklist to perform these modifications.  For a complete explanation of how to use file groups, components, and setup types, refer to Groups, Components, and Setup Types.

After customizing the list of files to be included in your setup, click the Next> push button to advance to the next Express Wizard dialog box, the <Back push button to return to the previous dialog box, or the Cancel push button to exit the Wizard.


Express Wizard: Selecting the Visual Basic 5 project file
.

	Express Wizard: Selecting the Visual Basic 5 project file
.

.

	The first dialog box of the Express Wizard prompts for the name of the main Visual Basic 5.0 project file for your application.  The wizard uses much of the information already entered into this .vbp file to build the setup.  If you are uncertain of the exact directory structure for this file, click the Browse... push button to the right of the text field.  This launches the Open files dialog which enables you to browse the folders of your system for the project file.
After selecting your Visual Basic 5.0 project file, click the Next> push button to advance to the next Express Wizard dialog box, or the Cancel push button to exit the Wizard.


Express Wizard: Using the Express Setup Checklist
.

	Express Wizard: Using the Express Setup Checklist
.

.

	The Express Wizard enables you to quickly create a professional installation.  However, you may need some additional customized functionality that the Express Wizard does not offer you, such as customized registry entries or InstallShield Objects for Visual Basic 5.0.  For this purpose, the Express Wizard offers the option of saving the settings you have selected in the Wizard's dialog boxes and transferring them to the Express Setup Checklist, where each item can be customized in greater detail.
If you have no need for further customization and you are ready to actually build your installation, the Express Wizard can accommodate you.  Based on information you select in the next Wizard dialog box, the Express Wizard will automatically compress your application and installation files and create the appropriate disk images.

The only selection you need to make in this dialog box is to select the radio button for the next action you wish to take, either visiting the Express Setup Checklist or building the installation.

After selecting the next step you wish to take, click the Next> push button to advance to the dialog box you selected, the <Back push button to return to the previous dialog box, or the Cancel push button to exit the Wizard.


Features
.

	Features
.

The Features dialog contains the activating controls for many of Express' special setup features.

Automatic Uninstaller

We strongly recommend that you leave the Automatic Uninstaller check box in its default position, selected, for 32-bit installations.  When this box is checked, Express will automatically include unInstallShield, the InstallShield uninstallation program, with your application.  Windows 95 Logo Requirements include uninstallation capability.

If your user chooses to uninstall your application, unInstallShield can automatically remove your application files, icons, folders, directories, and registry entries.

Refer to the unInstallShield topic in these files for more information.

Note  unInstallShield will automatically remove those registry entries which are, by default, created by Express.  It will not remove any additional registry keys you may have specified in the Make Registry Changes dialog.  In order to ensure compliance with Windows 95 Setup Guidelines, you will need to add an uninstall key for any entries you have made.  Refer to the Registry - Keys dialog for more information.

	Provide System Management Server (SMS) Support By selecting the Provide SMS Support option, your installation will have the ability to be automatically deployed enterprise-wide.  Express will automatically create the Package Definition File (PDF) and the Management Information Files (MIF) required for Microsoft SMS support.
Target Platform

The Target Platform window shows you whether you have selected a 16-bit or 32-bit setup, and allows you to change the platform if you so desire.

	Project Language You can now change the project language for an Express setup project without having to recreate your installation from the beginning.  Simply select the language that should be displayed to your customer by selecting it from the Project Language drop-down box.
Note  If you have made any settings in the InstallShield Objects dialog box, changing the project language will remove these settings.

After you have made your selections, you can click OK to accept the data, Cancel to reject it, or either of the two other tabs, [image] or [image], to enter additional information in the Set the Visual Design window.


File Update Method
.

	File Update Method
.

.

	Express allows you to set the method of updating files on the target system based on the setting you select for each file group.  You have the following four options:
Update files with newer version number
This, the default setting, will only allow a file on the target system to be replaced by a file in the installation with the same name if the installation file has a higher version number.

Update files with more recent dates
This setting will only allow a file on the target system to be replaced by a file in the installation with the same name if the installation file has a more recent date.

Always update files
This setting will replace a file on the target system with a file in the installation with the same name regardless of version number or file date.

Never overwrite files
This setting will only add a file on the target system if a file with the same name does not exist in the target location, regardless of version number or file date.

All files placed in the same file group will use the file update method set for it in this dialog.  This is something to keep in mind when planning your installation.

Note  These selections will be unavailable if a file was added to the group by selecting an InstallShield object.  In this case, Express will use the update method appropriate for the file being added.


FlexGrid Control
Choose if your application uses the FlexGrid control, which allows individual cell formatting, sorting, cell-grouping, read-only data binding, extra storage capacity, and extensive customization options


Font Installation
.

	Font Installation
.

.

	Express enables you to quickly and easily install fonts on your customer's system.  This is accomplished by using the <FONTDIR> directory specifier
To add a font to your installation, please follow these steps:

1.  Click the Group and Files button under the Specify Components and Files heading in the Express checklist.  This will open the Specify Componts and Files dialog to the Groups and Files tab.

2.  Create a new file group for your fonts by clicking the Add Group push button.  Enter the name of the file group in the Group Name field.  In the Destination Directory combo box, select <FONTDIR>.  Click the OK button to accept your entries.

3.  Add the font file to the groups to be installed to the <FONTDIR> location just as you would add any other file to a file group.

Note:  As of the release of Express 2, there is a Windows95 bug that causes a bit of a problem from the developer's standpoint  The Windows 95 Explorer will not allow you to drag and drop a font directly from the Windows\Font directory.  To work around this, all you need to do is copy the font to another folder on your machine and drag and drop the fonts from there.  This problem occures only on Windows 95 systems

4.  Click the OK button to close the Specify Components and Files dialog box.


Gamesman OCX
This includes all the Gamesman OCX files that are supplied with the Optima ++ or Power++ package.  Choose this if your application makes use of any Gamesman control.


Gauge Control
Select if your application uses gauge controls.


General Icon Settings
.

	General Icon Settings
.

The General icon settings dialog allows you to specify the icons you want to place in your application's folder (Windows 95 and NT 4.0) or group (Windows 3.1 and NT 3.51) and define the initial size of your application's window.  On Windows 95 and NT 4.0 systems, the folder will be placed on the Start Programs menu.  You can place an individual icon in a specific location using the Advanced icon settings tab.

	Window:  To define the size of the application window upon launching, select the appropriate selection in the Window window by clicking the appropriate radio button.  Show Normal, which is the default setting, will launch the application in its normal (non-minimized and non-maximized) size.  Show Maximized will display the application in a maximized window. Show Minimized will display only the application's minimized icon.
•	To add an icon:  If you know the location of the icon resource, you can enter it directly into the Run Command field.  Express directory specifiers can be used in this field to help specify the file's location. You can also search for the file by clicking the Browse... button next to the Run Command field.  The Setup Files Browser window will open, displaying the files which you have previously copied to your program groups in the Groups and Files dialog.  Select the program file to which you want to assign an icon, and click OK to close the window.

When you return to the General dialog, the installation path of the file (e.g. [Program Files]\YOURAPP.EXE) will be displayed in the Run Command field.

You can specify a command parameter by either clicking the browse button next to the box and selecting an installation path from the Setup Files Browser window, or by typing it in the Run Command Parameter combo box.  You must specify the location of any file in this field using an Express directory specifier.

Enter the name which you want to appear under the icon in the Description field.  The default entry in this field will be the program filename.

When you have made your specifications, click the Add Icon push button.  InstallShield Express uses the following steps to determine the icon image:

1.	Express first looks for an icon resource within the program file.  If more than one is present, Express will use the first resource it encounters.

2.	If the file does not include an icon resource, Express checks the registry to see if the file extension is associated with an icon.  If so, Express will select that image.

3.	If the file does not include an icon resource, and the registry does not associate an icon with the extension, a message box will be displayed informing you that Express will use a default icon.  If you want to use an outside resource for your icon image, such as an .ICO or .DLL file, you can do so in the Advanced icon settings dialog.

Note  If you are using only one icon, Windows 95 Setup Guidelines recommend that you add the icon directly to the Start Programs menu.  You can do this in the Advanced icon settings dialog.

Express will enable your installation to install an icon referencing a file that is not installaed on the target machine.  Click here for more details on this procedure.

•	To delete an icon:  Click the icon image to highlight it.  Press the Delete key on your keyboard.

•	To modify an icon:  Click the icon image to highlight it.  Make the desired changes in the appropriate field or box.  Click the Modify Icon push button.

When you have finished making all of your general icon selections, you can click OK to accept the specifications, Cancel to reject them, or the [image] tab to take advantage of additional options.


Graph Control
Choose if your application uses the Graph control.


Grid Control
Choose if your application calls the Visual Basic grid controls.


Groups and Files
.

	Groups and Files
.

The Groups tab of the Specify Components and Files dialog allows you to organize your application files into groups, which are used to determine the location of the files on the target system, and, optionally, to provide the user with custom installation selections.

If you are not familiar with the concept of file groups, or you would like to learn how to take greater advantage of them in your setup, refer to Groups, Components, and Setup Types.

The toolbar at the top of the Groups tab is specialized for the tasks that you will be perfoming as you work with your file groups.  All of the functionality available in this tool bar can also be accessed by a right-click of your mouse.  These functions are:

New Group...	Opens the New Group dialog box, which allows you to set set properties for the file group such as the group name, destination directory, file update method, and target platforms.  Refer to Working With File Groups for more information on these attributes.
Insert Files...	Opens a browse dialog which allows you to look for specific files on your system to add to the highlighted file group.
Cut	Remove the highlighted file from the group and place it on the clipboard.
Copy	Copy the highlighted file and place it on the clipboard
Paste	Add the file on the clipboard to the highlighted file group.
Delete	Remove the highlighted file from the file group.
Move Up	Move the highlighted file up one position in the group's file list.
Move Down	Move the highlighted file down one position in the group's file list.
Move First	Move the highlighted file to the top of the group's file list.
Move Last	Move the highlighted file up to the bottom of the group's file list.
Display Path	Toggles the full pathname for the File Groups window on or off.
Properties	Display the group properties if a file group is highlighted and displays the file's properties if an individual file is highlighted.
The File Groups window displays the current file groups and, by expanding the control for each group, the files that are currently assigned to each file group.  For more information on setting up your file groups, please refer to Working With File Groups.  For more information on configuring your individual files, please refer to Working With Individual Files.


Groups, Components, and Setup Types
.

	Groups, Components, and Setup Types
.

Groups, components, and setup types provide the framework for copying your files.  In InstallShield Express, you select the files to be copied by dragging and dropping them into groups.  You add these groups to components, which represent logical elements of your application.  Using components, you can offer multiple setup types to your user.

The figure below graphically represents the relationship between these concepts:

You have probably already encountered multiple setup types while installing software.  Setup types allow the user to select from among several installation "packages."

You do not have to include multiple setup types in your installation.  Even if you chose the option to offer them when you first opened your project, you can go to the Select User Interface Components dialog and deselect either the Setup Type or Custom Setup user dialog.  This will dynamically modify the Setup Types tab on the Specify Components and Files dialog to display only one setup type: Complete.

If, however, you do choose to include multiple setup types, Express supports these three:

Typical: Usually a complete setup, including all components.

Compact: Usually consists only of those components necessary to run the application.

Custom: Allows the user to select which components will be installed.

As the descriptions above suggest, components are the building blocks of setup types.  Components are groups of related files that represent different parts of the application, such as help and Readme files, templates and examples, tutorials, and the main application itself.

If you are not offering multiple setup types, you don't even need to worry about components.  Express adds all file groups to a single component.  That component is automatically included in the Complete setup type.

If you are offering multiple setup types, you will specify which components are included with each setup type in the Setup Types Express dialog.

You create your components by adding groups to each component in the Components dialog.

Groups are similar to components, in that they are collections of related files.  However, in Express, files and destinations are assigned directly to groups, then the groups are assigned to components.

Basically, groups allow you increased flexibility.  By specifying different destination directories in the Groups and Files dialog, you can create components which include files to be placed in more than one directory, rather than having to specify one directory for the entire component.

You can also choose to allow the user to select which individual groups to install in a custom setup by selecting the check box on the Custom Setup user dialog settings tab.  Using this check box, you can quickly select between a custom setup which lets users select by group, and one which allows selection at the component level.

Again, if you are not offering multiple setup types, you won't need to spend much time assigning groups.  Since you have one setup type and need only one component, the only purpose for creating separate groups for your application files would be to assign different relative destination directories.  Drag and drop all files which will go into the same directory into the same group.  Then add all groups to the component.

Planning your files groups and components becomes even more critical when you are offering setup type options.  The following sample plan exemplifies some of the issues you will need to address.

Sample Group and Component Plan

Note  This sample may be much more complex than your application structure.  The number and configuration of groups and components were chosen in order to illustrate several concepts in one example.  Don't be fooled into thinking you have to make your setup unnecessarily complex.  The simpler your installation structure is, the easier it is to plan.

Let's assume you have an application called MyApp, and you have decided (after some gentle urging from your supervisor) to use Custom and Compact setup types.

You initially divide your application into five components: Help Docs, Examples, Data Files, Utility Programs, and Application Files.  All five components will be included in both the Typical and Custom setup types.  All except for Examples will be included in the Compact setup type.

You plan to install all of the files from the Utility Programs and Application Files components in the <INSTALLDIR> directory.  You wish to place Examples in <INSTALLDIR>\EXAMPLES, and Data Files in <INSTALLDIR>\DATA.  Since the files in each of these components all go in the same directory, you have created and assigned only one group for each.

You have been instructed to place each piece of the documentation in its own directory, so you have created three groups for the Help Docs components: Readme Files (to be placed in <INSTALLDIR>\README), Help Files (<INSTALLDIR>\HELP) and Tutorial (<INSTALLDIR>\HELP\TUTORIAL).

Thus, your initial plan could be represented by the following chart:

Groups	Components	Included in  Compact setup?

As you are preparing and testing your setup, you realize that some of the data files are shared DLLs which really ought to be installed in the <WINSYSDIR> directory.  So you delete the Data Files group and create two new groups, Text Files and DLLs.  You specify <INSTALLDIR>\DATA for the Text Files group and <WINSYSDIR> for the DLLs group, and assign both to the Data Files component.

Your supervisor then informs you that the extensive tutorial which he demanded of you is not an absolutely necessary piece of documentation, so it should not be included in the Compact setup type.  Rather than create a whole new component, you decide to delete the Tutorial group from Help Docs and add it to the Examples component, which you rename Support Files.

Shortly thereafter, Ted from marketing complains that his beta version of your product isn't working properly.  When you go to look at his system, you realize that he chose a custom setup and did not install the Utility Programs component.  You decide that, in order to try to prevent anyone else from making this mistake, you will delete the Utility Programs component and add the Utility Programs group to the Application Files component.

Ted then informs you that you have to include a marketing survey, and your supervisor backs him up, although he does not insist that your survey be required for installation.  So you add the Survey group and component and assign the component to the Typical and Custom, but not Compact, setup types.

Now your updated plan chart looks like the following:

Groups	Components	Included in  Compact setup?

Fortunately, InstallShield Express allows you to make all of these changes without having to rewrite sections of code.  A few clicks on the right dialog boxes, a couple of drags and drops, and you're ready to go again.

Of course, all of this planning is worthless if you don't get the files into the right groups.  When you are testing, experiment by selecting different components for a custom setup.  Make sure that everything you want copied is being copied (and is being copied to the right directory).

Although Express will allow up to 100 components, and up to 100 groups per component, try to use only as many groups and components as you need to accomplish what you want.

And remember that careful planning of your groups, components, and setup types can save you hours of headaches later when you don't understand why files aren't where they're supposed to be.


How To Use the Express Help
.

	How To Use the Express Help
.

The Express Help is a standard Windows help file.  If you are not familiar with the Winhelp format, here are a few tips:

•	You can access context-sensitive help at any time in one of three different ways:

1.	Click the help button [image].  A question mark icon will be "attached" to your arrow icon.  Then click the desired topic.

2.	Click the Help push button in any dialog.

3.	Press the <F1> key at any time.

•	Once in Help, use the Contents push button to return to the main contents screen.

•	You can click the Search push button to browse through the list of topics or create a full-text search.  When you click Search, you will open the Index tab, which allows you to browse the topic titles or type the first few letters of the word you're looking for.  You can also click the Find tab and follow the instructions to create a full-text index, which will allow you to search for specific words or phrases within all Help topics.

•	To return to a topic you have previously viewed, click the Back push button until you reach the desired topic, or open the Options menu and select Display History Window... to view the twenty most recent topics you have visited.  Double-click a topic name in the history window to return to that topic.

•	You can set a bookmark for the current topic by selecting Define from the Bookmark menu.  You can use the topic name to define your bookmark, or you can type your own entry in the Bookmark name edit field.

•	Print the current topic by clicking the Print push button, or by selecting Print Topic... from the File menu.

For more information about Windows help files, refer to the "How To Use Help" topic in Windows help.


How Your User Executes the Setup
.

	How Your User Executes the Setup
.

Launching an InstallShield setup is a simple process.  Depending on the user's platform, you can instruct them to execute your installation in one of the following ways.

On Windows 95 and NT 4.0 systems, the user should always install software using Add/Remove Programs, which is located in the Control Panel.

If your product is designed for novice users, you might want to tell them that they can find Control Panel on the Start Settings menu.  Once the user launches Add/Remove Programs, all he or she has to do is load your disk or CD-ROM and click the Install push button.  Windows 95 will automatically locate the setup and prompt the user.

On Windows 3.1 and NT 3.51 systems, your user can launch your setup using a DOS prompt or File Manager.  From a DOS prompt, the user can go to the drive containing your distribution disk and type "Setup".  In File Manager, the user can click the icon of the drive containing the distribution disk, then double-click the SETUP.EXE filename.

After installing your application, your user will be able to uninstall it using Add/Remove Programs (Windows 95 and NT 4.0) or the Uninstall icon (Windows 3.1 and NT 3.51).  Refer to the unInstallShield topic for more information.


Icon Referencing File on Source Media
.

	Icon Referencing File on Source Media
.

.

	In the Specify Folders and Icons dialog, enter the program file to which you want to assign an icon in the Run Command text field. You may use Express directory specifiers in this entry. For example, if you would like to install an icon that references an uncompressed file which will reside on the distribution media (like a CD-ROM), then you would enter <SRCDIR>\MyApp.exe in the Run Command field. If you are creating a setup for an in-house application and would like to install an icon that references a file which already exists on the target machine or local network, then you would type in the file name and the path under which it will reside on the target machine (e.g., U:\TestDir\MyApp.exe).
Next, enter the description which you want to appear for this icon in the Description field. You may also enter any optional Run Command Parameters in the appropriate text field. Click the Add Icon push button. Since an image resource for this new icon has not yet been specified, a message box will appear informing you that a default icon will be displayed. Simply click on the OK button.

To select an image for this icon from a resource file, the resource (such as an .ICO or .DLL file) containing the icon must have already been copied to one of your program groups.  In the Advanced tab of the Specify Folders and Icons dialog, highlight the icon for which you want to set an image.  Click the browse (...) button next to the Icon field to open the Setup Files Browser window.  Select the desired resource file and click OK. When you return to the Advanced window, the resource file will be listed in the Icon field.  Click the Modify Info push button to apply the new icon.


InstallShield Objects for Borland C++
.

	InstallShield Objects for Borland C++
.

.

	InstallShield Objects allow you to add Borland C++ 5.0 and 5.02 functionality to your application, including support for the Borland Database Engine, SQL Links, Local InterBase, OWL, VBDT, and other components.  In the InstallShield Objects for Borland C++ window, select the controls which your application requires.  Express will automatically add the necessary files and registry/system files changes for the InstallShield Object(s) you select. With the exception of BDE/IDAPI, SQL Links, and ODBC, the InstallShield Objects for Borland C++ require no settings.
The System Files - WinSysDir files are copied to the Windows System directory (<WINSYSDIR>). You should not change the default directories for any of the automatically generated groups.

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

InstallShield Express includes the following Borland C++ 5.0 objects:

BDE/IDAPI

SQL Links

RTL: dynamically linked

RTL: dynamically linked, multithreaded

ClassLib: dynamically linked

ClassLib: dynamically linked, multithreaded

OCF: linked and embedded

OWL: dynamically linked

OWL: dynamically linked, multithreaded

Borland Windows custom controls

VBX

VDBT programmatic access

VDBT with VBX

VDBT with OLE automation

ODBC

Local InterBase Server Files

Local InterBase Windows Tools

Local InterBase Command Line Tools

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for C++Builder
.

	InstallShield Objects for C++Builder
InstallShield Objects allow you to add Borland C++Builder functionality to your application, including support for the Borland Database Engine.  In the InstallShield Objects for Borland C++Builder window, select the controls which your application requires.  Express will automatically add the necessary files and registry/system files changes for the InstallShield Object(s) you select.

The System Files - WinSysDir files are copied to the Windows System directory (<WINSYSDIR>). You should not change the default directories for any of the automatically generated groups.

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

InstallShield Express includes the following Borland C++Builder objects:

BDE

SQL Links

RTL: dnamically linked, multithreaded

Use Packages

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for Delphi
.

	InstallShield Objects for Delphi
.

.

	InstallShield Objects allow you to add Delphi 2.0 or Delphi 3.0 functionality to your application, including support for the Borland Database Engine, SQL Links, ReportSmith Runtime Viewer, Local InterBase, and ODBC.  In the InstallShield Objects for Delphi window, select the controls which your application requires.  When you select a Delphi object, Express creates the System Files - WinSysDir group and adds the necessary files and registry/system-file changes for the object selected.
You should not change the default directories for any of the automatically generated groups.

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

Click here for help on the BDE (Borland Database Engine) Settings, which allow you to specify a full or partial BDE install and create BDE aliases.

Click here for help on the SQL Links Settings, which allow you to specify the driver(s) you want to install.

Click here for help on the ReportSmith Runtime Report Viewer Settings, which allow you to install ReportSmith connections.

Click here for help on ODBC, which allows you to add support for Microsoft Open Database Connectivity.

Click here.for help on the Local InterBase objects, which allow you to install Local InterBase connections.

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for Optima++
.

	InstallShield Objects for Optima++
.

InstallShield Objects allow you to add Optima++ functionality to your application.  In the InstallShield Objects for Optima++ window, select the controls which your application requires.  Express will automatically create the groups and add the files necessary for the InstallShield Object(s) you select.

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

These dialogs for InstallShield Express let you specify which Optima++ support libraries and OCX components should be packaged as part of your application.

The currently available InstallShield Objects for Optima++ are:

Optima++ Runtime DLL (Developer)

Optima++ Runtime DLL (Professional)

Optima++ Runtime DLL (Enterprise)

SQL Anywhere 5.0 Runtime Environment

Gamesman OCX

Intersolv ODBC

Visual Component OCX

DataWindow Support

Native Window Driver Support

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click on the [image] tab.


InstallShield Objects for Paradox
.

	InstallShield Objects for Paradox
.

InstallShield Objects allow you to add Paradox 7 functionality to your application, including support for the Borland Database Engine, SQL Links, Paradox Runtime, Local InterBase, and ODBC.  If your application does not require any of these add-ons, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

In the InstallShield Objects for Paradox window, select the controls which your application requires.  Express automatically adds the necessary files and registry/system-file changes for the InstallShield Object(s) you select.  You should not change the default directories for any of the automatically generated groups.

Click here for help on the BDE/IDAPI Settings, which allow you to create BDE aliases.

Click here for help on the SQL Links Settings, which allow you to specify the driver(s) you want to install.

Click here for help on ODBC, which allows you to add support for Microsoft Open Database Connectivity.

Click here for help on the Local InterBase objects, which allow you to install Local InterBase connections.

The Paradox Runtime and Client/Server Paradox Runtime objects can be added by simply clicking their check boxes.  You must select either the Paradox Runtime and Client/Server Paradox Runtime objects for Express to include the necessary runtime files for your application.

Note  SQL Links and Client/Server Paradox Runtime may only be redistributed by registered users of Paradox 7 Client/Server Edition.  See Paradox Runtime Developer Help for licensing information or call (800) 551-8188 to order Paradox 7 Client/Server.

After selecting the object(s), click OK to add the objects or Cancel to exit the dialog box without adding any InstallShield Objects.

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for Power++
.

	InstallShield Objects for Power++
.

.

	InstallShield Objects allow you to add Power++ functionality to your application.  In the InstallShield Objects for Power++ window, select the controls which your application requires.  Express will automatically create the groups and add the files necessary for the InstallShield Object(s) you select.
Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

These dialogs for InstallShield Express let you specify which Power++ support libraries and OCX components should be packaged as part of your application.

The currently available InstallShield Objects for Power++ are:

Power++ Runtime DLL (Developer)

Power++ Runtime DLL (Professional)

Power++ Runtime DLL (Enterprise)

SQL Anywhere 5.5 Runtime Environment

Gamesman OCX

Intersolv ODBC

Visual Component OCX

DataWindow Support

Native Window Driver Support

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click on the [image] tab.


InstallShield Objects for Visual Basic
.

	InstallShield Objects for Visual Basic
.

InstallShield Objects allow you to add Visual Basic 4.0 and Visual Basic 5.0 functionality to your application, including support for DAO/Jet, ODBC, and many other popular controls.  Express allows you to add these components to your installation easily by either of the following methods:

Automatically Reviewing the Visual Basic Project File

Selecting Individual InstallShield Objects for Visual Basic

Regardless of the method you choose, Express automatically adds the necessary files and registry/system-file changes for the InstallShield Object(s) you select.  The System Files - WinSysDir files are copied to the Windows System directory (<WINSYSDIR>).  Other groups are copied to different target directories.  You should not change the default directories for any of the automatically generated groups.

Express also automatically registers all .OCX controls containing the "OLESelfRegister" string in the version resource.  This automatic handling of self-registering files applies for all development environments. Refer to Self-registration of .OCXs, .OCBs, and .DLLs for more details.

Note  Regardless of the methods you chose and what options you select, if you click the OK button to close this dialog box, Express automatically crates the VB RUNTIME 32 BIT (or 16 BIT) group and adds Visual Basic run-time files to it.  If you do not to include these files with your setup, click Cancel to exit the dialog box. Once these files have been added, you must go to the Groups and Files dialog box and delete the group.

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for Visual C++
.

	InstallShield Objects for Visual C++
.

.

	InstallShield Objects allow you to add Visual C++  functionality to your application, including support for DAO/Jet, MFC 4.0, ODBC, and other popular controls.  In the InstallShield Objects for Visual C++ window, select the controls which your application requires.  The objects that appear will depend on if you selected to create a Visual C++4 installation or a Visual C++5 installation.  Express will automatically create the Support Files - WinSysDir group and add the files necessary for the InstallShield Object(s) you select.
The Support Files - WinSysDir files are copied to the Windows System directory (<WINSYSDIR>).

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

The currently available InstallShield Objects for Visual C++ are:

Animated Button Control

Calendar Control

Comm Control

DAO/Jet

Data Bound Grid Control

Data Bound List Control

FlexGrid Control

Grid Control·

Internet Control

Internet Transfer Control

Key State Control

MAPI Control

Masked Edit Control

MFC·

Multimedia Control

ODBC·

Picture Clip Control

Remote Data Control

Rich Textbox Control

SysInfo Control

Tabbed Dialog Control

Windows Common Controls

Windows Common Controls - 2

Winsock Control

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


InstallShield Objects for Visual dBASE
.

	InstallShield Objects for Visual dBASE
InstallShield Objects allow you to add Borland visual dBASE functionality to your application, including support for the Borland Database Engine.  In the InstallShield Objects for Visual dBASE window, select the controls which your application requires.  Express will automatically add the necessary files and registry/system files changes for the InstallShield Object(s) you select.

The System Files - WinSysDir files are copied to the Windows System directory (<WINSYSDIR>). You should not change the default directories for any of the automatically generated groups.

Note  If you are not using any of these options, do not select any of the InstallShield Objects.  They will add unnecessary files to your setup.

InstallShield Express includes the following Visual dBASE objects:

Visual dBASE Runtime

BDE

SQL Links

Local InterBase Server Files

Local InterBase Windows Tools

Local InterBase Command Line Tools

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


Internet Control
Choose if your application uses the Shell Doc Object and Control Library in conjunction with Internet access.


Internet Transfer Control
Choose if your application uses the Internet Transfer Control, which allows your application to retrieve and post files to HTTP and FTP servers.


Intersolv ODBC
This includes a selected set of Intersolv ODBC database drivers.  If you check this entry, InstallShield Express opens a wizard to help you choose which driver(s) you wish to include in your package.  Click the driver(s) your program uses, then click Next.  Finally, click Finish.


Key State Control
Choose if your application uses key state controls.


Keys
.

	Registry - Keys
.

The Registry - Keys dialog allows you to add keys to the registry.  This dialog is dynamically linked with the Registry - Values tab, which lets you add or modify the values of the highlighted key in the Registry - Keys dialog box.

You cannot add to or modify any of the six root keys.  Each key you create must therefore be a subkey of an existing key.

•	To add a key:  Click the existing key below which you want to create your new key.  Click the Add Key push button.  The Registry New Key dialog will be displayed.  Enter the name you want to give the key in the New Key field.  Click OK.

You can enter more than one level of subkeys at once using a backslash to separate them, as shown below:

Software\Company\MyApp\3.0\Help Files

When a key has one or more subkeys, a +/- indicator is displayed next to the folder icon.  You can click this indicator to hide or reveal the subkeys.

•	To delete a key you have entered:  Highlight it in the Registry Keys window and press the Delete key on your keyboard.  Note that when you delete a key which has subkeys, all the subkeys are deleted as well.

•	To modify a key you have entered:  Highlight it in the Registry Keys window and click the Modify Key push button.  The Registry Modify Key dialog will be displayed.   Retype the name in the New Key field and click OK.

The full path and name of the highlighted key is always displayed in the Full Key Name static text field, truncated at the right.  You can click the Registry Editor push button to launch your registry editor.

Once you have added a key, you can set the value(s) of the key by highlighting it and clicking on the [image] tab.  If you are including a .REG file with your installation, click on the [image] tab.  When you are finished with the registry dialogs, click OK to accept your entries or Cancel to reject them.

Click here to view the registry keys automatically entered by Express.  (You do not need to know this information to use Express.)

The following topic areas offer more detailed information on specific registry issues:

Uninstall Keys

Setting the Path Using the App Paths Key

Using the Registry Instead of WIN.INI


Local InterBase Command Line Tools
Choose if your application requires access to Local InterBase Command Line Tools. This object is not available before first selecting the Local InterBase Server Files object.


Local InterBase Server Files
Choose if your application requires access to the Local InterBase Server Files. For more information regarding adding Local InterBase functionality to your installation, please refer to the Selecting Local InterBase Objects topic.


Local InterBase Windows Tools
Choose if your application requires access to Local InterBase Windows Tools.  This object is not available before first selecting the Local InterBase Server Files object.


MAPI Control
Select if your application uses the Microsoft Messaging Application Programming Interface (MAPI) controls.


MFC
Choose if your application calls the Microsoft Foundation Class (MFC) Library.


Main Window
.

	Main Window
.

The Main Window dialog allows you to create a distinctive appearance for your setup with minimal effort.  The dialog box is broken down into two group boxes and one combo box:

•	Main Title:  Select either the Bitmap or Text radio button, depending on whether or not you have a bitmap which you want to use as the main title displayed on the background of your installation.

If you select the Text radio button, click the edit field beneath the radio buttons and type the title text exactly as you want it to appear (80 characters max.).  The title will be displayed across the background, starting at top left.

If you want to use a bitmap as your title, select the Bitmap radio button.  You can then either click the browse (...) button to locate the bitmap file, or you can type the fully qualified path and filename in the edit field.  The bitmap will appear at top left.

If you do not want to display a title at top left, clear the edit field.

•	Logo Bitmap:  Use this group box if you have a bitmap (other than a title bitmap) which you want to display in the installation.

To use this box to display a bitmap, click the browse (...) button to select a bitmap file, or type the path and name of the file in the Bitmap edit field.

Click the down arrow button in the Position combo box to select a location for your logo bitmap.  The options in this combo box are Bottom Left, Bottom Right, Centered, Top Left, and Top Right.

Note  If you select Top Left for your logo bitmap, and you also entered text or a bitmap in the Main Title group box, the logo bitmap will be displayed behind the main title text or bitmap.

•	Background Color:  Click the down arrow push button to open the drop-down list which contains the different colors you can select for the background of your setup.  Your choices include blue, green, magenta, red, teal, and yellow, all of which can be either dithered or solid.

After you have entered the above information, you can click OK to accept the data, Cancel to reject it, or either of the two other tabs, [image] or [image], to enter additional information in the Set the Visual Design window.


Make Registry Changes
.

	Make Registry Changes
.

The Make Registry Changes window has three tabs, each of which is accessed directly using its respective push button, one for making changes in the registry keys, one for adding or modifying registry key values, and one for merging a REG file during the installation.

Keys

Values

REG Files


Make System File Changes
.

	Make System File Changes
.

InstallShield Express even makes it easy for you to modify .INI files, the AUTOEXEC.BAT file, or the CONFIG.SYS file.  Using a few simple shorthand substitutions, you can make your system file changes flexible.

The following dialogs, which are accessed by clicking on the appropriate push button on the Setup Checklist, are used to modify your system files:

Private .INI Files

System .INI Files

AUTOEXEC.BAT

CONFIG.SYS


Masked Edit Control
Choose if your application uses Microsoft Masked Edit controls.


Merging BDE Aliases
The effect of your setup’s merging of the application’s BDE Aliases on your customer’s system differs, depending on the target platform in use.

For 32-bit BDE installs, Express will automatically overwrite the parameters of any BDE alias on the target machine's configuration file which has an identical name with the alias being installed.

For 16-bit BDE installs, any existing BDE alias on the target machine's configuration file will be maintained, and so Express will not overwrite its parameters with those of an alias being installed. Any setup which attempts to install an alias that already exists on target machine's configuration file will generate a "Failed in adding alias - error #3" message. Clicking OK on this message box does not terminate the setup. It is displayed to inform the user that the alias cannot be added to the existing configuration file and so the installed application may not function correctly if it relies on an updated version of this alias.

Note: 16-bit BDE aliases cannot be removed from a BDE configuration file by unInstallation.


Microsoft Comm Control
Select if your application uses the Comm control to provide serial communications by allowing data transmission and reception through a serial port.


Microsoft Masked Edit Control
Choose if your application uses Microsoft Masked Edit controls.


Microsoft Multimedia Control
Choose if your application uses Microsoft Multimedia controls.


Missing Files
.

	Missing Files
.

When Express is unable to locate a file in the path specified, a dialog box will give you the following options: launching the Open dialog, which you can use to locate the file, deleting the file from your setup, or canceling the disk build.

If your file is not in the same location where it was when you copied it to its group, use the Open dialog to locate it.  When you find the file, select it and click the Open push button to continue the disk build.

If you are unsure whether the file is necessary, click the Cancel push button.  The Disk Builder will terminate, and you can make the necessary changes to your setup.

There are several possible reasons why Disk Builder might issue the message "The file... could not be found."

1.  The file has been moved on your system since it was added to a file group, and is no longer available in the path displayed in the File Groups window. Open the Groups and Files dialog, delete the file from its file group, and then add it again from its new location. You may also browse for the current location of the file by clicking on Yes when prompted by Disk Builder to locate the missing file.

2.  If you are using InstallShield Objects, Express may add a file to your setup which was not installed with the development tool you used to create your application.  Please make sure that all the files required by your application were installed on your system with your development environment.


Multimedia Control
Choose if your application uses Microsoft multimedia controls.


Native Window Driver Support
This includes all the native database drivers which are supplied with Power++ Enterprise.  Choose this if your application uses any native drivers.


OCF: linked and embedded
Choose the OCF: linked and embedded object if your application links and embeds the ObjectComponents libraries at run-time.


ODBC
.

	ODBC
.

If your application requires Microsoft Open Database Connectivity drivers, InstallShield Express easily accommodates by supporting ODBC 2.1 for 16-bit and ODBC 2.5 (VB4, VC++4, Delphi2, Paradox, and BC++5.0 only) or ODBC 3.0 (VB5, VC++5, Delphi3, and BC++5.02 only) for 32-bit applications.  Selecting the ODBC object automatically launches the ODBC Settings dialog, which allows you to select and configure the drivers and data sources you want to install on your customer's system.

Step 1

The list displayed in the Available Drivers window is dynamically created based on the drivers found on your system.  Select the check box for each ODBC driver to be added to your installation.  When you have selected the drivers, click Next to continue on to Step 2 or Cancel to reject your settings and end the process.

Note:  The list of available 32-bit drivers is read from your system's registry.  The list of available 16-bit drivers is read by Express from your system's Odbcinst.ini file.  If you have an ODBC driver which is not recorded in this file, it has not been properly installed on your system.

Step 2

The drop-down menu in the ODBC Step 2 of 5 dialog box contains a list of the ODBC drivers you have selected in the Step 1 of 5 dialog. The window directly below the selected driver displays the attributes for that specific driver. These attributes reflect those which are currently defined on your system as reported by the ODBC Administrator. You can modify the driver information for each driver as needed by selecting the driver from the list and changing the necessary information. You can use Express directory specifiers in this field.

For example, the following attributes may be displayed for a Microsoft Access Driver:

Driver=C:\WIN95\SYSTEM\Odbcjt32.dll
Setup=C:\WIN95\SYSTEM\Odbcjt32.dll
SQLLevel=0
FileExtns=*.mdb
FileUsage=2
DriverODBCVer=02.50
ConnectFunctions=YYN
APILevel=1

Since the Odbcjt32.dll driver will, by default, be installed by Express to your target machine's <WINSYSDIR> Windows System directory , the appropriate change to make to the Driver attribute would be as follows:

Driver=<WINSYSDIR>\Odbcjt32.dll

This directory specifier would then also be used for the Setup attribute:

Setup=<WINSYSDIR>\Odbcjt32.dll

Changes to any other attributes for this driver would be then be optional.

You can also use Express directory specifiers in this field  When you finish modifying driver attributes, click Next to continue on to Step 3, Back to return to Step 1, or Cancel to reject your settings and end the process.

Step 3

The Available data sources window displays all the data source names currently defined on your system as reported by the ODBC Administrator.  Select each data source to be installed on your customer's system by clicking the corresponding check box.  After selecting the data sources to install, click Next to continue on to Step 4, Back to return to Step 2, or Cancel to reject your settings and end the process.

Step 4

The drop-down menu in the ODBC Step 4 of 5 dialog box reveals a list of the ODBC data sources you have previously selected in Step 3 of 5, and the attributes displayed for each ODBC data source appear in the window below. Like those of an ODBC driver, these data source attributes reflect those reported by the ODBC Administrator on your system. These data source attributes will need to modified much in the same way as the ODBC driver attributes were above.  You can select if this data source should be of a system or a of user type by selecting the appropriate option button at the bottom of the dialog box.

The following example shows attributes which may be displayed for a data source that uses the Microsoft Access Driver:

Driver=C:\WIN95\SYSTEM\odbcjt32.dll
DBQ=C:\DataFiles\YourData.mdb
DefaultDir=D:\DataFiles
Description=Your Database
FIL=MS Access;
UID=admin

Once again, since the Odbcjt32.dll driver will be installed by Express to your target machine's <WINSYSDIR> Windows System directory , then the appropriate change to make to the Driver attribute would be as follows:

Driver=<WINSYSDIR>\Odbcjt32.dll

If the database YourData.mdb is to be installed under your setup's main installation directory in a subdirectory named DataFiles, then the changes to be made to the DBQ and DefaultDir attributes would be as follows:

DBQ=<INSTALLDIR>\DataFiles\YourData.mdb
DefaultDir=<INSTALLDIR>\DataFiles

Modifications made to any other attribute of this data source would then be optional.

Click Back if you want to go back and review or change your settings, or click Finish to accept them..

Step 5

After making all necessary driver and data source attribute modifications, the ODBC Step 5 of 5 dialog box informs you that the settings you have specified have been initialized, and Express will configure the target system if you accept the settings. Click Back if you want to go back and review or change your settings, or click Finish to accept them.

Consult the following topics for more information regarding ODBC installation with Express:

How does changing ODBC settings affect file components?


ODBC Settings and File Components
.

	How does changing ODBC settings affect file components?
.

Changing the settings for the ODBC object after the File Groups have been organized into components will change the file group organization.  For example, selecting an ODBC object causes a file group named System Files to be created.  Next, go into the Groups and Files section and create another file group and separate the groups into two components, one that contains the Program Files and the System Files, and a second that contains only your new file group.  Click the OK button and then go back to the InstallShield Objects dialog and modify the settings for the ODBC object.  If you view the components, the second one remains the same, but the first one now contains the extra file group that was not there before.

To work-around this, make sure you follow the order of the checklist, entering the ODBC settings before you arrange your file groups into components.  Every time you do make modifications to the ODBC Object settings, make sure your file components are organized the way you want.


OWL: dynamically linked
Choose the OWL: dynamically linked object if your application dynamically calls the ObjectWindows libraries at run-time.


OWL: dynamically linked, multithreaded
Choose the OWL: dynamically linked, multithreaded object if your application dynamically calls the multithreaded version of the ObjectWindows libraries at run-time.


Opening a New or Existing Setup Project
.

	Opening a New or Existing Setup Project
.

When you first start InstallShield Express, a welcome message box will be displayed, offering you the following options: Open an existing Setup Project, Open your last Setup Project, or Create a new Setup Project.  This dialog will be displayed every time you start Express unless you select the Don't display this screen again check box.

Select the appropriate radio button and click OK.  You can also click the Quick Tour push button for a 15-minute quick tour of InstallShield Express.

New Setup Projects

If you are already working in Express, you can create a new setup project by clicking on the New push button on the toolbar [image], by selecting New from the File menu, or by pressing <Ctrl + N>.  Any of these methods will open the New Project dialog.

Use the Directory and Drive combo boxes to select the directory in which you want to place your setup project (.IWZ) file.  If you want Express to create a subdirectory for your setup, enter its name in the New Subdirectory field.  Express will automatically create the subdirectory under the specified path and place your project file in it.

Type the name of your application in the Project Name edit field.  In the Target Platform window, select either Win32 or Win16, depending on whether you are creating a setup for 32-bit (Windows 95 or NT 32-bit) or 16-bit (Windows 3.1 or NT 16-bit) systems.

If you know that you want to offer multiple setup types, select the Include a custom setup type option check box.  If you select this check box and later change your mind, you can still remove the custom and compact setup types options in the Setup Type or Custom Setup user dialogs.  Likewise, even if you do not select these options at first, you can add them later.

Opening an Existing Setup Project

If you select the Open your last Setup Project radio button from the welcome message box, Express will open the setup project file which you modified most recently.  To open a different project, select Open an existing Setup Project.

From within Express, you can click the Open push button on the toolbar [image], select Open from the File menu, or press the <Ctrl + O> keys.

All of the above methods will launch the Open dialog, allowing you to open the project file you want to work on.


Optima++ Runtime DLL (Developer)
This includes the main Optima++ DLL in your application package.  You must include this unless your application is statically linked to the Optima++ component library.  If you use the default Release mode settings for building your Optima++ application, you must check this option.


Optima++ Runtime DLL (Enterprise)
This includes a DLL that supports features which appear in Optima++ Enterprise but not Optima++ Developer or Professional (for example, support for native database drivers).  If you check this selection, you will almost always want to check the previous two selections as well.


Optima++ Runtime DLL (Professional)
This includes a DLL that supports features which appear in Optima++ Professional but not Optima++ Developer (for example, source control and the Powersoft DataWindow).  If you check this selection, you will almost always want to check Optima Runtime DLL (Developer) too.


Other Suggested Resources
.

	Other Suggested Resources
.

If you are looking for more advanced setup software, a toolkit that gives you the power and complete flexibility to create your professional installation, we recommend InstallShield5 Professional, the World Leader in Installation Software.  Contact InstallShield Software Corporation sales at (800) 374-4353.

For any information regarding Windows 95, from the Logo Requirements to the registry, we recommend that you search the Microsoft Developer Network.

For more information regarding Windows help, we recommend that you search the main Windows Help.

For breaking Express information, we recommend that you visit the Express Knowledge Base at http://www.installshield.com/express.


Outline Control
Choose if your application uses outline controls.


Partial BDE Installation
.

	Partial BDE Installation
.

We recommended that you include a full BDE installation with any deployed application.  However, it is possible, in some cases, to install a partial set of BDE files.  A partial BDE installation must include the complete Core subset (see below).  You may then add or omit the query and database driver subsets as you prefer.

In a partial BDE installation, all of the BDE Engine files (except for the .BLL files and the configuration files) will be placed in your application's main installation directory, <INSTALLDIR>, rather than the /Borland/Common Files/BDE location.

Note  When a user runs an application that included only a partial BDE installation, he cannot concurrently run another BDE-dependent application.  This is the primary limitation incurred by using a partial install of BDE.

Core subset (minimum required to support BDE)

Whether you choose a Full or Partial BDE installation, these Core files will be installed.  These files are required by all BDE-dependent applications:

IDAPI32.DLL	Core

IDR20009.DLL	 	Resource

BLW32.DLL	International

USA.BLL	Language Driver

EUROPE.BLL	Language Driver

OTHER.BLL	 	Language Driver

CHARSET.BLL	 	Language Driver

CEEUROPE.BLL

BDECFG32.EXE	BDE Configuration Utility

BDECFG32.HLP	 	BDE Configuration Utility Help

BDECFG32.CNT	   	BDE Configuration Utility Help Contents

Note  ReportSmith will not function with a partial BDE installation.  If your application requires ReportSmith functionality, a full BDE installation is required.

Optional subsets

Your application will probably require at least one driver or the ODBC socket subset.  Each of the following subsets must be installed as a unit.  Do not delete any of the files in any subset from your installation.

Note  The complete subsets may be included in a partial BDE installation in any desired combination with the following important exception -- if you select either the Paradox or dBase driver option, you must also select either the SQL or QBE query engine.

The subsets consist of the following files:

Paradox driver subset:

IDPDX32.DLL	Paradox Driver

dBASE driver subset:

IDDBAS32.DLL	dBASE Driver

ASCII driver subset:

IDASCI32.DLL	 	ASCII Driver

ODBC socket subset:

IDODBC32.DLL	ODBC Driver

SQL Query subset:

IDSQL32.DLL	SQL Query

IDBAT32.DLL	Batch

IDPDX32.DLL	Paradox Driver

QBE Query subset:

IDQBE32.DLL	QBE Query

IDBAT32.DLL	Batch

IDPDX32.DLL	Paradox Driver


Picture Clip Control
Choose if your application uses PicClip controls.


Power++ Runtime DLL (Developer)
This includes the main Power++ DLL in your application package.  You must include this unless your application is statically linked to the Power++ component library.  If you use the default Release mode settings for building your Power++ application, you must check this option.


Power++ Runtime DLL (Enterprise)
This includes a DLL that supports features which appear in Power++ Enterprise but not Power++ Developer or Professional (for example, support for native database drivers).  If you check this selection, you will almost always want to check the previous two selections as well.


Power++ Runtime DLL (Professional)
This includes a DLL that supports features which appear in Power++ Professional but not Power++ Developer (for example, source control and the Powersoft DataWindow).  If you check this selection, you will almost always want to check Power++ Runtime DLL (Developer) too.


Private INI Files
.

	Private .INI Files
.

The Private .INI Files dialog allows you to make changes to any of your .INI files after the user has specified the necessary setup information.

Use the following steps to add or modify a line in your .INI file:

1.	Click the Browse... push button to open the Setup Files Browser.  Select the file you want to change from among the files which have already been assigned to groups in the Groups and Files dialog.  The name of the file you select will be displayed in the .INI File field.

2.	Enter the name of the section which contains the change in the Section field.

3.	Enter the appropriate keyword in the Keyword field.

4.	Specify the value you want to change or add in the Value combo box.  In order to take advantage of installation information, you can use Express directory specifiers in this box.

5.	If you are adding a new line, click the Add to List push button.  If you are modifying an existing line, click the Modify List push button.

When you finish making your first change to an .INI file, the filename is displayed, along with a +/- indicator and a small folder icon, in the Private .INI File Changes window.  You can click the +/- indicator to hide or reveal your information.

To delete a change to an .INI file, click the keyword=value line of your entry and press the delete button on your keyboard.

To delete a file from the Private .INI File Changes window, click the filename and press the delete button on your keyboard.  When the Delete Confirmation window will be displayed, click OK.

When you are done making changes, click OK to save the information, click Cancel to delete your entries, or click one of the other tabs, [image], [image], or [image].


Progress Indicator
.

	Progress Indicator
.

The Progress Indicator gives the user a graphical representation of the file-transfer process.  The progress bar gradually increments to depict the percentage of the file transfer process which has been completed, while the text field above the bar displays the names of the files as they are copied.

There are no settings for the Progress Indicator.


REG Files
.

	REG Files
.

InstallShield Express enables you to include the merging of a registry file as part of your installation.  This feature allows you to transfer specific registry settings for your application to your customer's registry.

The registry file to be included in your installation must be added in the Groups and Files dialog before it can be added to the REG files window.

To add a .REG file

Click the Add push button to launch the Setup Files Browser.  Highlight the .REG file to be included and click the OK button.  The REG Files window will update to display the added file.

To delete a .REG file

Highlight the .REG file to be deleted in the REG Files window.  Click the Delete push button.

If you need to add a registry key, click the [image] tab.  Once you have added a key, you can set the value(s) of the key by highlighting it and clicking the [image] tab.  When you are finished with the registry dialogs, click OK to accept your entries or Cancel to reject them.


RTL: dynamically linked
Choose the RTL: dynamically linked object if your application dynamically calls the run-time libraries at run-time.


RTL: dynamically linked, multithreaded
RTL: dynamically linked
Choose the RTL: dynamically linked, multithreaded object if your application dynamically calls the multithreaded versions of the run-time libraries at run-time.


Readme Information
.

	Readme Information
.

The Readme Information user dialog allows you to display a Readme text file to the user before the setup begins collecting information.

Note  The contents of the file will not be automatically formatted to fit the width of the multi-line edit field in which the Readme Information dialog displays the text.  If you do not want the user to have to use the left and right scroll arrows to read the text, you must format your text file using hard returns at the end of each line to be displayed.

Specify the text file in the Readme Information Settings tab either by using the Browse... push button to search for the file on your source system, or by typing the fully qualified path and filename in the edit field.

Note  The Readme Information preview is a pre-canned sample.  The previewed image will not change to reflect your specified file.


Registration Form
Register your InstallShield Express product today!

Simply complete and return this file to become a registered InstallShield Express user to take immediate advantage of:

1.  Free 30 Days of Technical Support.  It's easy to get the answers to your InstallShield Express questions.  As a registered user, you can access InstallShield Express technical support any time you need it. Please include your name, company, phone, fax, serial and version numbers with each technical support request.

Fax:	847-240-9138

Email:	express@installshield.com

2.  More InstallShield Express information.  By registering now, you will have free access to comprehensive InstallShield Express information only available to registered users.

3.  Special offers and updates.  Registered InstallShield Express users enjoy special offers, periodic product maintenance releases and news about other exciting products.  Register now to take full advantage of InstallShield Express products and services.

InstallShield Express 2 Registration (XDPR08-2000)

Name	___________________________________________

InstallShield User (if different than above)	___________________________________________

Title	___________________________________________

Company	___________________________________________

Dept.	___________________________________________

Address	___________________________________________

City	___________________________________________

Country	___________________________________________

State/Province	___________________________________________

Zip/Postal Code	___________________________________________

Phone	___________________________________________

Fax	___________________________________________

Email	___________________________________________

WWW	___________________________________________

Comments (Comments can also be emailed to isxwish@installshield.com)

____________________________________________________________________________________

____________________________________________________________________________________

Please tell us about your application(s).  With what application(s) do you use InstallShield Express?

__ Software Category  _______________________________________________________________

__ Application Name(s)  ______________________________________________________________

Please send your completed registration from to InstallShield Software Corporation by fax (847-240-9138) or email (express@installshield.com).


Registry Key Automatic Entries
.

	Registry Key Automatic Entries
.

InstallShield Express automatically makes the necessary registry entries to enable uninstallation, to enable the per-application paths feature, and to allow you to retrieve the user information.

Uninstallation registry entries

Express creates the registry keys and values necessary to run unInstallShield on your user's system.  The entries are stored under the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Uninstall\<AppName>

The key name <AppName> is determined by your entry in the Application Name field of the Application Information dialog.

Under this key, Express will enter two value pairs.  "DisplayName" will contain the information you entered in the Application Name field of the Application information dialog.  "UninstallString" will contain the appropriate launch command for UNINST.EXE, unInstallShield's executable file.

Windows will use the "DisplayName" data as the name of your application in Add/Remove Programs.  If the user selects to uninstall your application, Windows will use the "UninstallString" information to launch unInstallShield.

App Paths registry entry

In Windows 95, the per-application paths (App Paths) key in the registry has eliminated the necessity of modifying the path in AUTOEXEC.BAT for your application.  If you specify Express automatically makes the App Paths entry for you.

The per-application paths information is stored under the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<YOURAPP.EXE>

The key name <YOURAPP.EXE> is determined by the executable filename you entered in the Application Information dialog.  The "[Default]" value of this key will contain the fully qualified path of your primary executable (YOURAPP.EXE).

Note  You must specify a file in the Application Executable field of the Application information dialog box.  If you do not, Express will not make the App Paths entry for you.

Once this information is registered, the shell will provide the application path to ShellExecuteEx when the application is executed.  Additionally, this information will allow the user to start your application by selecting Run from the Start menu and typing the filename of the executable.

If you need to modify the path for any other files in your application, create the [Path] value under this key and set it equal to the desired path.

User Information registry entry

Express places the information obtained from the User Information user dialog under the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\<Company>\<AppName>\<Version>

The key names <Company>, <AppName>, and <Version> are determined by the information you entered in the Company, Application Name, and Version fields of the Application Information dialog box.

The values collected entered by the user in response to the User Information dialog will be stored under "Name," "Company," and "Serial" (if applicable).


Registry Topics - Replacing WIN.INI Changes
According to the Windows 95 Setup Guidelines, your application should no longer record information in the WIN.INI file.  Instead, store the necessary information in the registry under the HKEY_CURRENT_USER\Software key.

Because you will need to set this new key as an uninstallation key in order to comply with Microsoft's guidelines, we recommend that you create the subkey \<Company>\<Application>.  By using your company and application names, you will create unique keys, so that the user could uninstall them without deleting information from any other application.


Registry Topics - Setting the Path
According to the Windows 95 Setup Guidelines, new applications should not modify the AUTOEXEC.BAT file.  To replace the path on previous systems, the registry includes a per-applications path key.

Express automatically enters the path of your primary executable under the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<YOURAPP.EXE>

The key name <YOURAPP.EXE> is determined by the executable filename you entered in the Application Information dialog.  The [Default] value name of this key will contain the fully qualified path of your primary executable (YOURAPP.EXE).

Note  You must specify a file in the Application Executable field of the Application information dialog box.  If you do not, Express will not make the App Paths entry for you.

If you need to set an additional path, use the Registry - Values dialog to create the [Paths] value name under the same key, and add the desired path as the data for the value pair.


Registry Topics - Uninstall Keys
If you do not add any additional registry keys, you do not have to select an uninstall key for your application in order to support unInstallShield.  Unless you specifically deselect the check box in the Features dialog, InstallShield Express automatically makes the necessary uninstallation registry entries to satisfy Microsoft's Windows 95 Setup Guidelines.

However, in order to comply with the setup guidelines, you must uninstall all registry entries created by the application.  Therefore, if you have added keys to the registry, you must set an uninstall key for unInstallShield.

Select an uninstall key by highlighting the desired key and selecting the Uninstall Key check box.

BE VERY CAUTIOUS when selecting your uninstall key.  If you select a key which has existing entries on the target system, such as the HKEY_LOCAL_MACHINE\SOFTWARE key, and the user chooses to uninstall your application, all of the keys and values under that key, including those from other applications, will be deleted.


Registry Values
.

	Registry - Values
.

The Registry - Values dialog allows you to set value pairs for the key which was highlighted in the Registry - Key when you clicked on the Registry - Values tab.

The name of the key being modified is displayed in the Registry Key static text field.  If you want to add to or modify values from a different key, simply click the Registry - Keys tab, highlight the key you want to update, and click the Registry - Values tab again.

	To add a value pair:  Click the Add Value push button to open the Registry Value dialog.  Select one of the radio buttons in the Value Type window to specify whether your data will be in string, expanded string, binary, 32-bit decimal, or 32-bit hexadecimal format.
To enter binary value data, select the Binary radio button in the Value Type window.  Next, in the Value Data field, type your data in HEXADECIMAL format, with no spaces between digits.  For example, a Binary entry of 6F05E would, after installation, appear in the registry as 06 f0 5e.

To enter hexadecimal value data, select the DWORD Hex radio button in the Value Type window.  Then, in the Value Data field, type your data in HEXADECIMAL format, with no spaces between digits.  For example, a DWORD Hex entry of 6F05E would, after installation, appear in the registry as 0x0006f05e (454750).

Note  To enter a value in decimal format, select the DWORD Decimal radio button and type in the value data as an integer.  This will produce the same formatted value in the registry as entering a DWORD Hex value, i.e., a decimal entry of 454750 would also appear as 0x0006f05e (454750) in the registry.

Note  If you choose the "Expand String"option to create an entry for the environment variables in the registry, the environment variable will not be substituted with the value of the PATH variable if you created a value with %PATH%.  This is how the functionality was designed to work following the Microsoft Standards.

Type the name in the Value Name field and the data in the Value Data field.  You can use one of the Express directory specifiers in your data.  Click OK to accept or Cancel to reject your entry.

•	To delete a value pair:  Highlight the name of the value pair you want to delete.  Press the delete key on your keyboard.

•	To modify a value pair:  Highlight the name of the value pair you want to modify.  Click the Modify Value push button.  The Registry Value dialog will open with the Value Type radio buttons grayed out.  Enter the new name or data in the appropriate field.  Click OK to accept or Cancel to reject your change.

When you are done adding or modifying value pairs for the key, you can click OK to accept your changes, Cancel to reject them, the [image] tab to select a different key, or the [image] tab to add a registry file to be merged..


Remote Client Support
Choose if your application uses remote client support controls.


Remote Data Control
Select the Remote Data control if your application requires high-speed access to ODBC data sources such as Microsoft SQL Server and ORACLE.


Remote Data Object
Choose if your application requires access to data stored in remote databases.  This object must be selected if your application uses ODBCDirect.


Remote Server Support
Choose if your application requires the target system to find and connect to a remote server.


ReportSmith Runtime Report Viewer Settings
.

	ReportSmith Runtime Report Viewer Settings
.

The ReportSmith Settings dialog box allows you to install the necessary database connections to run ReportSmith, as well as specify any necessary parameters for your connections.  Simply supply the requested information in each of the three dialog boxes and let Express do the work for you.

In order to use the ReportSmith object, you must also select the BDE (Borland Database Engine) object.

ReportSmith will not function with a partial BDE installation.  If your application requires ReportSmith functionality, a full BDE installation is required.

Note  If you select the ReportSmith object, Express will automatically add files to your setup which you may not have installed with Borland Delphi 2.0.  When you run the Disk Builder, Express may not be able to find some or all of the following files: RS_DBLIB.DLL, RS_GUP.DLL, RS_IDAPI.DLL, RS_ORA7.DLL, RS_ODBC.DLL, and RS_SYBAS.DLL.  If any of these files are not on your system and you are using the ReportSmith object, you will need to go back to the Groups and Files dialog when you have finished your object selections and delete the appropriate files from the ReportSmith Viewer Files group.

Step 1

The first ReportSmith dialog displays a checklist of the connections which exist on your system.  Check the boxes next to the connections that you want to include with your application.  When you have selected your connections, click Next to continue on to the next step, or Cancel to reject your settings.

Step 2

To define a parameter for your ReportSmith connection:

In the Database connection field, select the connection for which you want to define a parameter.

In the Database connection parameters window, define the path on the target system for each connection.  Use Express directory specifiers to indicate the path on the target system and follow the keyword=path format.  For example, if the keyword for your database is DataFilePath and the file will be copied to the DATA subdirectory of your main installation directory, enter the following:

DataFilePath=<INSTALLDIR>\DATA

Note  You must enter the target path for your database file in the proper format or your connection will not get installed on the target system.

Place each parameter on a separate line in the window. Do not use any additional delimiter characters (such as a semi-colon).

When you have defined all of the parameter for each alias, click Next to go to step 3, Back to return to step 1, or Cancel to reject your settings.

Step 3

Step 3 informs you that the settings you have specified have been initialized, and Express will configure the target system if you accept the settings.  Click Back if you want to go back and review or change your settings, or click Finish to accept them.


Rich Textbox Control
Choose if your application uses the Microsoft Rich Textbox control.


Run Disk Builder
.

	Run Disk Builder
.

After you have made your settings, the Disk Builder does all the rest of the work for you.  It creates a data file from your settings which will be passed to the InstallShield script, compresses your application and installation files, splits the compressed files, and places the split files into separate directories which correspond to your distribution disks.

To build your installation's disk images, follow the steps below:

Step 1

Click the Disk Builder push button on the Setup Checklist.  Once the Disk Builder dialog is open, click the [image] tab to enter the specifications for your disk images.

Step 2

If your installation has any files which are only needed during the installation, such as an Express Extension .DLL file, click the [image] tab to add them to the _SETUP.LIB file. This file will be included on the first disk of the installation set.

Step 3

At this point, you are ready to build the disk images.  Click the Build push button.

While the Disk Builder is running, the Build push button will be replaced by the Cancel push button, which you can click at any time to stop execution.

As the Disk Builder begins each task, it will display a message string in the Feedback window.  It will also display warning and error messages as necessary.  The progress bar at bottom right will indicate the status of the build.  The builder will display a message box letting you know when it is finished.

If the Disk Builder is unable to locate a file in the directory specified, a dialog box will give you the option of launching the Open dialog, which you can use to specify the location of the file.  If you are unable to find the file using the dialog, you will get an error message.  In this case, find the path specified for the file in the Groups and Files dialog.  You must then either place the file in the specified location and re-run the Disk Builder, or delete the file altogether from your setup.

Step 4

When the Disk Builder completes successfully, you should do a Test Run to ensure that the setup does exactly what you want.  If it does, you are ready to create your distribution media.

Step 5

When you use the Copy to Floppy feature, Express will automatically retrieve the necessary files and copy them to a disk or other distribution media.

Click here if you get an error or warning message from the Disk Builder.

Click here if you have missing files in your disk build.


Running an .EXE File
.

	Running an .EXE File
.

To run an .EXE file from within your installation, you must first add the .EXE extension. For more information on this process, refer to the Express Extensions topic  The next step is to enter the settings for the .EXE into the fields on the Settings tab of the Express Extensions dialog box.

Step 1

Enter the name of the .EXE in the .EXE Filename field.  Clicking the Browse... button opens the Setup Files Browser.  You can enter the .EXE filename by highlighting it in the File Groups window and clicking the OK push button.

The Express directory specifiers <SRCDIR>, <INSTALLDIR>, and <SUPPORTDIR> can be used in this field.  For example, if you have an executable file named MYAPP.EXE to be run during the installation and this uncompressed file will be located on the application's first distribution disk, you would want to enter <SRCDIR>\MYAPP.EXE in the .EXE Filename field.

Note  The executable file to be launched must have a window handle.  Express requires this handle to return from the extension to the installation.  A DOS executable will not function correctly as an Express Extension.

The Extensions window updates the highlighted extension automatically to include the .EXE name.

Step 2

Enter any optional file parameters needed for this extension in the Optional Program Parameters field.  You can manually enter the parameters or click the Browse...button to open the Setup Files Browser.

Step 3

Select the Wait for the program to exit before returning to installation check box if you want your setup to wait for the .EXE file to finish executing before continuing the installation.

Step 4

If you place your .EXE extension file uncompressed onto disk 1 and you call the extension after disk 1 has been removed from the drive, you must prompt the customer to re-insert disk 1.  Express enables you to specify a 're-insert disk 1' prompt.  Enter the disk label text to appear in the prompt by typing it into the bottom field on the Settings tab.

Express enables your application to store compressed files in _SETUP.LIB and uncompressed files on the first disk of the distribution set.  If your extension needs to access an uncompressed file before the file transfer process begins, refer to the Saving Space on Disk 1 topic or the "Compressing Extension Files into _SETUP.LIB" section of the InstallShield Express User's Guide for detailed instructions.

Note  If you would like additional information regarding Express Extensions, please refer to the technical information located on the InstallShield Express website at www.installshield.com/express.


SQL Anywhere 5.0 Runtime Environment
This includes full support for the SQL Anywhere Runtime environment, including the runtime DLL.  It also installs ODBC on your system.


SQL Anywhere 5.5 Runtime Environment
This includes full support for the SQL Anywhere Runtime environment, including the runtime DLL.  It also installs ODBC on your system.


SQL Links Settings
.

	SQL Links Settings
.

If you select the SQL Links object, Express will automatically launch the SQL Links Settings dialog.  All available drivers are, by default, selected.  If you do not want to include any of the drivers, clear the check boxes next to the drivers you do not want installed.

Express will add the necessary files and make the required registry changes to install the selected drivers.  Click Finish to accept your settings, or Cancel to reject them.

Note  If you select the SQL Links object, you must select the BDE (Borland Database Engine) object as well.


Saving Space on Disk 1
.

	Saving Space on Disk 1 for Uncompressed Files
.

When you are creating the disk images for your setup project, you can reserve space on the first disk for uncompressed files.  One of the purposes of this feature is to provide access to uncompressed extension files.  We strongly encourage you to include your extension files with your application files and call them after they have been installed onto the target system.  However, there may be occasions when you need to call an extension before the file transfer process begins and cannot compress your extension files into _SETUP.LIB.  In these cases, you can place the extension files uncompressed on distribution disk 1.

No files added to your setup via the Settings tab of the Run Disk Builder dialog will be copied to the target machine during the installation.

Note  Placing uncompressed extension files onto distribution disk 1 is the least desirable option because it requires disk 1 to be in the drive when the files are accessed.  In floppy disk installations, this can force you to prompt your customers to re-insert distribution disk 1, which is awkward, creating a negative impression in your customer's mind.  Furthermore, only .EXE extension settings allow you to specify a 're-insert disk 1' prompt. This means that if your extension is a .DLL and it is uncompressed on disk 1, once your customer removes disk 1 there is no way to access the extension .DLL file.

To add uncompressed files to the first disk image of your installation, perform the following steps:

Step 1

Click the Disk Builder push button on the Setup Checklist to launch the Run Disk Builder dialog box.  Click the Settings tab to display the Extra files for disk 1 window.

Step 2

Click the Add File... push button to open the file browser.  Select the .DLL or .EXE file used in the extension and click the Open push button to add it to the Extra files for disk 1 window.  The Extra files for disk 1 window updates to display the full path of the selected file.

Step 3

If you are ready to build the disk images, click the Disk Builder tab and click the Start Build push button.

Step 4

After building the disk images, click the Close push button to close the Run Disk Builder dialog box.

Removing Files

If you want to remove a file from the Extra files for disk 1 window, simply highlight the file and click the Remove File push button.

Note  If you would like additional information regarding Express Extensions, please refer to Express’ online help and the technical information located on the InstallShield Express website at www.installshield.com/express.

	Reserving Space on Disk 1 Without Files
While Express does provide you the option of reserving room on your setup's first disk image for any uncompressed files you might need (see the Run Disk Builder dialog's Settings tab), it requires you to specify the uncompressed files you wish to add before it will build your disk images. If you wish to reserve space on your first disk image without having Express place any file there, you can use the following method:

1.  In the Settings tab of the Run Disk Builder dialog, select from the drop-down listbox a distribution media size that is actually smaller than that which you will be using for distributing your software. (For example, if you will be using standard 1.44MB diskettes to distribute your application, you could choose for Disk Builder to create your setup's disk images with a size of 1.2MB or even as small as 720K.)

2.  When using the Copy to Floppy dialog to transfer the disk images to distribution media, use a larger size for your setup's first diskette than you had specified in Step 1. (In the above example, you could use a 1.44MB diskette for your setup's first diskette and 1.2MB or 720K diskettes for all subsequent diskettes.)

Note  Any files added to your setup's distribution media by using this method will not be copied to the target machine during installation.

Express also allows you to include temporary files in your setup which are needed only during the installation.  For more information, refer to Run Disk Builder - TEMP files.


Select InstallShield Objects
.

	Select InstallShield Objects
.

Many applications created in visual or object-oriented development environments use the functionality available in additional .DLLs or other files.  Often, these resources and controls require registry entries or system- file configuration in order to provide this functionality to your application.

Determining the necessary dependent files and system modifications for your application can be the most challenging part or creating a setup.  InstallShield Express provides a simple method for including these dependencies: InstallShield Objects. The following topics describe InstallShield Objects for each supported development environment and explains how to add them to your installation.

InstallShield Objects for Borland C++

InstallShield Objects for Delphi

InstallShield Objects for Optima++

InstallShield Objects for Paradox

InstallShield Objects for Power++

InstallShield Objects for Visual Basic

InstallShield Objects for Visual C++


Select Program Folder
.

	Select Program Folder
.

The Select Program Folder user dialog allows the user to choose the program folder (Windows 95 or NT 4.0) or group (Windows 3.1 or NT 3.51) in which your application icons will be placed.

Specify the default folder name by typing it into the edit field on the Select Program Folder Settings tab.  If you do not specify a folder name, Express will use your setup project name as the default folder name.


Select User Interface Components
.

	Select User Interface Components
.

The Select User Interface Components section of the Setup Checklist consists of two sections, The Dialog Boxes dialog enables you to select and configure the specific dialogs displayed during the setup. Express Extensions enable you to access a .DLL or .EXE before or after the file transfer process. For a more detailed explanation of these topics, click on the appropriate link below.

Dialog Boxes

Express Extensions


Selecting Individual InstallShield Objects for Visual Basic
.

	Selecting Individual InstallShield Objects for Visual Basic
.

.

	If you prefer, you can select each InstallShield object manually.  The objects that appear will depend on if you selected to create a Visual Basic 4 installation or a Visual Basic 5 installation.  In the EXE Type box, click the appropriate radio button to specify whether your executable is 32-bit or 16-bit.  Then, in the list to the right, select the options you want to include with your application.
Select the check boxes for as many of the following options as apply:

3D Controls

Animated Button Control

Calendar Control

Chart Control

Comm Control

Common Dialog Control

Crystal Report Control

Data Bound Grid Control

Data Bound List Control

DAO/Jet

DCOM Client Support

FlexGrid Control

Gauge Control

Graph Control

Grid Control

Internet Control

Internet Transfer Control

Key State Control

MAPI Control

Masked Edit Control

Multimedia Control

ODBC

Outline Control

Picture Clip Control

Remote Client Support

Remote Data Control

Remote Data Object

Remote Server Support

Rich Textbox Control

Spin Button Control

SysInfo Control

Tabbed Dialog Control

Windows Common Controls

Windows Common Controls -2

Winsock Control

If you select any of the above controls, Express creates the System Files - WinSysDir group and adds the appropriate files to the group.

If you want to see which files are added or view details of any of the files selected in the InstallShield Objects dialog, click the [image] tab.


Selecting Local InterBase Objects
.

	Selecting Local InterBase Objects
.

InstallShield Objects allow you to add Local InterBase functionality to your application.  Express includes support for Local InterBase Server Files, Windows Tools, and Command Line Tools.

Note  InstallShield Express does not provide the legal license to distribute Local InterBase.  Before distributing Local InterBase, please reread the No-Nonsense License Statement within the Local InterBase packaging, and abide by the the terms stated there.  For further information, refer to Deploy.txt.

During the installation of your application, setup will determine if the destination system already has Local InterBase installed.  If the system does have Local InterBase installed, setup will install Local InterBase to that directory, however, the user's ISC4.GDB will not be overwritten.

Below is a listing of the different objects and the files that they contain.

Local InterBase Server Files:

IBSERVER.EXE	GDSINTL.DLL
REGCFG.DLL	IBSERVER.HLP
IBSERVER.CNT	IB_LICEN.DAT
INTERBAS.MSG	ISC4.GDB
ISC4.GBK	IBCONFIG
GDS32.DLL

Local InterBase Windows Tools:

IBMGR32.EXE	IBGLOSS.HLP
WISQL32.EXE	PG32.HLP
REGCFG.EXE	COMDG32.HLP
COMDG32.EXE	GBAK32.DLL
COMDG32.CNT	COMDG32.HLP
WISQL32.CNT	WISQL32.HLP
IBMGR32.CNT	IBMGR32.HLP
TUTORIAL.CNT	GSEC.EXE
SQLREF32.HLP	TUTORIAL.CNT
IB32.HLP	SQLREF32.CNT
IBAPI32.HLP	IB32.CNT
IBAPI32.CNT	IBGLOSS.CNT
PG32.CNT

Local InterBase Command Line Tools:

GBAK.EXE	GSEC.EXE
GSTAT.EXE	IBLOCKPR.EXE
GFIX.EXE	ISQL.EXE

The file GSEC.EXE is needed to add users to the security database (ISC4.GDB) and is included with both the Windows and Command Line Tools.

To deploy any of these components with your application, select the check box in the InstallShield Objects window.  Express will automatically create the necessary groups and add the appropriate files to them.

Note  You should not change the default directories for any of the automatically generated groups.


Self-Extracting Single File Executable
.

	Self-Extracting Single File Executable
.

InstallShield Express features the ability to easily create a single-file, self-extracting executable file for your application.  If you have ever needed to post your application on a FTP site or distribute your application across a network, the ability to create a single self-extracting executable file by simply selecting an option from a dialog box will be of great interest to you.  In addition, Express supports password-protection for the single file executable it creates.

To create a single-file, self-extracting executable, perform the following steps.

1.	Select the Copy to Floppy push button, which is located in the Create the Distribution Media section in the Setup Checklist.

Note  Before you can launch the Copy to Floppy dialog box, you must have first created the disk images for your installation in Disk Builder.

The icons displayed in the Disk Images window are those that were built by Disk Builder according to your specifications.

2.	Select Path for a 1 File Installation from the drop-down menu available in the Drive combo box.  The Destination Window will change to reflect this selection.

Note  Selecting Path for a 1 File Installation causes the <SUPPORTDIR> directory specifier to point to the TEMP directory where the files are placed, not to the source distribution media.

A default path for the file and a password field appear on the tab when this option is selected.

3.	The Path edit field enables to enter the path where you want to copy your setup, allowing you to place the files directly onto a network or hard disk location.  You can use standard DOS paths or UNC paths in the edit field.  The browse (...) button to the right of the field opens a Choose Directory dialog box, which allows you to select the path without typing.

4.	If you would like to add a password to the installation file for security, enter it in the Password field.

5.	After entering the information in the destination fields, click the Copy All Disk Images push button to start the disk creation process.  When the process is completed, a dialog box will be displayed.

6.	If you select Yes from the dialog box, the self-extracting .EXE will be launched on your system.  Selecting No will close the dialog box and return you to the Copy to Floppy dialog box.

7.	Click the Close push button to return to the Setup Checklist.

	Express names this file Setupex.exe to differentiate it from the main installation executable Setup.exe file. You may rename the single-file executable anything except Setup.exe. The reason for this is that when this executable file is launched, it extracts your setup's files and copies them to the target system's TEMP directory, and then runs Setup.exe to begin the installation. If the single-file executable is renamed Setup.exe, it will then be attempting the load into memory a file of the same name, and two different programs with the same file name cannot be loaded in memory simultaneously.


Self-registration of .OCXs, .OCBs, .DLLs, TLBs, and .EXEs
.

	Self-registration of .OCXs, .OCBs, .DLLs, .TLBs, and .EXEs
.

.

	InstallShield Express automatically registers any file containing the "OLESelfRegister" string in the version resource.  In the case of certain third party .OCXs , .OLBs .DLLs, TLBs, and .EXEs, this string may not be present.  This prevents Express from automatically registering these files.  To manually register a .DLL file, .OLB file, .OCX file, .TLB file or .EXE file, select the "Allow Express to Self-register this file" checkbox for the file (consult Working With Individual Files for more details).  The following documentation is presented for reference if you had manually entered the OLESelfRegister string in an earier release of Express.
Check the file for the OLESelfRegister string.

You can check to see if a third-party file contains this resource by opening the file using Borland Resource Workshop or Microsoft Visual C++ and then checking the 'Version Information' resource for the following value:

VALUE "OLESelfRegister", ""

To include this resource in your own file, create an extra string value field in the version resource for the file. This value should have the name OLESelfRegister. The data for this value is ignored and can be set to "".

Microsoft Visual C++ does not currently allow you to add a new value field to the 'Version Information' resource. If you are using Microsoft Visual C++, you will need to add this value directly to the .RC file for your project. You can use any convenient text editor to edit this file and add OLESelfRegister to the existing values in the .RC file. Make sure you rebuild your file after making this change.

After you add this string, the version information block will look something like this:

/////////////// Begin sample

VS_VERSION_INFO VERSIONINFO

FILEVERSION 1,0,0,1

PRODUCTVERSION 1,0,0,1

FILEFLAGSMASK 0x3fL

#ifdef _DEBUG

FILEFLAGS 0x1L

#else

FILEFLAGS 0x0L

#endif

FILEOS 0x40004L

FILETYPE 0x2L

FILESUBTYPE 0x0L

BEGIN

BLOCK "StringFileInfo"

BEGIN

BLOCK "040904b0"

BEGIN

VALUE "CompanyName", "InstallShield\0"

VALUE "FileDescription", "RESDLL\0"

VALUE "FileVersion", "1, 0, 0, 1\0"

VALUE "InternalName", "RESDLL\0"

VALUE "LegalCopyright", "Copyright _ 1996\0"

VALUE "OriginalFilename", "RESDLL.dll\0"

VALUE "ProductName", "InstallShield RESDLL\0"

VALUE "ProductVersion", "1, 0, 0, 1\0"

VALUE "OLESelfRegister",""

END

END

BLOCK "VarFileInfo"

BEGIN

VALUE "Translation", 0x409, 1200

END

END

/////////////// End sample

You can also manually add the following section to the SWDEPEND.INI file used by InstallShield Expressfor the installation:

[DLLNAME.DLL]
Register=$(DLLSelfRegister)

This SWDEPEND.INI file will be located in a subdirectory under the directory in which you installed Express (for example, if you are creating a Visual Basic 5 application setup, this file will be under the path ..\Program Files\InstallShield\IS Express Pro\OBJS\VB5).  If the SWDEPEND.INI file already contains a section named after your .DLL file, you must add the "Register=$(DLLSelfRegister)" line to the existing section.

Check the ordering of the .OCX files and .DLL files in your setup

You must also check an .OCX file's documentation for any dependencies that this file may have.  Any .DLL files required by an .OCX must be added to a file group in your Express setup before the .OCX file itself, as these files will be registered on the target machine in the order in which you have included them in the Groups and Files dialog.  An .OCX file cannot be successfully registered unless the .DLL files it requires are already registered on the target system.


Sequence


Set the Visual Design
.

	Set the Visual Design
.

The first three dialogs of InstallShield Express ask you to enter some basic application information, which is mostly used behind the scenes by Express, and the settings for the overall visual design of your installation.

The Set the Visual Design window has three tabs, each of which is accessed directly using its respective push button:

Application Information (App Info)

Main Window

Features


Setup Checklist


Setup Complete
.

	Setup Complete
.

The Setup Complete user dialog actually consists of two dialogs: a reboot computer dialog box and a launch application dialog box.  The preview shows only the reboot computer dialog.

Reboot computer

The reboot computer dialog informs the user that the installation is complete, and gives him the option to reboot his computer.  (In Windows 3.1 only, it will also offer the option to restart Windows).  This is, of course, especially useful if your installation has made system changes (such as adding a .VXD) that require a restart.

InstallShield will automatically display the reboot computer dialog if your setup encounters any locked or shared files.  Even if you haven't selected in the Setup Complete dialog to always show the reboot computer dialog in your setup, a notice to restart Windows or the computer may still automatically be displayed to your user at the end of the installation. This will occur if your setup includes a newer version of a shared file, such as a Windows\System .dll, which is currently in use and locked into memory by another running application, such as Windows itself.

Since a file cannot be overwritten if it is currently loaded in memory, the newer version of the file will be saved under a temporary name, and so it will not be accessible to the installed application that requires it. It is only when Windows is restarted, which allows the older version of the file to be released from memory, that the newer version can be assigned its actual name and overwrite the original. The Restart Windows or Computer option is displayed to inform your user that, unless Windows or the computer is restarted, the installed program may not function correctly.

You can also display the dialog for all installations by selecting the Always show reboot computer dialog check box in the Settings tab.

Launch application or Readme

The launch application dialog allows the user to run your application or view your Readme file by selecting a check box and clicking OK.  You can specify either or both options in the Launch application dialog window

To offer the launch application option, click the Browse... push button next to the Run Command field to open the Setup Files Browser dialog box.  Highlight your primary executable from among the files you have added to your groups in the Groups and Files dialog.  Click OK to accept your choice or Cancel to close the dialog.

Note  You must have either copied files into groups in the Groups and Files dialog or specified an application executable in the Application Information dialog in order to select a file from the Setup Files Browser.  If you want to offer the option of launching a Readme file, you must first copy the Readme file to a group, then return to the Setup Complete user dialog and select the file.

You can also specify your executable by typing the installation path and filename in the Run Command field.  Because the program will be launched after the installation, the path must be specified using one of the Express directory specifiers.

If you need to add a parameter to your launch command, specify it also by either selecting a file from the Setup Files Browser or typing your command line option(s) in the Run Command Parameters field.  You can use an Express directory specifier in this field also.

Likewise, if you want to allow the user to launch your Readme file from the Setup Complete dialog, make your file selection in the Readme File field using the Setup Files Browser feature or your trusty keyboard.  (As with the executable file above, use a group name or directory specifier for the path).

You can offer the option to launch both the application or Readme, either one separately, or neither.

Note  If you do not select an executable or Readme file in the Launch application dialog window, but the reboot computer Setup Complete user dialog is displayed, the launch application dialog will also be displayed, though without any options for the user.


Setup Files Browser
The Setup Files Browser dialog box displays the files already copied to your groups, and allows you to select one of the files, or drag-and-drop another desired file.  If you do not find the file you are looking for among those you have copied to your file groups, you can drag and drop the desired file from Windows Explorer or File Manager.

You can create UNC paths in the Setup Files Browser through Network Neighborhood.


Setup Type
.

	Setup Type
.

The Setup Type user dialog allows the user to select a Typical, Compact, or Custom installation.  You must create the components for each of these setup types in the Specify Components and Files Express dialog.

This dialog also allows the user to select a destination directory using the Browse... push button.  (The user's selection on this dialog will override a selection made on the Choose Destination Location dialog, if applicable, and will reset the value of <INSTALLDIR>.)

This dialog must be selected if you are offering multiple setup types.  If you do not want to give the user these options, deselect the Setup Type user dialog.  When you select or deselect the Setup Type user dialog, you will automatically select or deselect the Custom Setup user dialog, and vice-versa.

The Setup Type user dialog has no settings.

For more information about setup types, refer to the Groups, Components, and Setup Types section of Planning Your Setup.


Setup Types
.

	Setup Types
.

The Setup Types dialog allows you to specify the components which will be included with your Custom, Typical and Compact setup types.  InstallShield Express only supports these three setup types.  You cannot change them or add additional setup types.

Note  If you have chosen not to allow custom setup types, you do not need to make any modifications in this dialog.  The Setup Types dialog will contain only one type, Complete, which will contain your component by default.

If you are not familiar with the concept of setup types, or you would like to learn how to take greater advantage of them in your setup, refer to Groups, Components, and Setup Types in the Planning Your Setup section.

Use the following methods to create and modify your setup types:

•	To add a component to a setup type:  Highlight the names of the component you want to add, and the setup type you want to add it to.  Click the Add to Setup Type push button.

A +/- indicator will be displayed to the left of a setup type which contains any component(s).  You can click this indicator to hide or reveal the component(s) copied to the particular setup type.

•	To delete a component from a setup type:  In the Setup Type window, click the + indicator, if necessary, to reveal the component you want to delete.  Click the component name to highlight it.  Press the Delete key on your keyboard.

Note  The Complete or Custom setup type will always, by default, contain all of your components, including new ones you create.  You can delete components from these setup types, but it is not recommended that you do so.


Software License Agreement
.

	Software License Agreement
.

The Software License Agreement user dialog allows you to display a text file containing a copy of your license agreement.

Specify your file on the Software License Agreement Settings tab either by using the Browse... push button to search for the file on your source system, or by typing the fully qualified path and filename in the edit field.

Note  The Software License Agreement preview is a pre-canned sample.  The previewed image will not change to reflect your specified text file.


Specify Components and Files
.

	Specify Components and Files
.

The Specify Components and Files dialogs provide the means for you to organize your application files for the installation and create a flexible setup.  If you are not familiar with file groups, components, and setup types, or you would like to learn how to take greater advantage of them in your setup, refer to Groups, Components, and Setup Types in the Planning Your Setup section.

The Specify Components and Files window has three tabs, each of which is accessed directly using its respective push button:

Groups and Files

Components

Setup Types


Specify Folders and Icons
.

	Specify Folders and Icons
.

The Specify Folders and Icons window has two tabs, each of which is accessed directly using its respective push button:

General Settings

Advanced Settings


Spin Button Control
Choose if your application uses the Spin Button controls.


Start Copying Files
.

	Start Copying Files
.

The Start Copying Files user dialog displays the setup type, destination directory, and user information entered by the user.  It allows the user to double-check his entries and, if necessary, go back and modify one or more of them.

Since the text displayed in the multi-line edit field of the Start Copying Files dialog is determined by information obtained from the user, there are no settings for this dialog.


Startup Message
The Startup Message is the window which is displayed while your setup is initializing.  It includes a progress bar to inform the user of the preparation status.


SysInfo Control
Choose if your application must monitor information provided by the operating system and respond to system-generated events.


System INI Files
.

	System .INI Files
.

The System .INI Files dialog allows you to make changes to the system .INI files (such as WIN.INI, SYSTEM.INI, PROTOCOL.INI, etc.) on the target system after the user has specified the necessary setup information.

Use the following steps to add or modify a line in one of the system .INI files:

1.	In the System File Changes window, click the name of the file you want to modify to highlight it.

2.	Type or select the name of the section which contains the change in the Section combo box.  The drop-down list contains some of the more common section names in the highlighted file.

3.	Enter the appropriate keyword in the Keyword field.

4.	Specify the value you want to change or add in the Value combo box.  In order to take advantage of installation information, you can use Express directory specifiers in this box.

	Note If you want to specify a value for the run key using directory specifiers, Express uses the long path names.  For example: <INSTALLDIR>\app.exe is converted to c:\Program Files\InstallShield\Test\app.exe To convert this string into a short file name, place the key in quotes "<INSTALLDIR>"\app.exe and the string will be converted into c:\progra~1\instal~1\test\app.exe
5.	If you are adding a new line, click the Add to List push button.  If you are modifying an existing line, click the Modify List push button.

When you finish making your first change to an .INI file, a +/- indicator will be displayed next to the small folder icon in the System File Changes window.  You can click the +/- indicator to hide or reveal your information.

To delete a change to an .INI file, click the keyword=value line of your entry and press the delete button on your keyboard.

To delete all of the changes in a particular section, click the section name and press the delete button on your keyboard.  When the Delete Confirmation window will be displayed, click OK.

To view an .INI file on your system, click the Run SysEdit push button to launch the System Configuration Editor.

When you are done making changes, click OK to save the information, click Cancel to delete your entries, or click one of the other tabs, [image], [image], or [image].


Tabbed Dialog Control
Select if your application uses the Microsoft Tabbed Dialog control.


Targeting specific platforms
.

	Targeting Specific Platforms
.

InstallShield Express enables you to designate a file group to only be installed on a certain operating system.  (The default setting for a file group is all platforms.)

To do this, highlight the file group to be modified and click the Properties button.  You will notice that the All option is selected by default.  Clicking the Specific option button will make the various platforms available for this setup.

Note  The platforms available will vary depending on if you are creating a 16-bit or a 32-bit setup.

Select the checkbox for each of the platforms which this file group should be installed.

Click the OK button to enter your selections for this file group.


Technical Details - Application Information
.

	Technical Details - Application Information
.

Application Name: The information entered in this field is used in several ways:

•	It identifies your application in the static text of the Welcome Message and Choose Destination Location user dialogs.

•	It is used as a directory name in the default path in the Choose Destination Location user dialog.  The default setting for this dialog is C:\Program Files\<Company>\<AppName>.

•	It is used as a keyname in the paths of two automatic registry entries, the uninstall key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<AppName>

and the registry path which contains the information returned by the User Information user dialog:

HKEY_LOCAL_MACHINE\SOFTWARE\<Company>\<AppName>\<Version>

For more details about these and other keys created by Express, refer to Registry Key Automatic Entries.

•	It is stored under the value "DisplayName" in the uninstall key shown above.  This entry is used to identify your application in the Add/Remove Programs applet.

Application Executable: If there are no entries in either the Groups and Files dialog or the General icon settings dialog, Express will copy the executable specified in this field to the Program Files group, then create an icon entry for the file.

The filename will also be used as the name of the registry key which contains the per-application paths information:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths \<EXEC.EXE>

Note  If you do not specify an EXE file in the Application Executable, Express will not create the per-application paths entry in the registry.

Express also checks the executable for a version resource.  If it finds one, it uses the value stored in the resource as the default entry in the Version field below.

Version: The version you enter in this field is used as a keyname in the user information registry entry detailed in the Application Name description above.

Company: The information entered in this field is also used for the user information registry entry.  Additionally, like the Application Name, it is used as the name of a subdirectory in the Choose Destination Location user dialog.

Note  The values captured in the User Information dialog (User Name, Company, and (optionally) Serial Number) are not accessible for use in your setup's registry or INI file entries. However, by default, Express writes these values to the following key in your target machine's registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Company\Application Name\Version

For a 16-bit setup, these values are written to the target system's Win.ini file, under a section named after your application.

These values are accessible to any Express Extension you wish to include with your setup. Please note that any Express Extension that will access these values must be invoked no earlier than the Setup Complete dialog.


Technical Support
.

	Technical Support
.

.

	Support for your copy of InstallShield Express can be located in many different places, depending on the type of assistance you require. All of the areas mentioned in this topic can be reached from the InstallShield website at http://www.installshield.com/express. You can go directly to our website from Express by clicking on the hotlink located in the lower right corner of the Express window.
The Express Knowledge Base
When you have technical questions about InstallShield Express, check the InstallShield Express Knowledge Base first for quick answers to your questions. The Express Knowledge Base is fully text searchable and updated regularly with breaking Express information, including Frequently Asked Questions and Troubleshooting information. To go directly to the Knowledge Base, point your browser to http://kb.installshield.com/isxkb/.

InstallShield Newsgroups
InstallShield Newsgroups are a new resource for installation developers. Each InstallShield newsgroup targets a specific knowledge area pertaining to Windows setup to allow users to quickly zero in on the information they seek. Currently, there are three news groups devoted specificly to Express issues. You can read them as well keep up with other installation information by visiting http://www.installshield.com/news/news.htm.  For quick access to these groups, click on the news://news.installshield.com link in the lower right corner of the Express window.

Express Product Feedback
Qustions about the product? Is there something you would like to see added in the future? You can let us know what you think of Express by simply filling out the Express feedback form on our website. To go directly to the form, point your browser to http://www.installshield.com/express/support/isxfeed.htm. You can also email us your questions directly at express@installshield.com. If there is something you wished to see added in Express, you can send those ideas to us at isxwish@installshield.com.

InstallShield Support Programs
InstallShield Corporation will offer their registered customers 30 days of free support from the date of the response to their first inquiry. You can access our website and complete our online Technical Support Request form by selecting the Technical Support item from the Help menu within Express.  If your web browser does not permit use of forms, you can email your request to express@installshield.com or fax it to us at 847-240-0041.  For service, please include your serial number, the full product version number, and the Customer Support Number (if applicable).  InstallShield also offers a wide range of support programs to their customers. For more information on these programs, please refer to our support programs page at http://www.installshield.com/profserv or give us a call at 1-800-226-9010.


Test the Installation
.

	Test the Installation
.

After you have successfully run the Disk Builder, you can perform a test setup on your own machine.  All you have to do is click the Test Run push button.  Express will execute your setup exactly as it would on your user's machine.

You can test your setup as many times as you want.  To save disk space, uninstall the application using Add/Remove Programs (Windows 95 or NT 4.0) or the Uninstall icon (Windows 3.1 or NT 3.51) to launch unInstallShield.

If you are not satisfied with the results of your setup, go back to the dialog(s) you want to change and make your modifications.  Remember to run the Disk Builder again before performing another test run.

Note  If you have made changes since you last ran the Disk Builder, Express will display a message box informing you that you cannot do a test run because the diskettes have not been built.  This safeguard helps ensure that you do not retest the same setup and "discover" the same mistakes you were trying to fix.  Just run the Disk Builder again, then click the Test Run push button.

What To Look For in Your Test Run

•	Inspect the visual design of your setup.

Examine the background, any bitmaps or billboards you may have included, and the dialog boxes during the setup.  Make sure that everything you want the user to see is displayed.  Verify that your setup is receiving all of the necessary feedback from the user.  If your installation uses any additional files (such as a License text file or Readme file), verify that they are included in the setup.

•	Make sure your files are copied correctly.

The most important test of all is, of course, whether or not your application was copied correctly and executes properly when launched.

This is especially important if you are using multiple setup types.  Test your compact and custom setups.  Make sure that the compact setup will run.  In your custom setup, examine the descriptions you have written for your components (do they give the user the information he needs to determine whether or not to install each component?)

In general, make sure that all the files your application requires are copied to the desired directories.

•	Check your folders and icons.

Inspect your program folder (program group in Windows 3.1 or NT 3.51).  Make sure that the setup created all of the icons your application requires (and that the proper icon images are displayed.

Note  Remember that, in Windows 3.1 or NT, Express will automatically create the Uninstall icon.

•	Examine your registry, system file, or other file changes.

If you specified any additional modifications to the registry, private .INI files, or system files, make sure that the changes were made and made correctly.

Note  Windows 95 Setup Guidelines recommend that you do not make any changes to the AUTOEXEC.BAT, CONFIG.SYS, or WIN.INI files.  Refer to Windows 95 Setup Guidelines for more information.


UNC paths
Universal Naming Conventions (UNC) allow you to access files on shared drives and directories using a sharename rather than a drive letter.  Using the UNC format, you can create a setup that can be built from any node on the network.

In Express, you can use UNC paths anywhere you are specifying the source directory.

UNC paths have the following format:

\\servername\sharename\path\filename.ext

In Windows 95, you can easily specify a UNC path using the Network Neighborhood in Windows Explorer.  Click the Network Neighborhood icon to reveal the shared drives and/or directories in your network.  Select the appropriate share icon, and locate and select your files.  When you use this method to add files in the Groups and Files dialog, Express will automatically copy the UNC path.

In Express, you can also access Network Neighborhood from the Setup Files Browser.

The ability to support UNC is one of the Windows 95 Logo Requirements.


Use Packages
Choose the Use Packages object if your application dynamically calls the multithreaded versions of the run-time libraries and the Component Package at run-time.


User Information
.

	User Information
.

The User Information user dialog collects the user's name, company, and, optionally, serial number.

The default setting for this dialog collects all three pieces of information.  If you want to get the user's Name and Company, but not the serial number, click the Name and Company radio button in the User Information Settings tab.

If the target system is Windows 95 or NT, the information collected from this dialog will be stored in the registry under the following path:

HKEY_LOCAL_MACHINE\SOFTWARE\<Company>\<AppName>\<Version>

The key names <Company>, <AppName>, and <Version> will be determined by the information you entered in the Application Information Express dialog.

The values collected from the User Information dialog will be stored under the value names Name, Company, and Serial (if applicable).

If the target system is Windows 3.x, the default entries will be read from the USER.EXE file, and the returned information will be stored in the WIN.INI file.  The section will be your application name, and the keywords are Name, Company, and Serial (if applicable).


VBX
Choose the VBX object if your application uses Visual Basic controls.


VDBT programmatic access
Choose the VDBT programmatic access object if your application uses the programmatic functionality provided with the Visual Database Tools.


VDBT with OLE automation
Choose the VDBT with OLE automation object if your application uses Visual Database Tools from OLE automation.


VDBT with VBX
Choose the VDBT with VBX object if your application uses Visual Database Tools with Visual Basic controls.


Visual Component OCX
This includes the full set of Visual Components +Lite+ OCX controls that are supplied with the Optima++ or Power++ package.  Choose this if your application makes use of any Visual Component control.


Visual dBASE Runtime
Select the Visual dBASE Runtime object if your application requires the Visual dBASE Runtime files.


Welcome
.

	Welcome
.

Welcome to InstallShield Express, the new Worldwide Standard for Enabling Software Distribution to All Windows Platforms Quickly and Easily!

Express is an exciting addition to the InstallShield family of products.  It has been designed to make creating a professional-quality installation faster and easier than ever before, while still providing the features you need most.

No other installation development system can match the features of Express:

•	"Yellow Notepad" visual interface -- design and modify your setup without writing a single line of code!

•	Full install and uninstall support for Windows 95, Windows NT, and Windows 3.1

•	Default settings which fully conform to Microsoft Windows 95 Setup Guidelines for Independent Software Vendors, part of the Windows 95 logo requirements.

•	Customizable user interface, including custom bitmaps and billboards.

•	Unlimited, lifetime distribution license.

•	CD-ROM or disk installation options.

•	Single-file, self-extracting .EXE option for distribution across networks.

•	Password protection.

•	Automatic file compression and compressed library splitting.

	Quick internationalization with language support for English, French, German, Italian, Spanish, Dutch, and Finnish.
•	Automatic registry entries for Windows 95.and Windows NT

•	Quick registry key creation and easy .REG file merge.

•	Custom and Compact setup type options.

•	Self-registering OCX/OCB/DLL/EXE support.

•	Point-and-click ODBC support.

	Point-and-click support for Visual Basic 5.0 and Visual C++ 5.x functionality, including Data Access Objects (DAO) and most popular controls.
	Point-and-click support for Borland Delphi 3.0, Borland C++ 5.02,  and Paradox 7.0 functionality, including full or partial Borland Database Engine (BDE) installations, SQL Links, and ReportSmith Runtime Report Viewer, Local InterBase, ClassLib, VBX, VBDT, Paradox Runtime, and more.
	Point-and-click support for Powersoft Optima++ 1.0 and Power++ 2.0 functionality.
•	Extensibility for calling external DLLs or EXEs.

	Easy icon specification.
	Simple font installation.
	File copy options assignable by individual file groups
	Microsoft SMS support.
	Additional disk build options, including an InstallFromTheWeb size for easy web-enabling of your installation and a Custom Size option that allows you to set the created disk images to any size you wish.
	An Express wizard to speed up the creation of a Visual Basic 5.0 setup even more.

•	The peace of mind that comes with genuine InstallShield products, which have been used by industry leaders to create millions of bulletproof, professional-quality installations.

If you're not entirely certain whether you're ready to start building your setup, look at Before You Begin.

To learn more about using this help file, refer to How To Use the Express Help.

If you want to start designing your setup right away, you might want to look at the topics under Planning Your Setup.

Or, of course, you can browse the contents as you please.  You'll find that, in no time at all, you'll be well on your way to creating your installation.


Welcome Bitmap
.

	Welcome Bitmap
.

The Welcome Bitmap user dialog allows you to display a bitmap in a child window after the Startup Message, but before any of the other user dialogs.

Specify a bitmap file on the Welcome Bitmap Settings tab either by using the Browse... push button to search for the file, or by typing the fully qualified path and filename in the edit field.

Note  The Welcome Bitmap preview is a pre-canned sample.  The previewed image will not change to reflect your specified bitmap.


Welcome Message
.

	Welcome Message
.

The Welcome Message user dialog displays a message welcoming the user to your application's installation, instructions to exit all Windows programs before starting the setup, and a brief copyright warning.

Express will automatically place the application name you entered in the Application Information dialog in the top static text field of the Welcome Message user dialog.

There are no settings for this dialog.


Windows 95 Setup Guidelines
.

	Windows 95 Setup Guidelines
.

One of the primary features of InstallShield Express is that its default settings all conform to the Windows 95 Application Setup Guidelines for Independent Software Vendors, which are part of the Microsoft Windows 95 Logo Requirements.

Following is an abbreviated list containing some suggestions for conforming with the setup guidelines.  (None of the items listed below is required by Express.)

•	Keep the number of files copied to the WINDOWS or SYSTEM directories to a minimum.

You may still place shared DLLs in the SYSTEM directory.  Express will compare the version number of any such DLLs, as well as any other files to be placed in the SYSTEM directory, and only install your version if it is more recent than the version currently on the target system.

•	Keep the number of icons in your folder to a minimum.

`	Usability studies have shown that novice users are confused by lots of icons in a program folder.

Ideally, you would have just one icon added directly to the Start Programs menu (you can do this through the Advanced icon settings dialog) and allow access to tutorials, help files, and other applets through the help or tools menu.  This would ensure that the user would not have to open an additional folder, and would always know how to launch the application.

•	Do not make changes to the AUTOEXEC.BAT, CONFIG.SYS, or WIN.INI files.

In Windows 95, you do not need to modify the path in AUTOEXEC.BAT.  Instead, use the per-application paths (App Paths) key in the registry.  Express automatically enters the path for your primary executable under the App Paths key.  You can also specify additional paths under this key.  Refer to the Registry - Keys topic for more information.

Windows 95 also offers you the ability to dynamically load your device drivers without modifying the CONFIG.SYS file.  Design your application to load its drivers when the application is launched.

Information which would have been entered into the WIN.INI file in Windows 3.x or NT should now be loaded into the registry or your private .INI files.  Refer to the Registry - Keys topic for more information about using the registry instead of WIN.INI.

•	Do not remove the automatic uninstallation option.

Express comes complete with unInstallShield.  This program satisfies the Windows 95 Setup Guidelines for uninstallation capability.

The best part is that you don't have to do anything -- just leave the check box on the Features dialog in its default position, selected.

For more information on these concepts, refer to the unInstallShield topic.

For more complete information about Windows 95 Setup Guidelines or Windows 95 Logo Requirements, refer to various topics in the Microsoft Developer Network.


Windows Common Controls
Choose if your application requires access to the Visual Basic 4 Windows Common controls.


Windows Common Controls - 2
Choose if your application requires access to the Visual Basic 5 Windows Common controls.


Winsock Control
Choose if your application uses the Winsock control, which allows your application to connect to a remote machine and exchange data with another computer using either the User Datagram Protocol (UDP) or the Transport Control Protocol (TCP).


Working With File Groups
.

	Working with File Groups
.

InstallShield Express enables you to quickly add new file groups to your installation and modify their properties, if desired.

If you are offering a custom setup type, the default groups are Program Files, Help Files, and Sample Files.  Use the following methods to create new and modify existing file groups

To add file group(s):

	To add multiple groups at once:  You can create file groups quickly by dragging and dropping your application's directory structure from the Windows Explorer directly into Express's file group window.  To do this, simply highlight the highest level of the directory containing files that should be added your setup.  With the left mouse button held down, drag the files to the appropriate default group in the File Group window.  When the icon is over the file group, release the mouse button.  Express automatically creates a file group for each subdirectory that contained at least one file.  These file groups can then be then be modified as described later in this topic.
.

	To add an individual group:  Click the New Group push button or click the [image] button in the toolbar.  Type the name you want to give the group in the Group Name edit field.  Specify the directory in which you want to install the group in the Destination Directory field by selecting one of the Express directory specifiers in the drop-down list or typing the desired path.  Select the file update method that should be applied when installing this group.   If you want this particular file group to only be installed to a specific platform, select it from the list at the bottom of the dialog.  To enter the this information, click the OK push button.
Your entry in the Destination Directory field is very important, as it will determine the relative location where your files will be copied.  Your main installation directory will be the <INSTALLDIR> directory.  This specifier will be replaced by the target directory selected by the user during the setup process.

Files which must be located in the main Windows directory should be placed in groups with <WINDIR> as the specified destination directory.  Files which must be located in the system directory should be placed in groups with <WINSYSDIR> as the specified destination directory.

Note:  Any files in groups which you are copying to the Windows (<WINDIR>) or System (<WINSYSDIR>) will not be copied if there is a more recent version of the file already in the directory.  This feature prevents you from writing over an updated version of a shared file.

You can specify destination directories relative to the locations represented by these specifiers by modifying the particular specifier in the Destination Directory field.  For example, to place the Help Files group in the HELP subdirectory of the main application directory, enter "<INSTALLDIR>\HELP" as the group's destination directory.

You can also locate groups relative to other group names using the [ ] delimiters around the group name in the Destination Directory field.  To place the Help Support group in the SUPPORT subdirectory of the directory which will contain the Help Files group, enter "[Help Files]\SUPPORT" as the group's destination directory.

You can even include multiple subdirectory levels (within the field limit of 80 characters) and Express will create all of the subdirectories for you.

Note:  The folder icons in the File Groups window will not reflect the relative location of the group you specified in the Destination Directory field.  All folder icons are displayed as if they were on the same level.

To delete a group:  Click the name of the group you want to delete to highlight it.  Then press the Delete key on your keyboard.  A Delete Confirmation message box will be displayed.  Click OK to confirm your deletion.

To modify a group:  Highlight the name of the group you want to modify.  Click the Modify Group push button.  Type the new group name or destination directory in the appropriate field and select the appropriate file update method for this file group.  Click the OK push button to enter your changes.

Note:	If you chose not to offer a custom setup type when you created your new project, the only default group will be Program Files.  If you still are not offering a custom setup, and if all of your application files can go in the same directory, simply drag and drop them onto the Program Files group.  Even if you add groups, you do not have to set or modify any components -- when you do not use multiple setup types, all groups are automatically added to the single necessary component.

If you are using multiple setup types, when you are finished with the Groups and Files dialog, you will need to tab to the Components dialog.


Working With Individual Files
.

	Working With Individual Files
.

Once you have arranged your groups, use the following methods to place files in them:

To add files:  Click the Launch Explorer push button to run or activate Windows Explorer (you can also use File Manager for this task).  In Explorer, highlight the files you want to copy.  Drag and drop them onto the Groups and Files dialog.  The files will be copied onto the group your pointer is closest to when you drop them.  You can also add files by using the right click menu's Paste function or the Paste button on the toolbar.

A +/- indicator will be displayed to the left of a group which contains any file(s).  You can click this indicator to hide or reveal the file(s) copied to the particular group.

Once a file has been added to a group, you cannot simply reassign it to another group.  If you need to place a file (or files) into a different group, delete it from its current group listing and then add it to the other group.

	To delete files:  Click the + indicator, if necessary, to reveal the file you want to delete.  Click the filename to highlight the file.  Press the Delete key on your keyboard.  You can delete multiple consectuctive files at once by highlighting all the files and pressing the Delete key.  You can also delete files by using the right click menu's Delete function or the Delete button on the toolbar.
When you add files to a group, InstallShield Express copies the full path and filename of each file.  Therefore, do not change the path or filenames of any files after dragging and dropping them onto the groups, or else the Disk Builder will be unable to locate your files when it compiles your setup.

Because the lengths of paths can prevent you from viewing the filenames in the File Groups window, you can deselect the Display Path function on the right click menu or the Display Path button on the toolbar to view the filenames only.

Note:  Ensure that the filenames you use do not begin with a period.  Express currently cannot properly handle filenames that begin with a period.

To reorder files:  Sometimes, it might be neccesary to reorder the file list in a particular group to enable sucessful self-registration of files due to dependencies.  In Express, you can easily shuffle the order in which a file appears in a file groups by highlighting the file to be moved and utilizing any of the File Move buttons available on the toolbar or via the right click menu.

Clicking the Properties button with a file highlighted will open the File Details dialog box.  You can quickly view the date, size, and version number of a file in this dialog, along with seeing the current file group this file is assinged to and the location where this file will be retrived from at disk build time.

Express automatically detects if a file is self-registering and displays it by posting an identifying icon next to the file's name in the File Groups window.  However, there could be a situation where you would like Express to ignore a file's built-in self registration functionality during the installation.  You can toggle this property on or off by selecting or deselecting the "Allow Express to Self-Register this file" checkbox.  This functionality also works in the reverse, where selecting it for a normally non-self-registering file will mark the file to be self-registered as part of the installation.

If you are using multiple setup types, when you are finished with the Groups and Files dialog, you will need to tab to the Components dialog.


dithered
A dithered background contains two or more colors intermingled to produce gradient shading.  The net effect in InstallShield Express is a background color which is lighter at the top, then appears to gradually darken the further down you look.


unInstallShield
.

	unInstallShield
.

Uninstallation capability is one of the Windows 95 Logo Requirements for your application.  To help you comply with this, InstallShield Express comes complete with unInstallShield.

Unless you deselect the Automatic Uninstaller check box in the Features dialog settings for a 32-bit installation, Express will add at least two files to your setup: Uninst.exe and _Isreg32.dll. (For a 16-bit installation, these files are Uninst16.exe and  _Isreg16.dll.) Uninst.exe is unInstallShield's main executable file and is copied to the target system's Windows directory. _Isreg32.dll is a resource file required by the Uninst.exe file and is copied to your setup's main installation directory <INSTALLDIR>.

The DeIsLx.isu file is a log file which is created by Express after file transfer, and it contains installation information specific to your setup, such as which files were installed, what directories were created, what entries were made to the registry, etc. This file is also placed in your setup's main installation directory, and is initially named DeIsL1.isu. If a second installation of the same setup is run without first running unInstall, a second version of this file will be created, named DeIsL2.isu. This file will only contain information pertaining to the second installation, and so, when used by Uninst.exe during subsequent unInstallation, will only remove files, directories and registry entries created during the setup's second run. In this case, DeIsL1.isu (and possibly some other files) would not be removed by unInstallShield.

If, for some reason, you do not wish to have these files included in your setup, you can deselect the Automatic Uninstaller option in the Express Features dialog.

InstallShield creates the necessary folder (Windows 95 and NT 4.0) or program group (Windows 3.1 and NT 3.51) and icon(s) on the user's system.  It creates .LNK files for the items and places them in the FOLDER subdirectory of the main installation directory.  The user executes unInstallShield in Windows 95 and NT 4.0 by launching the Add/Remove Programs applet out of the Control Panel, highlighting the application name, and clicking on the Add/Remove... push button.  Windows will launch unInstallShield using the command line stored under the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Uninstall\<AppName>

Note  In order to comply with Windows 95 Setup Guidelines, all registry entries made during your setup must be removed during an uninstallation.  unInstallShield will remove all automatic registry entries made by Express, but you must set uninstall keys for any additional registry changes  you make.  Refer to Registry - Keys for more information.

In Windows 3.1 or NT 3.51, the user launches unInstallShield by double-clicking on the UnInstallShield icon in your application's program group.  This icon is created by Express during your 16-bit setup when you select the uninstall option.

Note  No files installed by a 16-bit Express setup to the target machine's Windows directory will be removed upon uninstallation.  This includes files which are installed to any subdirectory of Windows such as the Windows\System directory.  Express does not log these files for uninstallation because, as no registry exists on the 16-bit platform, there is no way for unInstallShield to tell if any of these files have become shared by another application since their initial installation.  So, in order to not harm the performance of any other applications which may now require these files, unInstallShield does not remove them.