Release Date


CASL Version 4.3 Update Notes Visit us at :

©2018 by WAGWARE Systems, Inc. and Brainyware, LLC


Read this file to find out about the latest changes to the CASLSoft software package and any late breaking news

What's New - Find out what is new in this release.

ActiveSync Support - Learn more about CASL ActiveSync 3.7 - 4.x support.

CASL Transfer Utilities - The transfer utilities allow easy one-way transfers of databases between the Desktop<->PocketPC.

Revision History - Revision history for this release.

Versions - Identifies the latest versions of each CASL component.

Upgrade Notes - Additional notes regarding this upgrade.

Known Issues & Changes - Known issues and changes in this release.

Palm OS Emulator Notes - Notes regarding the Palm OS Emulator.

Hi-Res and Form Size - Information and Tips for creating CASL Hi-Res applications.

CASL ActiveSync - Latest news and information regarding CASL ActiveSync.

CASL Installer (PocketPC Support) - Information and Tips regarding the CASL installer with PocketPC support.

Website: http://www.caslsoft.comE-mail Support: support@caslsoft.comSupport Board:

What's new in this Release

CASLide Enhancement

A new code completion capability was added to the CASL IDE.  By pressing CTL+SPACE within CASL 4.3, a new function, object, and global variable browser will appear.  This will allow you to easily see the functions, parameters and return value data types.  For global variables, objects, and functions that are specific to your project to become visible in the list, you must compile your project.  Once compiled, these will also appear in the list.

When compiling applications, CASL will now show the number of CASL objects in the project (Example: 'Total Number CASL Objects = 125').  If the number of objects  within the CASL application exceeds the maximum number allowed (644) an error will be generated.

CASL Components Installer

A new CASL Components installer was created to simplify the installation of those components needed to build PalmOS (CASL Pro) applications.  Please visit the download page for instructions and a link to download the CASL Components installer.

CASL ActiveSync

Please see the following section for the latest news and information regarding CASLppc and ActiveSync.

Freeware vs. Licensed

CASL 4.3 will display a popup window stating 'Unregistered CASL Compiler - License needed for Commercial Applications.  Visit'.  There are no restrictions whatsoever on the capabilities other than the pop-up box.  This is perfect for freeware authors who wish to use CASL to develop Freeware applications.  For Commercial developers you may license your copy of CASL 4.3 to remove this  pop-up dialog from your compiled applications.  Upgrade note: If you have already purchased CASL 4.2 from WAGWARE Systems, Inc. / Brainyware, LLC you will receive a free upgrade to CASL 4.3 which will remove this dialog.  Please contact if you have not received your updated license key.

CASLPro (PalmOS) Fixes

A fix was applied which corrects an issue on the Palm T|X device which would cause a reset when the CASL application is terminated.  CASL 4.3 corrects this issue as it was related to an app exit event / memory chunks associated with TEXT objects.  If the CASL app. did not have a Text object within the project, the T|X device did not reset.

An additional fix was added to correct an issue whereby a reset during execution of a CASLPro application could cause the AppInfo. block not to get saved on NVFS devices and could result in loss of data.  This issue is now corrected.

CASLppc Fixes

Prior versions of the CASLppc would allow network communications to occur only while the PPC was tethered to the Laptop/Desktop PC directly (USB).  The CASLppc now supports the ability to utilize WiFi networks to communicate to a remote host machine.

CASL Productivity Pak Added (Moved to CASL Components Installer)

In CASL 4.3 we are pleased to announce the inclusion of the CASL Productivity Pak as part of the CASL Components installer.  This very powerful toolset allows CASL developers to browse/edit and search existing .cbd/cdi files, convert Access Databases to CASL Code (with data rows) and includes a command-line version of the Access to CASL code tool.  All of these tools will empower CASL Enterprise and non-Enterprise users alike with a valuable toolset for building great new applications using the CASL language.  This Package was added courtesy of Vivid Software, Inc.

The MDB 2 CASL Converter
This program will convert Access database tables and queries to CASL (Code and Data). It allows you to select the fields from the table or query, build your own SQL queries, and it generates the Code in a CASL cpk file (both variables and dbfile definition). You can also use it to create index files for multiple key tables. You can even use the preview feature to view the results of your conversion before performing it. Once you have created your CDB file you can use ConvertCDI2PDB to create a PDB file.

This tool is a command line equivalent of the MDB 2 CASL converter. Using this tool you can script batch conversions of Access databases tables (or SQL queries) or create index tables. Includes a sample batch file and an interactive Batch builder (in case you don't know much about building DOS batch files).
However, if you do understand batch files then using the scripting language is very simple.

When used with ConvertCDI2PDB you can create CDB files from an Access database and then convert the files to PDB. Offering a simple way to convert an entire projects files and data to Palm format.

CDB Browser
CDB Browser lets you browse CASL (CDB) files, edit and search them. You can also create Layout files to save the column headers, size and even the CDB file location. This tool is essential for working with CASL. Once you have it you'll wonder how you got by before.  *Note - During installation of the CASL Productivity Pak, .cdb / .cdi files will be associated with the CDB Browser tool.


Program Version Description
CASLide 4.3.0 IDE (Integrated Development Environment)
CASLwin 4.3.0 Windows runtime
CASLppc 4.3.0 PocketPC runtime
CASLrt 4.3.0 PalmOS and Symbol SPT-1500 barcode scanner runtimes
CASLpro Libs 4.3.0 CASLpro libraries
CASL_c 4.3.0 Full Compiler
CASLcdi2ppc 4.3.0 CASL cdi to PocketPC Transfer utility.
CASLppc2cdb 4.3.1 CASL PocketPC to cbd transfer utility.
Setup 4.3.0 CASL install runtime
ConvertCDI2PDB 4.3.0 Convert a CASL database file to a PDB
CASLprc 4.3.0 PRC converter
CASLcn20 4.3.0 Conduit
CondReg 4.3.0 CASL conduit installer
RemCond 4.3.0 CASL conduit remover


Revision History

Release Date :


Release Summary: CASL 4.3 Release
ComponentVersion New / Fix / Enhancement Description
CASLppc2cdb FixCorrected an issue that would occur when transferring a PocketPC Database to the Desktop.  The last field of the .cdb header would be missing; last column of .cdb file would be missing a double quote if the field data type was a string.


Release Date :


Release Summary: CASL 4.3 Release
ComponentVersion New / Fix / Enhancement Description
CASppc Enhancement Text objects on the PocketPC / Windows Mobile now show a border around the object to maintain consistency with CASLWin.
CASLide Enhancement Added block comment to the Edit menu.  To use this new capability, highlight the lines of CASL code you wish to comment and select the menu option "Edit|Comment Block" (or press CTL+SHIFT+C).  To uncomment, select lines to uncomment and select the menu option "Edit|Uncomment Block" (or press CTL+SHIFT+U).
CASLide Enhancement Added "List Symbols" to Edit menu.  By pressing CTL+SPACE within CASL 4.3 (or selecting the menu item “Edit|List Symbols”), a new function, object, and global variable browser will appear.  This will allow you to easily see the functions, parameters and return value data types. 

Added code completion (ctrl+space).  "list object properties" will attempt to bypass the first step by determining what type of object is there.  For these to work a compile (even if unsuccessful) must have been performed. "symbols.txt" is generated on compiling.

CASLide Enhancement Added InfFile.WriteString("BuildMax=0xE0000000\n"); in order to stop message "The program you have installed may not display properly because it was designed for a previous version of Windows Mobile Software" when installing a CASL application to Windows Mobile 2005 devices. 
CASLide  EnhancementWhen compiling applications, CASL will now show the number of CASL objects in the project (Example: 'Total Number CASL Objects = 125').  If the number of objects  within the CASL application exceeds the maximum number allowed (644) an error will be generated.
CASLInstall / Setup Fix Fix to allow supporting the standard CASL Installer for the PocketPC to allow syncing CASL DB's to the Desktop.
CASLInstall / Setup Enhancement When creating PPC application installer, now also copies CASLcdi2ppc, CASLregARM, CASLregSH3, and CASLregMIPs to install directories as needed.  These files are used in transferring databases to PocketPCs.
CASLInstall / Setup Enhancement CASLinstall (setup.exe) now uses CASLcdi2ppc for installing databases.
CASLWin Enhancement When compiling for Windows, a "YourApp.exe" file is copied to the "Windows Release" folder.  This is a re-named CASLwin.exe, but if you double click it it runs the .csp file and should make distribution easier.
CASLppc Enhancement In PPC builds (only), if you have a function that is the name of a form or label, that function will be invoked when that object is tapped.
CASLppc PocketPC interpreter with improved networking support to allow devices to communicate over WiFi networks to a remote location.  Previous versions allowed network communications only while the device was in the cradle/connected to the PC directly.
CASLIntro.pdf 1.0NewIntroduction to CASL Development documentation.
CASLcdi2ppc which allows .CDB/.CDI Files to be transferred from the Desktop PC to the PocketPC.
CASLppc2cdb which allows databases on the PocketPC to be transferred to the desktop. 
CASLide.hlp - Enhancement Updated What's New section to include Transfer Utilities, CTL+SPACE IDE Enhancement and more.
CASLSync.dll - Enhancement Removed the "Collecting CASL Database Info" message from the CASLsync dll.
General Fix On a T|X, anytime a CASL app. is exited (i.e. the shutdown event occurs) the unit resets.  This fix corrects issues related to app exit and memory chunks associated with TEXT objects.
General FixFixed an issue on the PalmOS whereby a reset within a CASL Pro application could cause the AppInfo. block not to get saved on NVFS devices and could result in loss of data.
CASL Samples - CASL_DLL 1.0NewAdded the CASL DLL sample that demonstrates how to use external functions with CASLWin and CASL PocketPC.  This DLL example includes functions for Date/Calendar pop-up, Retrieving the PocketPC Device or Owner's Name, Retrieving the Hard Drive serial number (for CASLWin) and several other useful functions.
CASL Samples- RegTool 1.0 New This sample application is useful for demonstrating how a single CASL project can be used to retrieve the HotsyncID (PalmOS), PocketPC Owner's Name and Hard Drive Serial Number (for CASLWin).  Also included in this example is a functional RPN Interpreter similar to the one used by many ESD sites.  This will allow CASL Developers to quickly create applications that generate a license key for their products.
CASL Samples - Keypad 1.0 New The Keypad application (in the \CASL43\Samples folder) demonstrates how to create a numeric keypad application within CASL.  This may be useful for applications that need to enter a license key for a product, calculators, payment applications, etc.
CASL Samples - Custom UI1.0NewThe Custom UI example (in the \CASL43\Samples folder) demonstrates how a CASL developer may create custom buttons on the PalmOS.  This example is recommended for Hi-Res Palm OS Devices only (PalmOS 5.1.x or higher).  Although it will run on PalmOS versions lower than 5.0, the button images will be scaled and not look their best.
CASL Samples - Encryption1.0NewThe Encryption example (in the \CASL43\Samples folder) demonstrates a simple encryption / decryption routine that may be useful for some applications.
CASL Samples - WinPX 1.0NewThe WinPX application (in the \CASL43\Samples folder) is a useful example in demonstrating how to play .wav files (audio) on PalmOS 5.x devices (or higher).
CASLPro Serial BT Lib 1.0NewThe CASLPro BlueTooth Library was added to the \CASL43\Samples folder.  It allows the creation of CASL applications that access BlueTooth devices (such as Serial Ports on the Desktop, GPS, etc.).  This Sample is designed for PalmOS, PocketPC/Windows Mobile.
CASLPro Events Lib 1.0NewThe Events Library was added to the \CASL43\Samples folder.  This example contains functions for FiveWayHandler, HardPowerOff, SoftPowerOff, Launch detection, Pen Up/Down/Move detection.  This Library is for CASLPro (PalmOS) only.
*CDB Browser1.0.2 NewCDB Browser lets you browse CASL (CDB) files, edit and search them.  *Note - During installation of the CASL Productivity Pak, .cdb / .cdi files will be associated with the CDB Browser tool.  Double-clicking a .cdb / .cdi CASL Database will then launch the CDB Browser tool.  This item may be installed from the CASL Components installer.  Please see the Download Page for details.
*MDB2CASL1.0.11.18 NewConverts MS Access databases to CASL .cdb files and generates CASL .cpk's.  This item may be installed from the CASL Components installer.  Please see the Download Page for details.
*CmdCdb1.0.0Newallows converting MS Access databases to .cdb files within batch files.  This item may be installed from the CASL Components installer.  Please see the Download Page for details.

* - These tools are courtesy of  Vivid Software, Inc. 

Upgrade Notes

Known Issues and Changes

These are known issues with the PocketPC functionality :


These are known issues with the PalmOS5 functionality :


These are not issues, but instead are things that just work differently.

screendesktop iconlist icon

Palm OS Emulator Notes

Hi-Res / Form Size


The runtime form size can be specified for PalmOS and Windows. The Runtime Form Size is set using the Project->Applications Settings dialog. Separate settings are maintained for each platform type.


The IDE Form Size is set using the Tools->IDE Settings dialog. This sets the form size for designing forms and is independent of the platform type.


If you plan on writing your application for hires, double the size of the bitmaps and change the CASL display size to 320x320. For example if you had a 50x50 bitmap, make it 100x100 to get more detail. You may also have to go through the application code and edit the values for x_pos, y_pos, height, and width of controls and draw command coordinates where they are changed at runtime. 


Set the runtime form size to 320x320 (hires) and build the project.


On a hires PDA you will get the hires graphics and on low-res you should see what you would see if you did not use hires. 


You could also take advantage of the larger screen area for more display objects in hires, but in low-res the objects will be crowded.


Here is a method to prepare a basic image for hires:

  1. Open an existing CASL bitmap, switch to the Black and White version if you're not already on it.
  2. Press Ctrl+A to select it, and Ctrl+C to copy the bitmap.
  3. Open Windows Paint, press Ctrl+V to paste it in.
  4. Save it, because your B/W version in CASL will be lost soon.
  5. Return to CASL bitmap, switch to the Color version of your bitmap.
  6. Press Ctrl+A to select it, and Ctrl+C to copy the bitmap.
  7. Switch to Windows Paint, pressed Ctrl+V to paste it in.
  8. Select Image>Stretch/Skew and stretch horizontal and vertical to 200%.
  9. Use the Paint editor to touch up the bitmap as needed. You can take out a lot of jagged edges. Remember, going from 160 x 160 resolution to 320 x 320 does not double your number of pixels, it quadruples it. You go from 25,600 pixels to 102,400. So you can really improve things.
  10. When your image looks nice, press Ctrl+A, Ctrl+C to copy the image.
  11. Return to CASLide, select Image>Bitmap properties... and double the size of your color bitmap. This is where your old bitmap (color and bw) disappears.
  12. Press Ctrl+V to paste the new bitmap in.
  13. Return to Paint and open the B/W version you saved.
  14. Repeat steps 8-10(+12) for the B/W version then save it in CASL.
  15. Repeat all this for each bitmap in your project.


Support for large and small icons has been added for PalmOS. When you create an icon you will be prompted for a small or large icon.


screendesktop iconlist icon


NOTE: The previous PalmOS project icon is not compatible with CASL 4.3 and will have to be recreated to fit the new size.


Palm has changed icon sizes so your old icons will have to be removed from your project and recreated. You'll need to open CASL41, open your current icon there, copy it to the clipboard and move back to Window Paint to save it (and save the B/W version of your icon too). You have to save it because the old icon has to be removed from your project when you open the project in CASL43. The old icon won't open in CASL43 since it's the wrong dimensions. So remove it, then add a new icon for your project, and select to make it a desktop icon.


Your large hi-res icon (CASL calls it a desktop icon) will be 44x44. They're square now rather than rectangular like in low res.


You old icon was 32 x 22, so your height is going to double but you'll have to cut the width back from 32 to 22, so when you double the bitmap size it will fit in 44 x 44. Takes some playing with, depending on your current icon's width, to make a new one resized to the right dimensions.


Your new small, list-sized icon will be 30 x 18. Palm has given a different shape here so you can't just reduce the large icon by 50%.


Once you have your small icon created in Paint, copy it, add a List icon to your project in CASLide and paste the small icon in. (repeat for B/W small icon).


NOTE: You will need the newer Palm OS5 SDK, which can be downloaded from: (included within the CASL Components installer)


If you do not use it you will get a “MemGluePtrNew not found” error during the PRC creation process.

CASL ActiveSync (CASLas)

Before using CASL ActiveSync, the application database must first be opened and closed using the new CASL PocketPC runtime for the database to be upgraded to 4.3 (if upgrading from CASL 4.1 or earlier versions).


CASL ActiveSync only supports sync modes merge and none. CASLsync no longer does the initial installation of the DBs.  CASLcdi2ppc does that, although the application must open and close the DBs one time before the sync starts occurring.


CASL ActiveSync is used to synchronize CASL database files between the Pocket PC device and the Desktop PC.  CASL includes a powerful application install builder that allows .CDB/.CDI (CASL Databases) to be transferred, at install time, by the CASLcdi2ppc transfer utility.  No syncing will take place until such time as the application creates the CDB or an initial .CDB/.CDI file has been transferred to the PocketPC.  *Note - It is NOT necessary to install CASLsync if DBs are only going to be transferred at install time and don't need synchronization back to the Desktop.


When you place your PPC into its docking cradle the Windows Active Sync Manager recognizes it initiates the transfer of new, edited or deleted records from either the PPC and/or windows.  You will need to have installed version 3.7.1 or later of Microsoft ActiveSync (ActiveSync 4.x is now supported).


When you install your CASL application onto your PPC you are also asked to define a directory on your PC where that application (by creatorID) where the PC side .CDB/.CDI files will reside.


Behaviors of ActiveSync:


A new synchronization tab has been added to the PocketPC installer dialog. For your application, enter the name that you wish to be shown in the ActiveSync options screen. The “Install the conduit” checkbox must be checked for CASL ActiveSync to be installed with the application.


Setup.exe allows overriding the sync data path when the –SyncDataPath option is specified: Setup.exe –SyncDataPath “C:\MyApp\SyncData”. The application data folder edit box will not be displayed on the install application dialog.


After the application is installed, an entry for the application will be displayed in the ActiveSync options screen. Enable CASL ActiveSync by checking the application icon in the ActiveSync options screen. Each application will have its own CASLsync icon.


CASL .CDB/.CDI files (Databases) are now loaded at installation, not at first sync.


If an application is uninstalled from the PPC then its CASL ActiveSync configuration should also be removed. Open ActiveSync and select the Options menu. On the Sync Options tab, select the application and the click the Settings button. A dialog will be displayed that will allow removing the application’s CASL ActiveSync setting.


Optionally, the utility CASLremas can be used to remove a CASL ActiveSync provider. There are two optional command line arguments:

-CreatorID id

Id is the application creator ID. If you do not specify -Creator ID, then the CASL entry will be removed.


Using this will remove the prompt that asks if you are sure you want to remove the ActiveSync provider and will remove the prompt that indicates the ActiveSync provider has been removed. Error prompts will still be shown.

Here is an example:

CASLremas -CreatorID FRED -Silent

This will remove the CASL ActiveSync provider FRED.

Important Note for selecting the CASL ActiveSync Directory!


You cannot have two different applications (creatorIDs) using the same CASL ActiveSync directory!  This is because the .CDB/.CDI files do NOT have the creatorID in them.  Therefore CASLsync cannot determine the difference between one .cdb or another by creatorID.  Thus CASLsync would try to synchronize all files in the directory multiple times, once for each application configured in the directory.


Also, because of this new PPC databases (from .cdi files) would not be assigned to the correct application (by creatorID) in the PPC.


Also, you CANNOT use the same directories to synchronize PALM and PPC databases.

Configuring Microsoft ActiveSync Manager

When you place your PPC into its docking cradle, the Microsoft ActiveSync application will run.


Before performing CASL ActiveSync you must enable those CASL applications to be synchronized.  To do this press the options button on the toolbar of the Microsoft ActiveSync application.


Selecting Applications for Synchronization


This brings up a dialog box with three tabs.  Select the “Sync Options” tab.  You will see a list of applications that ActiveSync has knowledge of with check boxes next to them.  The CASL applications are indicated by the CASL icon and having a name of CASL: <application name>.  If you want ActiveSync to synchronize an application click in the check box to the left of its icon and a check mark should appear.

If the application does not exist in the list or it does not have a check box then CASL ActiveSync for that application has not been installed or something failed in its install.


Setting Synchronization Method (On Connection or Manual)


Now select the schedule tab of the options dialog box.  In the Desktop Schedule section select “On Connection”.  You my select “Manually” but this means that you must press the “Sync” button on the main window to actually perform the synchronization.


Do not select “Continuously” when CASL applications are selected for synchronization as CASL ActiveSync has NOT been optimized for continuous synchronization.


Once you have selected your Desktop Schedule, press the OK button.  This will cause the ActiveSync application to begin synchronization with the selected application(s).  If you selected “On Connection”, the synchronization will be run.  If you selected “Manually”, the synchronization will just collect information on the number of items not synchronized for each application selected.  Pressing the “Sync” button completes the synchronization.

Synchronization of CASL Databases

You can now perform normal synchronizations of your PPC databases with the PC.


Whenever you wish to synchronize your PPC with the PC, simply place it into its docking cradle.  The Microsoft AcitveSync Manager application will run and perform the synchronization (as described at the end of the previous section).


After synchronization has completed you can remove the PPC.  (Or leave it connected to recharge the battery.)


The ActiveSync Manager continues to run as long as the PPC is installed.  Any record that change on the PPC will be noted as items not synchronized in the application’s display.  You can press the Sync button again to synchronize these.  CASLsync does NOT keep track of records that have changed in the PC side database.  However, when you press the sync button, the PC side records will be re-read and synchronized if necessary.

PC CASL ActiveSync Database Files (.cdb/.cdi)

CASLsync uses the same format database files as used by CASL’s Palm HotSync.  These consist of files in the application’s Caslsoft® ActiveSync directory with .cdb and .cdi extensions.  The name of the database file in the PPC is the same as the .cdb/.cdi file without the .cdb/.cdi extension.


The .cdb files are the usual place for database information to be stored in the PC.  If an application’s database exists on the PPC but not on the PC, the .cdb file for it will be created.  Note: the .cdb file will NOT be created until there is at lease one record in the PPC database.


If the .cdb file is deleted from the PC (erroneously) it will be recreated after TWO full synchronization cycles (removing and replacing of the PPC from its docking cradle).


If a .cdb file has no existing database on the PPC, its #SYNCMODE parameter is forced to “NO_SYNC” (see #SYNCMODE setting section below) and will not be synchronized.

The .cdi files are used to force initial database records down the PPC.  Only .cdi files can be used to create new database files on the PPC.  If a database already exists on the PPC for the .cdi file, it is deleted and replaced by the new information.  After the data from the .cdi files are synchronized to the PPC, the .cdi file is renamed to .cdb.


You can rename a .cdb file to .cdi to force its information down to the PPC without regard of the information in the PPC database.


When the synchronization process has completed, the previous .cdb/.cdi file will be renamed with a .bak extension and a new .cdb file is created (assuming something changed).


#SYNCMODE setting

The .cdb file has a number of parameters within it.  The #SYNCMODE parameter is of special use by CASLsync.  This parameter is used to decide if a file is to be synchronized or not or how to resolve changed record conflicts (the same record is changed in both the PC and PPC side database).


The following give the useful values for the #SYNCMODE parameter:

NO_SYNCDo not synchronize this file
MERGESynchronize, manually resolve changed record conflicts
PDA_TO_PCSynchronize, PDA records are always used in conflicts
PC_TO_PDASynchronize, PC    records are always used in conflicts

A dialog box displayed by the ActiveSync Manager program handles manually resolved conflicts.


There is a SYNCMODE associated with the PPC database as well.  That SYNCMODE has priority and if they do not match, the .cdb file’s SYNCMODE will be changed to match.

Log Files

CASLsync creates log files of its operations on both the PC and PPC.  These log files are an invaluable tool in diagnosing any problems that might crop up (to be read by CASL tech support only).  These files should be sent with any bug report that you might have about CASLsync.


The log files come in sets of two.  On the PC they are called caslsync.log and caslsync_1.log and reside in the logged in user’s temp directory in the CASL subdirectory.  On the PPC they are called casldev.log and casldev_1.log and reside in the /temp directory. (The casldev.log files are forced to be only 50K bytes long to keep from hogging the PPC memory.)


To get the PPC log files you use the Explore tool bar button from the ActiveSync Manager application.  Select “My Pocket PC” and then select the Temp directory.  You must COPY the log files out of this directory into another before you can access them to be sent to CASL.


CASL ActiveSync Support Changes


Setup.exe allows overriding the sync data path for CASL ActiveSync when the -SyncDataPath option is specified: Setup.exe -SyncDataPath “C:\MyApp\SyncData”. The application data folder edit box will not be displayed on the install application dialog.


The CASLremas utility will remove the application’s CASL ActiveSync provider entries and the application will no longer be synchronized. There are two command line arguments:
-CreatorID appid where appid is the applications creator id
-Silent, which will disable prompts.


Added support for userpath to find the CASL ActiveSync folder for a given creator ID. The Creator ID is passed to the userpath() function. If it is not found then it will assume it is a PalmOS HotSync user name and will return the HotSync path for the user. The string that is passed in must start with “pocketpc,” and then followed by the Creator ID. For example, userpath(“pocketpc, CAS7”) will return the data sync location for an PocketPC application with the id CAS7.

CASL Transfer Utilities

This release includes support for two additional utilities, CASLcdi2ppc and CASLppc2cdb.  These utilities are provided to allow one-way transfer of CASL Databases either from the PocketPC to the Desktop or from the Desktop to the PocketPC.  These utilities may be executed either directly from their icons within the \CASL43\Tools program group or via a command-line/batch file.

The three CASLregXXX.exe files MUST reside in the same directory as CASLcdi2ppc, users should get in the habit of transferring all four files together at all times.  The CASL Installer will copy the CASLregXXX.exe files to the appname_PocketPC_Install folder automatically.  However, care must be taken if users will be using the transfer utilities with their own applications as to include the CASLregXXX.exe's.

CASLppc2cdb Database Transfer Utility

This will transfer CASL DbFiles from the PocketPC device to the desktop PC. The file created on the PC is a CASL CDB file.


Command line option


-CreatorId XXXX         

Where XXXX is your creator id


This will transfer all DbFiles match the given creator ID

-DbFile DbFileName

Where DbFileName is the name of the file to transfer. You may specify multiple –DbFile options to transfer a select group of files.

NOTE: This is not used if TransferAll set.


The folder where the CDB files is created.

NOTE:  The name must be in quotes if it contains spaces and must not have a trailing backslash.


*Example Usage:

    CASLppc2cdb -creatorid MyApp -DbFile MyDB -DestinationFolder c:\myapps\coolapp


*Note - There should not be a trailing "\" at the end of the destination folder name.


If no command line options are specified, then a dialog box is presented. Note: The #SYNCMODE is currently always set to "NOT_SPECIFIED"

CASLcdi2ppc Database Transfer Utility

This will transfer CASL DbFiles from the PC to the Pocket PC device. The file on the PC is a CASL CDB or CDI file.


Command line option


-CreatorId XXXX         

Where XXXX is your creator id

-DbFile DbFileName

Where DbFileName is the name of the file to transfer. You may specify multiple –DbFile options to transfer a select group of files.

Example Usage:

    caslcdi2ppc -CreatorID MyApp -DBFile c:\myapps\coolapp\theDBFile.cdb

CASL Installer PocketPC Support

The CASL application installer has been updated to support PocketPC installs. The build configuration (i.e. PalmOS  Release, PocketPC Release, etc.) is used to determine the install type. The install files are put into a folder, which has the project name, followed by the build type and then “_Install”. For example, a project named PutFrame would have a folder called “PutFrame_PocketPC_Install” that contained the PocketPC install files.


When the application is installed on the device it is stored in a folder under the \Program Files folder and is named using the name specified in the Application Name field on the Application Information tab. A shortcut is added to the Programs start menu folder and is named using the desktop name specified by the Project->Application Settings dialog (used to be called PRC Settings). If a desktop name is not specified, then the Application Name field on the Application Information tab will be used.


Currently there is no CASL ActiveSync Provider install, it will be added in a future release. However CDB and CDI files will be uploaded to the PDA as part of the install process using CASLcdi2ppc.


There is a new field on the Application Information tab, which allows specifying an application icon. If the field is blank, then the standard CASL icon will be used. The Icon must contain a 32x32 and 16x16 bit icon and use no more than 256 colors. You will need to reset your PocketPC device if you change icons since PocketPC caches the old icon image.


Icon editors can be found on the web that can be used for your CASL PocketPC installers. Here are a couple of links:


A check box labeled Create CAB Files has been added to Build tab which allows generating the cab files when the application setup files are produced. If this box is not checked, then after the install package is built, you will need to double click the buildcab.bat file in the install folder to create the PocketPC CAB files. Double click buildcab_cleanup.bat to remove the temporary files.


The buildcab process combines the CASLppc runtime, application file CCE’s, and application dll’s and produces a CAB file for each CPU type. The CeAppMgr.exe installer uses these CAB files to install your application on the target device.


The CDI files are not part of the CAB files that buildcab produces. The CASL installer uploads the CDI files during the install using CASLcdi2ppc.


The install includes a copy of CASLppc, which it renames to the application name. There is a copy in the ARM, MIPS and SH3 folders.


NOTE: The following files must be in your CASL 4.3 folder for buildcab to work and are included in the CASL 4.3 installer:





These utilities are also included with eMbedded Visual Tools ( and also can be found at  Microsoft's license agreement for the Makecab utility can be found here.


These are the files that are used by buildcab.bat to produce the CAB and DAT files used by CeAppMgr.exe to install your application:


ARM folder

Contains the renamed CASL runtime and needed CASL DLL’s and application DLL’s for the ARM CPU.

MIPS folder

Contains the renamed CASL runtime and needed CASL DLL’s and application DLL’s for the MIPS CPU.

SH3 folder

Contains the renamed CASL runtime and needed CASL DLL’s and application DLL’s for the SH3 CPU.


Used by the CASL setup DLL when installing and uninstalling the application.

<Your app>.inf

Used by cabwiz to create the CAB and DAT files used by CeAppMgr.exe to install the application.


Application program files.


Wave files used by the application.


Buildcab.bat deletes the files that are no longer needed after the CAB files are created. The remaining files are used to install your application. These are:



Present if there are any CDI/CDB files to install.

*.CDB and *.CDI

Initial application database files.


Windows’s installer.

*.CAB and *.DAT

Application files installed by CeAppMgr.exe.

<Your app>.ini

Used by CeAppMgr.exe to install CAB files.


Used by CASL Setup.exe.


Text messages displayed at install time.


CASL installer.


The application database files are removed when the application is uninstalled.


-- End of Update Notes --

Website: http://www.caslsoft.comE-mail Support: support@caslsoft.comSupport Board:


©2005 - 2018 WAGWARE Systems, Inc. and Brainyware, LLC., All Rights Reserved


CASL (Compact Application Solutions Language) and CASLSoft is a Trademark of WAGWARE Systems, Inc. and Brainyware, LLC.