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

Page 260

Advertising
background image

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 <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;

Advertising