Technologies Laptop User Manual
ProgrammingChapter —7
236 700 Series Color Mob ile Computer User’s Manual
Using Installation Functions in SETUP.DLL
SETUP.DLL is an optional file that enables you to perform custom opera-
tions during installation and removal of your application. The following
list shows the functions that are exported by SETUP.DLL.
Install_Init Called before installation begins. Use th is function to check the application version when reinstal-
ling an application and to determine if a dependent application is present.
Install_Exit Called after ins tallation is c omplete. Use thi s function to h andle errors that occur during applica-
tion installation.
Uninstall_Init Called before the removal process begins. Use this function to close the application, if the applica-
tion is running.
Uninstall_Exit Called after the removal process is complete. Use this function to s ave database information to a
file and delete the database and to tell the user where the user data files are stored and how to rein -
stall the application.
Note;Use[DefaultInstall] > CESelfRegister (page 228) in the .INF file to
point to SETUP.DLL.
After the CAB File Extraction
Cab f iles that need to cause a warm reset after cab extraction will need to
create the __RESETMEPLEASE__.TXT file in the “\Windows” directory.
The preferred method to create this file is within the DllMain portion of
theSETUP.DLLfile.Itlookslikethis:
#include <windows.h>
#include <Tlhelp32.h>
#include <winioctl.h>
#include <ce_setup.h> // in the public SDK dir
#define IOCTL_TERMINAL_RESET CTL_CODE (FILE_DEVICE_UNKNOWN,FILE_ANY_ACCESS,
2050, METHOD_NEITHER)
BOOL APIENTRY DllMain( HANDLE h, DWORD reason, LPVOID lpReserved )
{
return TRUE;
} // DllMain
//************************************************************************
// $DOCBEGIN$
// BOOL IsProcessRunning( TCHAR * pname );
//
// Description: Get process table snapshot, look for pname running.
//
// Arguments: pname - pointer to name of program to look for.
// for example, app.exe.
//
// Returns: TRUE - process is running.
// FALSE - process is not running.
// $DOCEND$
//************************************************************************
BOOL IsProcessRunning( TCHAR * pname )
{
HANDLE hProcList;










