Using Inno Setup 1.3.8 with Visual dBASE 7.5 Applications

Includes Deploying BDE 5.11

Updated: May 12, 2000
Ken Mayer, SQA Engineer
dBASE, Inc.


NOTE: If you have InstallShield Express from Visual dBASE 7.01, there are instructions at the dBASE, Inc. website (Download page), for making the necessary changes so it will work with your 7.5 applications and with BDE 5.10. If you wish to use InstallShield Express, then you don't need this document ... In addition, please note that this was originally written for Inno Setup 1.2.14, attempts are being made to expand this with more details, and to include information for Inno Setup 1.3.8.

Ok, you have an application ready to deploy, but you don't have InstallShield Express or any other deployer. So, what do you do?

Well, you can try to handle the deployment yourself, or give your users a set of really complex instructions, or you can find a deployer that will allow you a lot of functionality, and allow your users to not have to think really hard about getting that application installed on their computers.

After doing some experimenting with some of the freeware and shareware deployers available on the web, I have found one that works pretty well, with the added bonus that the author appears to be happy to answer questions ... and even better, it's freeware!

The software is called "Inno Setup", which is short for "Innovative Setup". It is a Delphi application, and has very little in the way of a graphical interface when building your deployment disk set. However, it is easy to use, very quick, and very flexible.

To obtain this free application, go to this website:

http://www.jordanr.dhs.org/isinfo.htm

The main website discusses the software, talks about functionality, etc. If you want to cut to the chase, you can download directly by using the information below ...:

Downloading Inno Setup

There are several sites to download it from. This one works for me: http://www.jordanr.dhs.org/files/site1/is32.exe, you may want to change the "site1" to site2, or site3.

The author, Jordan Russell, has done a lot of work to give you a lot of functionality. He has, in addition, documented this software well, with details in the online help for the software itself.

Install Inno Setup

When you have downloaded the file (the current filename at the time I am writing this is: isetup32-1_3_8.exe), run it. It will install to some folder, by default:

C:\Program Files\Inno Setup 1.3

To Install The BDE With Your Application

Assuming your application will require the BDE, there are a couple of other files needed:

The example script below assumes that these two files have been copied to the Inno Setup folder ...

Running Inno Setup

Once you install the Inno Setup program, the only program you have to run is called: Compil32.exe

If you would rather not work with a script as shown here, there are details at the end of this document on obtaining another freeware program that does a graphical interface for Inno Setup, so it is easier to create your install programs ... I haven't tested it, but looking at the author's website, it looks pretty good.

Using A Language Other Than English?

The author of Inno Setup has written the code in such a way that the message strings used during an actual install are pulled from a file (*.ISL) -- this file contains the strings used, and can be changed for different languages. You can download a new file for a specific language from the Inno Setup website, at:

http://www.jordanr.dhs.org/is3rdparty.htm

Scroll down the page until you get to the language section. Make sure you go to the Inno Setup 1.3 link and download the language file you need from there. It is suggested that you either store this file in the folder that Inno Setup was installed to, or that you put it in your application directory -- my inclination would be to store it with Inno Setup, and the sample code in the template script assumes it is in that folder.

Now What?

This document from here on discusses a full install of the Vesper 7.5 application, which is a sample application written in Visual dBASE 7.5, available from my dBASE website and the mirrors of the same.

The script discussed here was used to test options and get something that worked -- what this means is that the sample script actually does work for my application ... There are notes throughout, to help explain what I did.


Some Basic Information

The program doesn't look like much, and it doesn't offer the drag and drop functionality that you might be used to from other install programs, but this program is quite powerful and very functional.

The following discussion assumes that you have loaded the program COMPIL32.EXE from the Inno Setup folder.

(Much of the following information is condensed from the help file ...)

This screen is simply an editor that can be used to create a setup script. The script created will have an extension of .ISS (Inno Setup Script). The program is also a "compiler" -- it will attempt to create your setup program based on the contents of the script - if there are errors during the "compile process", they will be described and the setup program will not be created.

The script itself is an ASCII file, so you could create it elsewhere rather than using this program, although using the program to create/edit the script makes as much sense as anything else ...

The format of the "commands" in this script is similar to Windows .INI files - if you are familiar with these, you should be in pretty good shape.

Most of the script contains name/value pairs -- a name which references a value. These values will be things like filenames, or destinations for where to deploy to, and so on. These can also have parameters -- modifiers for what you want the deployer to do with them ...

Note that Inno Setup performs a top-down execution of your script -- there is no branching (IF/ELSE, etc.) possible, no error trapping during installation, and so on ... Everything is performed in a specific sequence, as shown in this document (and in the Inno Setup help file).

There are a series of constants which are important, some of these are defined by you in the setup section. These are:

{app}
The application directory, which the user selects on the Select Directory page of the wizard. For example: If you used {app}\MYPROG.EXE on an entry and the user selected C:\MYPROG as the application directory, Setup will translate it to use C:\MYPROG\MYPROG.EXE.

{sys}
The system's Windows System directory (System32 in a 32-bit installation on Windows NT). For example: If you used {sys}\CTL3DV2.DLL on an entry and the system's Windows System directory is C:\WINDOWS\SYSTEM, Setup will translate it to use C:\WINDOWS\SYSTEM\CTL3DV2.DLL.

{src}
The directory in which the Source files are located. For example: If you used {src}\MYPROG.EXE on an entry and the user is installing from "S:\", Setup will translate it to use "S:\MYPROG.EXE".

{pf}
Program Files. The path of the system's Program Files directory, typically C:\Program Files.

{cf}
Common Files. The path of the system's Common Files directory, typically C:\Program Files\Common Files.

There are others, which you can look up in help.

As noted above, most of the rest of this document discusses creating an Install Script for the Vesper 7.5 application ... you can use this as a basis for your own application deployment.


Creating an Install for Vesper 7.5

All of the following was gotten from Help, except for the information on installing the BDE, which I got from the FAQ page on Jordan's website, and some emails back and forth with him.

To test this I went to a machine I wanted to test the install on, and uninstalled Visual dBASE, and deleted any left-over folders and files, removed the runtime files from the Windows\System folder, and uninstalled the BDE. I checked the registry and made sure no remnants of either were there ... after each install test I did the same to make sure I was working on a "clean" machine.

Most of what is discussed below is specifically the Inno Setup Script needed to deploy the Vesper application, but there are a few places that digress into general topics ...

Comments begin with ";", and like in any other programming language are ignored by the Inno Setup compiler ...


Part 1: The Setup Section

As you might imagine, this is important in a few ways. See the comments associated with each entry below ...

[Setup] 
; -----------------------------------------------------
; LANGUAGE
; If using English, ignore the following, otherwise
; remove the ";" from the beginning of the line, and
; change the filename ("default.isl") to the name
; of the language file ...
;MessagesFile=compiler:default.isl
;
; -----------------------------------------------------
; Create 3 1/2" disks -- if you want a CD image, set this
; to 0 instead.
DiskSpanning=1
;
; -----------------------------------------------------
; Define the Source Directory
; This is the Source folder for files (where is your 
; application?)
SourceDir=C:\Vesper
;
; -----------------------------------------------------
; Define the default Destination Directory
; Default directory name, under the drive:\Program Files
; location
DefaultDirName={pf}\Vesper 75
;
; -----------------------------------------------------
; Disable Append Directory
; If the user decides to change directories, and then
; selects the same directory as above, Inno will append
; the directory name to the end 
; (i.e., C:\Program Files\Vesper 75\Vesper 75 )
; By disabling this, it will not append the directory ...
DisableAppendDir=Yes
;
; -----------------------------------------------------
; Define the Group Name for the Programs menu
; Name of group that is created
DefaultGroupName=Vesper 7.5
;
; -----------------------------------------------------
; Application Name 
; As it will appear in Setup program (upper left corner)
AppName=Vesper 7.5
;
; -----------------------------------------------------
; Version -- required
AppVerName=Vesper version 7.5 
;
; -----------------------------------------------------
; Copyright for display in lower right of setup screen
AppCopyright=Copyright © 2000, Golden Stag Productions 
;
; -----------------------------------------------------
; Background color (optional, default is blue)
BackColor=clGreen
;
; ----------------------------------------------------- 
; Uninstall icon (placed in the group):
AlwaysCreateUninstallIcon=1
;
; -----------------------------------------------------
; Uninstall Icon Name
; Text associated with the Uninstall Icon
UninstallIconName=Uninstall Vesper 7.5
;
; -----------------------------------------------------
; Output Directory 
; This is where the install program gets created 
; (this will normally be "under" the source, i.e,
; C:\Vesper\InstallImage):
OutputDir=InstallImage

There are a lot of other options that can be set there, read the online help if you are interested (this includes adding a license text file, a readme before and/or after the install starts, and a lot more ...).


Part 2: The Dirs Section

The directory section is used to define directories to be created, besides the application directory ... it uses the constants that are defined elsewhere in the script.

[Dirs] 
; -----------------------------------------------------
; This section is used to define any directories/folders
; you need created for the use of your application
; -----------------------------------------------------
; IF you are storing the data in a different folder 
; than the folder the application is installed to 
; (Vesper does):
Name: "{app}\tables" 
; -----------------------------------------------------
; Other?


Part 3: The Files Section

The documentation states this "is optional, but necessary for most installations." Since it defines all of the files that are copied to the user's system, it is required ...

Each file has a "Source" and a "DestDir", and there are some parameters that you should examine ...

[Files] 
; -----------------------------------------------------
; The files section is where you tell Inno Setup to 
; a) find the files to bundle them into your setup 
;    program and
; b) to copy them to during the installation process
;
; -----------------------------------------------------
; ------------------- dBASE Runtime Files -------------
; Visual dBASE 7.5 runtime files to the 
; Windows\System (or WinNt\System32 or ...) folder:
Source: "{pf}\dBASE\Visual dBASE 75\Bin\VDB7RUN.EXE"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
; -----------------------------------------------------
; IMPORTANT:
; ----------------------------------------------------- 
; This is language based -- the '09' should be changed based
; on your language needs -- i.e., VDB70007.DLL is German,
; and so on. The language numbers are:
; 09 (default)=English
; 07 = German
; 10 = Italian
; 0c = French (zero c)
; 0a = Spanish (zero a)
Source: "{pf}\dBASE\Visual dBASE 75\bin\VDB70009.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
Source: "{pf}\dBASE\Visual dBASE 75\bin\RESOURCE.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
;
; -----------------------------------------------------
; -------------------- BDE Files ----------------------
; Note location of MiniReg.exe and BDEInst.dll -- make sure you set 
; to match your setup. The Destination directory is the temp
; folder ... the "deleteafterinstall" flag means that these files
; will be deleted once the install process is completed -- that
; includes after running the BDE install (see [Run] section).
Source: "{pf}\Inno Setup 1.3\MiniReg.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "{pf}\Inno Setup 1.3\BdeInst.dll"; DestDir: "{tmp}"; Flags: deleteafterinstall

; -----------------------------------------------------
; ------------ USER DEFINED (for your application) ----
;
; The application itself, to the application folder:
Source: "VESPER.EXE"; DestDir: "{app}" 
;
; Don't forget your .INI file:
Source: "vesper.ini"; DestDir: "{app}"
;
; Misc. files (images, etc.)
Source: "Calendar.bmp"; DestDir: "{app}" 
Source: "Calendar.ocx"; DestDir: "{app}" 
Source: "Herald2.ico"; DestDir: "{app}"
Source: "pkzip.exe"; DestDir: "{app}"
Source: "stag.bmp"; DestDir: "{app}"
Source: "vdb7_t.gif"; DestDir: "{app}"
Source: "vdb7ico.gif"; DestDir: "{app}"
;
; Readme file, note the flags parameter
Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme
;
; Tables, indexes and .dbts to the application\tables folder
; Note the use of the CopyMode option -- this tells the application
; to only copy the tables if the ones in the current setup are
; more recent than the ones on an existing installation. 
Source: "inventor.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "inventor.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "library.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "library.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "ranks.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "ranks.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "regions.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "regions.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp2.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp2.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder


Part 4: The Run Section

This section is used to define programs that are to be executed during the installation process. You can execute more than one program, the default is that each one will wait for the next to complete ... Any programs defined here will be run a) in the sequence given, and b) after the Files section is executed ...

For our purposes, this section deals with running the BDE Install:

[Run]
; -----------------------------------------------------
; You can run external programs -- they will be executed after
; the files are copied ... 
; -----------------------------------------------------
; The item below is needed for the BDE -- it installs it completely:
Filename: "{tmp}\MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll"""


Part 5: The Icons Section

As with the files section above, this may not be 100% required, but it is really pretty much a necessity:

[Icons] 
; -----------------------------------------------------
; What Icons to set up in the Program Group
; -----------------------------------------------------
; Application icon
Name: "{group}\Vesper 7.5"; Filename: "{app}\Vesper.exe"; WorkingDir: "{app}"
; -----------------------------------------------------
; BDE Administrator - if you wish to allow your users to even
; know this exists ...
; Note that the problem here is that this assumes the user 
; didn't install the BDE to some other location -- you
; have no real control over this ...
Name: "{group}\BDE Administrator"; Filename: "{cf}\Borland Shared\BDE\BDEAdmin.exe"; WorkingDir: "{cf}\Borland Shared\BDE"
; -----------------------------------------------------
; Readme:
Name: "{group}\Readme.txt"; Filename: "{app}\readme.txt"; WorkingDir: "{app}"

You can add other icons for other programs if you wish ...


Part 6: The Registry Section

You will want your application to be able to find the Visual dBASE 7.5 runtime engine, so include the following:

; -----------------------------------------------------
; Any registry keys your application may require --
; note that we are setting the dBASE Runtime location
; -----------------------------------------------------
; dBASE Runtime location setting:
Root: HKLM; Subkey: "Software\dBASE\Visual dBASE\7.5"; ValueType: string; ValueName: "RuntimePath"; ValueData: "{sys}"; Flags: uninsdeletekey

Note that other registry settings for the BDE will be handled differently -- see the section on BDE below ...


Part 7: More BDE Stuff

For the BDE registry settings, you may want to consider if you need them at all. One item that is very important is the default language driver. If you do not set this yourself, the default dBASE language driver will be "ascii ANSI". The Vesper application uses "Western European ANSI" ('WEurope' Ansi), as some of the characters used need that ... In order to save the registry settings you have for your installation of the BDE for the Language Driver, you may want to use a .REG file (created from "REGEDIT" -- the registry editor program on your computer) to copy the keys you need to a .REG file.

A .REG file is simply a text file, so you can open it and edit it yourself before deploying it. The following is an example of what you might want to do. You may want to ensure that the default dBASE language driver is one you specifically prefer to use for your application. This can be done by finding the following entry in the Registry:

If you open it in a text editor (notepad, wordpad, dBASE's source editor) it will look like:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Settings\DRIVERS\DBASE]

[HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Settings\DRIVERS\DBASE\INIT]
"VERSION"="1.0"
"TYPE"="FILE"
"LANGDRIVER"="DBWINWE0"

[HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Settings\DRIVERS\DBASE\TABLE CREATE]
"LEVEL"="7"
"MDX BLOCK SIZE"="1024"
"MEMO FILE BLOCK SIZE"="1024"

If you wanted to, you could edit any of this. I would recommend leaving it "as is". The LANGDRIVER key will be set to whatever the language driver is currently set to for dBASE tables in the BDE Administrator.

Copy this file to your source code folder. In the FILES section of the Inno Setup Script you are creating, add the following:

; -----------------------------------------------------
; BDE Registry settings (this assumes the .reg file
; is in the same folder as your application):
Source: "BDEStuff.reg"; DestDir: "{tmp}"; Flags: deleteafterinstall

This will copy the file to the temp folder of your users's computer. Then, in the RUN section, add this (make sure it's after the "MiniReg" call):

; -----------------------------------------------------
; 'Run' the Registry file with other BDE settings in it ...
Filename "{win}\REGEDIT.EXE"; Parameters "/S ""{tmp}\BDEStuff.reg"""

This will cause the .REG file to be "executed" by Windows after the BDE is installed. This avoids problems with setting the BDE registry before the BDE is installed (which then causes the registry settings to be overriden). Note that this actually runs the REGEDIT program with the "silent" switch so no dialog appears. (This information courtesy of Jordan Russel)

Custom BDE Configuration File?

NOTE: If you have a custom BDE Configuration file, there does not appear to be a way to merge this with the BDE installation; nor does Jordan Russel (the author of this program) know how to do this. You have a couple of options:

  1. Have your application's .INI file point to this (see HOW TO document on deployment of Visual dBASE 7.x applications) -- note that this may cause problems in the case of multiple applications using the BDE

  2. Or you can use the .REG methods shown above to make some of the settings you need, and programmatically (in your dBASE code) handle the rest. These settings include: the default level for table creation -- important if your application creates level 7 tables and you need specific functionality available with level 7 tables (or conversely, you may need to create level 5 tables in your application ...) (the .REG stuff shown above will take care of that); language driver name setting (the .REG stuff shown above will take care of that); and BDE Aliases -- for these, you may want to check the dUFLP library, which contains a custom class called BDEAlias.cc -- this allows you to programmatically create your database aliases ...

The second option is, in my opinion, the better way to go.

dConnections/SQL Links

If you have purchased dConnections, you will find that the native drivers for the BDE for your SQL Server Engine (i.e., Oracle, etc.) will be installed for you to the BDE folder. Unfortunately, the BDEINST.DLL file used here to deploy the BDE does not include the SQL Link files except for InterBase.

There does not appear to be a good way to put these files on your users' machine, except perhaps having Inno Setup copy them to a temporary folder, and giving your users very careful instructions on how to copy these files to the BDE folder.

The following is a list of files needed for different SQL Server Databases to have the native drivers for the BDE.

MSSQL sqlmss32.dll
SQL_MSS.CNF

SYBASE (DB-Lib)

sqlsyb32.dll
SQL_SYB.CNF
SYBASE (CT-Lib) sqlssc32.dll
SQL_SSC.CNF

Oracle

sqlora32.dll
SQL_ORA.CNF

Oracle 8

sqlora8.dll
SQL_ORA8.CNF

Informix

sqlinf32.dll
SQL_INF.CNF

Informix 9 sqlinf9.dll
SQL_INF9.CNF
DB2 sqldb232.dll
SQL_DB2.CNF
DB2 V5 sqldb2V5.dll
SQL_DB2v5.CNF

 

Is there a way to merge the .CNF file???

In addition, you will need to install whatever files are needed for the specific SQL Engine you are using for your application. You will need to check the manual for that particular application for details.


Part 8: Compile/Create Disk Images

Click on the "File" menu, and first save your script (always a good idea). Then click on the "File" menu again, and select the "Compile" option. By default, this program creates the images in a folder called "Output" under the folder that your script is in, but the example above actually tells it to create "InstallImage" so if your script is in C:\VESPER, the "Output" folder would be: C:\Vesper\InstallImage, and the disk images would be there.

With this setup, I am getting five images for 3 1/2" disks, with names of:
SETUP.EXE
Setup.1
Setup.2 etc.

The idea is to copy SETUP.EXE and SETUP.1 to the first disk, and the other disk images to the other disks, i.e., five 3 1/2" floppy disks.

If you set it to install to a single setup image, you would have had only SETUP.EXE and SETUP.1 ... (see online help for details).


Part 9: Uninstall

The uninstall program created by Inno Setup is stored in the same directory as your application, and will be named: UNINS000.EXE, and there are a couple of other files (UNINS000.DAT and UNINS000.MSG). If you install another application (using Inno Setup, that is) to the same folder, then you will get multiple versions of these, with the number being incremented ... the uninstall is quick. Note that this does not uninstall the BDE, which was installed from a separate program ...


Other Stuff

Note again that Jordan Russel, the developer of this freeware program has heavily documented the software. There are a lot of options shown in the help that are not used here, as they weren't necessary.

Also note that the deployment of Vesper is for a single-user, relatively simple application. There are options in the setup program that you may need to examine for more complex application installs ... the idea of this document was to get you started.

There are some add-ins for this software at the website noted at the beginning of this document, which appear to include a graphical front end (I haven't tested them), and also note that this has been translated into quite a few languages, so you may want to check those out as well.

Finally, if you have any problems, Jordan has been very forthcoming with answers when I asked him pointed questions about how to do something, which is great for a freeware application. Please contact Jordan with problems, not dBASE, Inc., as this is not our software package ... His contact information is on his web site ...

Why Do It The Hard Way?

Well, for one thing it's a great way to learn how something works ... however, in the long run, it's probably easier to do this by using a graphical interface. Someone created such, it's called "ScriptMaker", and was written specifically for Inno Setup. It can be found at:

http://www.tafweb.com/scriptmaker.html

I haven't done anything with it (yet), but it looks like a pretty good program ... note that ScriptMaker is also freeware ... Note also that if you want to use ScriptMaker, you still have to download and install Inno Setup and the BDE files as mentioned in the beginning of this document ...

Contact/Other ...

For assistance with Inno Setup, please contact the author via information at his website: http://www.jordanr.dhs.org/isinfo.htm

For information on Visual dBASE 7.5 -- if you own 7.5, please see the CD which has the Knowledgebase on it, or you may visit the dBASE, Inc. website and check the Knowledgebase page there, which among other things is likely to be more up-to-date than the one on the CD.


The Complete Vesper 7.5 Inno Setup Script

; -----------------------------------------------------
; This is a script to create the disk images needed
; to deploy Vesper 7.5, by Ken Mayer
; 
; This script assumes that you are using Inno Setup
; version 1.3.8
; -----------------------------------------------------
;
[Setup] 
; -----------------------------------------------------
; LANGUAGE
; If using English, ignore the following, otherwise
; remove the ";" from the beginning of the line, and
; change the filename ("default.isl") to the name
; of the language file ...
;MessagesFile=compiler:default.isl
;
; -----------------------------------------------------
; Create 3 1/2" disks -- if you want a CD image, set this
; to 0 instead.
DiskSpanning=1
;
; -----------------------------------------------------
; Define the Source Directory
; This is the Source folder for files (where is your 
; application?)
SourceDir=C:\Vesper
;
; -----------------------------------------------------
; Define the default Destination Directory
; Default directory name, under the drive:\Program Files
; location
DefaultDirName={pf}\Vesper 75
;
; -----------------------------------------------------
; Disable Append Directory
; If the user decides to change directories, and then
; selects the same directory as above, Inno will append
; the directory name to the end 
; (i.e., C:\Program Files\Vesper 75\Vesper 75 )
; By disabling this, it will not append the directory ...
DisableAppendDir=Yes
;
; -----------------------------------------------------
; Define the Group Name for the Programs menu
; Name of group that is created
DefaultGroupName=Vesper 7.5
;
; -----------------------------------------------------
; Application Name 
; As it will appear in Setup program (upper left corner)
AppName=Vesper 7.5
;
; -----------------------------------------------------
; Version -- required
AppVerName=Vesper version 7.5 
;
; -----------------------------------------------------
; Copyright for display in lower right of setup screen
AppCopyright=Copyright © 2000, Golden Stag Productions 
;
; -----------------------------------------------------
; Background color (optional, default is blue)
BackColor=clGreen
;
; ----------------------------------------------------- 
; Uninstall icon (placed in the group):
AlwaysCreateUninstallIcon=1
;
; -----------------------------------------------------
; Uninstall Icon Name
; Text associated with the Uninstall Icon
UninstallIconName=Uninstall Vesper 7.5
;
; -----------------------------------------------------
; Output Directory 
; This is where the install program gets created 
; (this will normally be "under" the source, i.e,
; C:\Vesper\InstallImage):
OutputDir=InstallImage

[Dirs] 
; -----------------------------------------------------
; This section is used to define any directories/folders
; you need created for the use of your application
; -----------------------------------------------------
; IF you are storing the data in a different folder 
; than the folder the application is installed to 
; (Vesper does):
Name: "{app}\tables" 
; -----------------------------------------------------
; Other?

[Files] 
; -----------------------------------------------------
; The files section is where you tell Inno Setup to 
; a) find the files to bundle them into your setup 
;    program and
; b) to copy them to during the installation process
;
; -----------------------------------------------------
; ------------------- dBASE Runtime Files -------------
; Visual dBASE 7.5 runtime files to the 
; Windows\System (or WinNt\System32 or ...) folder:
Source: "{pf}\dBASE\Visual dBASE 75\Bin\VDB7RUN.EXE"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
; -----------------------------------------------------
; IMPORTANT:
; ----------------------------------------------------- 
; This is language based -- the '09' should be changed based
; on your language needs -- i.e., VDB70007.DLL is German,
; and so on. The language numbers are:
;   09 = English
;   07 = German
;   10 = Italian
;   0c = Spanish (that's zero and the lower case letter 'c')
Source: "{pf}\dBASE\Visual dBASE 75\bin\VDB70009.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
Source: "{pf}\dBASE\Visual dBASE 75\bin\RESOURCE.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder
;
; -----------------------------------------------------
; -------------------- BDE Files ----------------------
; Note location of MiniReg.exe and BDEInst.dll -- make sure you set 
; to match your setup. The Destination directory is the temp
; folder ... the "deleteafterinstall" flag means that these files
; will be deleted once the install process is completed -- that
; includes after running the BDE install (see [Run] section).
Source: "{pf}\Inno Setup 1.3\MiniReg.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "{pf}\Inno Setup 1.3\BdeInst.dll"; DestDir: "{tmp}"; Flags: deleteafterinstall
; 
; -----------------------------------------------------
; BDE Registry settings (this assumes the .reg file
; is in the same folder as your application):
Source: "BDEStuff.reg"; DestDir: "{tmp}"; Flags: deleteafterinstall

; -----------------------------------------------------
; ------------ USER DEFINED (for your application) ----
;
; The application itself, to the application folder:
Source: "VESPER.EXE"; DestDir: "{app}" 
;
; Don't forget your .INI file:
Source: "vesper.ini"; DestDir: "{app}"
;
; Misc. files (images, etc.)
Source: "Calendar.bmp"; DestDir: "{app}" 
Source: "Calendar.ocx"; DestDir: "{app}" 
Source: "Herald2.ico"; DestDir: "{app}"
Source: "pkzip.exe"; DestDir: "{app}"
Source: "stag.bmp"; DestDir: "{app}"
Source: "vdb7_t.gif"; DestDir: "{app}"
Source: "vdb7ico.gif"; DestDir: "{app}"
;
; Readme file, note the flags parameter
Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme
;
; Tables, indexes and .dbts to the application\tables folder
; Note the use of the CopyMode option -- this tells the application
; to only copy the tables if the ones in the current setup are
; more recent than the ones on an existing installation. 
Source: "inventor.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "inventor.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "library.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "library.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "ranks.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "ranks.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "regions.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "regions.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "roster.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.mdx"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp2.dbf"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder
Source: "temp2.dbt"; DestDir: "{app}\tables"; CopyMode: alwaysskipifsameorolder

[Run]
; -----------------------------------------------------
; You can run external programs -- they will be executed after
; the files are copied ... 
; -----------------------------------------------------
; The item below is needed for the BDE -- it installs it completely:
Filename: "{tmp}\MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll"""
; -----------------------------------------------------
; 'Run' the Registry file with other BDE settings in it ...
Filename "{win}\REGEDIT.EXE"; Parameters "/S ""{tmp}\BDEStuff.reg"""

[Icons] 
; -----------------------------------------------------
; What Icons to set up in the Program Group
; -----------------------------------------------------
; Application icon
Name: "{group}\Vesper 7.5"; Filename: "{app}\Vesper.exe"; WorkingDir: "{app}"
; -----------------------------------------------------
; BDE Administrator - if you wish to allow your users to even
; know this exists ...
; Note that the problem here is that this assumes the user 
; didn't install the BDE to some other location -- you
; have no real control over this ...
Name: "{group}\BDE Administrator"; Filename: "{cf}\Borland Shared\BDE\BDEAdmin.exe"; WorkingDir: "{cf}\Borland Shared\BDE"
; -----------------------------------------------------
; Readme:
Name: "{group}\Readme.txt"; Filename: "{app}\readme.txt"; WorkingDir: "{app}"

[Registry] 
; -----------------------------------------------------
; Any registry keys your application may require --
; note that we are setting the dBASE Runtime location
; -----------------------------------------------------
; dBASE Runtime location setting:
Root: HKLM; Subkey: "Software\dBASE\Visual dBASE\7.5"; ValueType: string; ValueName: "RuntimePath"; ValueData: "{sys}"; Flags: uninsdeletekey

; -----------------------------------------------------
; End of Inno Setup Script
; -----------------------------------------------------