After you have created your software and compiled for deployment, you must make sure that you package all of the initialiation, help, dll and ocx files that your program uses (other than standard Windows dlls). You also want to make sure that when the program is installed, all files are in appropriate subdirectories of your main directory. This is difficult for users to do correctly, so programs like InstallShield have been developed to package all needed software and automatically install files in appropriate subdirectories.
InstallShield's main window consists of two pages. Each has subgroupings of tasks that are set in separate tabbed dialogs. The subgroupings on the first page are used to create the instructions that the installer will follow when installing your program. The second page creates various types of install packages and makes copies on disk or for web distribution.
|
|
This group of settings creates the basic visual image you will display and sets version numbers.
|
![]() |
|
![]() |
| The last tab just contains features for international or specialized distribution | ![]() |
This is the place you may specify whether to include BDE or use SQL. If you do not use static linking, you will need to check on or more of the last two boxes.
| Each of the groupings in this window represents a set of files that will be placed in one directory. The Program Files are those that are placed in the directory containing the exe file. Notice that this listing is the location of the files to be included into your install file. One word of warning, when installing ocx files make sure they are the last files in the list of files. | |
| This dialog (the properties dialog for the group) allows you to set the conditions when the files in this group will be updated. Usually you will use the "Update files with newer version numbers" choice. | |
The main problem I had with creating file groupings was the auto-registration. InstallShield is supposed to know when to auto-register software (with the Windows registry). This is not always the case. For months I could not get my program to install because of auto register problems.
In this section of the groups list you will notice that html.ocx has what appears to be a group of grapes in front of it. This indicates that it InstallShield will auto register this file. Before allowing this to happen check the Version resource with a resource editor like ResourceWorkshop packaged with Borland 4.5 and 5.0?. If you see:
VALUE "OLESelfRegister","" |
|
| bring up the properties dialog and uncheck the "Allow Express to Auto-Register" checkbox. | |
The following is from InstallShield online help.
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 sampleYou 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.
This section lets you pick the dialogs that will appear when the user installs the program. Amoung other things it allows you to set a default location for your program.
This section allows you to make any registry entries you need. These changes include locationing ini files and altering config and autoexec files. In addition, if your program will be the primary application to open certain types of files, you can make the adjustments to the registry to do this and other things.
![]() |
![]() |
In this section you set the icon used to represent your program and the standard place you want your program to be placed.
This section allows you to build your install program in different formats. You can create versions that fit on different size media.You can also create a version that can be put on a web page that will allow a person to install directly from the web page without downloading the install file.
When you want to create master disk copies for distribution you use this section. In addition if you choose "Path for a 1 File Installation", you will create a file suitable for distribution on the Web.