Intermec 700 Laptop User Manual


 
ProgrammingChapter 7
236 700 Series Color Mobile Computer User’sManual
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 this function to check the application version when reinstal-
ling an application and to determine if a dependent application is present.
Install_Exit Called after installation is complete. Use this function to handle 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 save 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;