Using installation functions in setup.dll, After the cab file extraction – Intermec 700 User Manual
Page 260

Programming
Chapter
—
7
236
700 Series Color Mobile 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 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 files 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
the SETUP.DLL file. It looks like this:
#include
#include
#include
#include
// 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;