|
Advanced CASL Installers
Tutorial Description
The purpose of this tutorial is to demonstrate how
InnoSetup can be used to enhance and customize CASL 4.3
application installers. Perhaps the ideal use for
InnoSetup is to create advanced PocketPC installers which
provide one-way Transfers of CASL databases from the
installer to the PDA.
Prerequisites
- You will first need to have the latest version of
CASL (i.e. CASL 4.3) installed. If you are unsure
of how to do this, please see the
Download page.
- Some understanding of Installers and
InnoSetup will be useful.
- To use the script below, you will want to download
and install the
InnoSetup "Quick Start" Pak. This freeware
package will allow more advanced InnoSetup scripting and
is needed to compile the InnoSetup script below.
InnoSetup Script
The following is an example InnoSetup
script that may be copied into the "ISTool" application.
Steps
- If you haven't already done so, install CASL 4.3
from our download page.
- Create your product in a location such as: 'C:\YOUR_COMPANY\YOUR_PRODUCT_NAME'
and compile and build your PocketPC installer using the
menu option within the CASLide of 'Build/Build
Application Installer'. Make sure the 'Create CAB files'
option is checked on the Build tab.
- If you haven't done so already, download and install
InnoSetup from
here. My recommendation is to download the 'Quick
Start Pak' which includes an InnoSetup
front-end called 'ISTool'.
In the code example above, it must be copied/pasted
within 'ISTool'
to compile properly. The reason for this is that the
author of this tutorial prefers to use the "#define"
function available in the ISTool to globally define
paths, common names, etc.
- Start 'ISTool' and copy/paste the code section below
into the tool.
;
************************************************
; ** YOUR_PRODUCT_NAME WINDOWS MOBILE /
POCKET PC
;
************************************************
; Installer Script Version: 1.0
;
; Script Started: 5/25/2017
; Last Updated: 5/25/2017
; Author: CASLSoft
;
; Purpose:
; Builds product for Windows Mobile / Pocket
PC
;
; (c)2017 by WAGWARE Systems, Inc. &
Brainyware, LLC
;
; DATE VERSION AUTHOR
DESCRIPTION
; ------ --------- -------
-----------
; 5/25/2017 1.0 jew Initial
release
; **********************************
; ** INSTALLATION PROJECT VARIABLES
; **********************************
; Define Global Variables to be used within
the Installer. Substitute the values in
BOLD with
; values used by your app. (Including CASL
with your apps. CREATOR ID)
#define CASLRoot 'C:\Program
Files\CASLsoft\CASL43';
#define AppRoot 'C:\YOUR_COMPANY\YOUR_PRODUCT_NAME';
#define AppCreatorID 'CREATOR_ID';
#define AppName 'YOUR_PRODUCT_NAME';
#define AppInstall=AppName+'_PocketPC_Install';
[Setup]
AppName=YOUR_PRODUCT_NAME
AppVerName=YOURAPP (for PocketPC)
AppPublisher=YOUR_COMPANY
AppPublisherURL=http://www.YOUR_COMPANY.com
AppSupportURL=http://www.YOUR_COMPANY.com/support.htm
AppUpdatesURL=http://www.YOUR_COMPANY.com/YOUR_PRODUCT_NAME.htm
DefaultDirName={pf}\YOUR_PRODUCT_NAME
DefaultGroupName=YOUR_PRODUCT_NAME (for
PocketPC)
;LicenseFile=license.txt
OutputBaseFilename=YOUR_PRODUCT_NAME_PPC
Uninstallable=yes
UninstallFilesDir={app}\uninst
ChangesAssociations=yes
[Files]
; NEEDED ONLY IF .CDI/.CDB Files need to be
transferred to to PocketPC
; The following files are needed for the
CASL Transfer Utilties (CASLcdi2ppc /
CASLppc2cbd)
Source: {#CASLRoot}\PocketPC\CASLcdi2ppc.exe;
DestDir: {app}; Flags: ignoreversion
Source: {#CASLRoot}\PocketPC\CASLppc2cdb.exe;
DestDir: {app}; Flags: ignoreversion
Source: {#CASLRoot}\PocketPC\CEAPPMGR.EXE;
DestDir: {app}; Flags: ignoreversion
Source: {#CASLRoot}\PocketPC\CASLregARM.exe;
DestDir: {app}; Flags: promptifolder
Source: {#CASLRoot}\PocketPC\CASLregMIPS.exe;
DestDir: {app}; Flags: promptifolder
Source: {#CASLRoot}\PocketPC\CASLregSH3.exe;
DestDir: {app}; Flags: promptifolder
Source: c:\windows\system32\SregoCETPx.ocx;
DestDir: {sys}; Flags: regserver
ignoreversion noregerror uninsneveruninstall
; COMMON TO ALL CASL PRODUCTS
Source: {#AppRoot}\{#AppInstall}\{#AppName}.ini;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_ARM.CAB;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_ARM.DAT;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_MIPS.CAB;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_MIPS.DAT;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_SH3.CAB;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\{#AppName}.PPC3_SH3.DAT;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\InstallScript.ini;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\{#AppInstall}\Setup.exe;
DestDir: {app}; Flags: ignoreversion
; YOUR_PRODUCT_NAME-SPECIFIC FILES
Source: {#AppRoot}\{#AppInstall}\README.TXT;
DestDir: {app}; Flags: ignoreversion
Source: {#AppRoot}\YOUR_PRODUCTS_DATABASE.cdi;
DestDir: {app}; Flags: ignoreversion
[Registry]
; No Registry Modifications needed
[Icons]
; CREATE ICONS (Custom for each App.)
Name: {group}\YOUR_PRODUCT_NAME on the Web;
Filename: http://www.YOUR_COMPANY.com/YOUR_PRODUCT_NAME.htm
; CREATE ICONS (Common for All Apps)
Name: {group}\Uninstall\Uninstall {#AppName}
from the PocketPC; Filename: {app}\CEAPPMGR.EXE
Name: {group}\Uninstall\Uninstall {#AppName}
from the Desktop; Filename: {app}\uninst\unins000.exe;
Comment: Uninstall
[Run]
; RUN CASL INSTALLER
Filename: {app}\Setup.exe; Parameters: ;
Description: Run CASL Installer
; RUN CDI2PPC to Transfer any CASL Databases
to the PocketPC
Filename: {app}\CASLcdi2ppc.exe; Parameters:
"-CreatorID {#AppCreatorID} -DBFile
""{app}\*.cdi"""; Flags: nowait
[Messages]
BeveledLabel=YOUR_COMPANY
|
- Next, do a search/replace for "YOUR_COMPANY"
and replace it with your company name. Do the same for :
YOUR_PRODUCTS_DATABASE, YOUR_PRODUCT_NAME, CREATOR_ID
and YOUR_PRODUCT_NAME_PPC.
- The resulting script should be pretty close to your
final script. You may want to add some custom
application icons, bitmap images within your InnoSetup
script, etc. However, for the most part this should get
you up and running rather quickly.
Home | News | Community | Products | Download | Support | Sales | About CASL
|
|