Windows
Linux
Unix
Version 12
Version 11
Version 10.1
Support
Pocket APL
Arrow
Benefits
Arrow
Requirements
Arrow

Product details and compatibility

Arrow
Anatomy of a Pocket Dyalog Application
Arrow
Publishing Pocket Dyalog Applications
Arrow
Building Applications
Arrow
Samples
Arrow
Demo
Arrow
Downloads
Third Party Products




 

Building an Evaluation Application

 

Applicationevalsetup.dll

The evaluation period for an application begins when the application is first installed on a user's PDA. This initialisation requires that a Pocket Dyalog Dynamic Link Library named evalsetup.dll be called by the your installation program (setup.exe) at install time. 

evalsetup.dll contains a function named Install_Exit() which is automatically invoked by setup.exe just before it exits after completing a successful installation process.

If you want to hook in your own custom DLL at this stage, you will need to ensure that it calls Install_Exit() in evalsetup.dll directly as described below

Note: If you omit to include evalsetup.dll with your evaluation application, or if you fail to properly call it when the application is installed, your evaluation application will display the Evaluation Expiry dialog box when it is invoked, regardless of the expiry date. 


Copy evalsetup.dll

Copy evalsetup.dll from \Program Files\Pocket APL on your PDA into the application directory (e.g. c:\myapp) on your desktop computer.


Change app.inf

The sample app.inf file (the installation configuration file) contains a section called DefaultInstall.

To call a DLL at install time it is necessary to add the CESetupDLL parameter to this section:

[DefaultInstall]; Required section
CEShortcuts = Shortcuts. All
CESetupDLL=evalsetup.dll

Secondly, it is necessary to include evalsetup.dll in the list of files to be installed on the PDA. In the sample that is provided (DAN) there is a single group of files defined in the section labelled [Files.ARM]. In this case, it is sufficient to add evalsetup.dll to this list.

[Files.ARM]
dan.dcf,,,0
dan.exe,,,0
evalsetup.dll,,,0

Finally, you must specify where evalsetup.dll is located on your desktop computer. Assuming that you had copied it into the same sub-directory as dan.exe, the following addition is required.

[SourceDiskFiles.ARM]
dan.dcf=1
dan.exe=2
evalsetup.dll=2

Unless you intend to use your own custom DLL for installation these are the only modifications you need to make to your build files.


Using your own custom install DLL

If you are hooking up your own DLL to Install_Exit() called by setup.exe, you need to make an explicit call to the Install_Exit() routine in evalsetup.dll. For example, your own Install_Exit() routine might be as follows.

codeINSTALL_EXIT Install_Exit(
HWND hwndParent,
LPCTSTR pszInstallDir, // final install directory
WORD cFailedDirs,
WORD cFailedFiles,
WORD cFailedRegKeys,
WORD cFailedRegVals,
WORD cFailedShortcuts
)
{

/*
your code here
*
/ if (everything_else_went_ok)
{
HINSTANCE hDll = LoadLibrary(L"evalsetup.dll");
if (hDll)
{
int (*fp)() = GetProcAddress(hDll,L"Install_Exit");
if (fp)
(*fp)(hwndParent,
pszInstallDir,
cFailedDirs,
cFailedRegKeys
cFailedRegVals
cFailedShortcuts);
FreeLibrary(hDll); }
}
return codeINSTALL_EXIT_DONE ;
}

Note that evalsetup.dll must be installed on the PDA, and so will need to be added to your app.inf file, as illustrated above.

 

 

Dyalog Image