Updated:
May 12, 2000
Ken Mayer, SQA Engineer
dBASE, Inc.
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 ...:
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.
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
Assuming your application will require the BDE, there are a couple of other files needed:
EXTRACT BDEINST.CAB
If you get an error doing this, or the file is not in your installation of the BDE, you can download this file from Jordan's website, but you can ONLY do this using Internet Explorer -- there is something about the way Netscape tries to download this file that messes it up. You can use the same link to the FAQ page noted above, your can click on this link: http://www.jordanr.dhs.org/files/site1/bdeinst.cab. This file is required to install the BDE, and was created by the Borland Database Engine team ...
If you can't find it at the site above, please check Jordan's FAQ article on installing the BDE at:
The example script below assumes that these two files have been copied to the Inno Setup folder ...
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.
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.
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 ...
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 ...).
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?
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
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"""
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 ...
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 ...
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)
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:
The second option is, in my opinion, the better way to go.
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 |
Informix |
sqlinf32.dll |
Informix 9 | sqlinf9.dll SQL_INF9.CNF |
DB2 | sqldb232.dll SQL_DB2.CNF |
DB2 V5 | sqldb2V5.dll SQL_DB2v5.CNF |
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.
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).
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 ...
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 ...
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 ...
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.
; ----------------------------------------------------- ; 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 ; -----------------------------------------------------