inst.c File Reference


Detailed Description

SQLite ODBC Driver installer/uninstaller for WIN32.

Id
inst.c,v 1.26 2016/08/14 10:02:55 chw Exp chw

Copyright (c) 2001-2016 Christian Werner <chw@ch-werner.de>

See the file "license.terms" for information on usage and redistribution of this file and for a DISCLAIMER OF ALL WARRANTIES.

Definition in file inst.c.

#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <odbcinst.h>
#include <winver.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>

Go to the source code of this file.

Defines

#define SEEEXT   ""
#define SEESTR   ""
#define SEESTR2   ""
#define NUMDRVS   4

Functions

static BOOL ProcessErrorMessages (char *name, int quiet)
 Handler for ODBC installation error messages.
static BOOL CopyOrDelModules (char *dllname, char *path, BOOL del)
 Copy or delete SQLite3 module DLLs.
static BOOL InUn (int remove, char *drivername, char *dllname, char *dll2name, char *dsname)
 Driver installer/uninstaller.
int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
 Main function of installer/uninstaller.

Variables

static char * DriverName [NUMDRVS]
static char * DSName [NUMDRVS]
static char * DriverDLL [NUMDRVS]
static int quiet = 0
static int nosys = 0


Define Documentation

#define NUMDRVS   4

Definition at line 32 of file inst.c.

Referenced by WinMain().

#define SEEEXT   ""

Definition at line 27 of file inst.c.

#define SEESTR   ""

Definition at line 28 of file inst.c.

#define SEESTR2   ""

Definition at line 29 of file inst.c.


Function Documentation

static BOOL CopyOrDelModules ( char *  dllname,
char *  path,
BOOL  del 
) [static]

Copy or delete SQLite3 module DLLs.

Parameters:
dllname file name of driver DLL
path install directory for modules
del flag, when true, delete DLLs in install directory

Definition at line 102 of file inst.c.

Referenced by InUn().

static BOOL InUn ( int  remove,
char *  drivername,
char *  dllname,
char *  dll2name,
char *  dsname 
) [static]

Driver installer/uninstaller.

Parameters:
remove true for uninstall
drivername print name of driver
dllname file name of driver DLL
dll2name file name of additional DLL
dsname name for data source

Definition at line 153 of file inst.c.

References CopyOrDelModules(), nosys, ProcessErrorMessages(), and quiet.

Referenced by WinMain().

static BOOL ProcessErrorMessages ( char *  name,
int  quiet 
) [static]

Handler for ODBC installation error messages.

Parameters:
name name of API function for which to show error messages
quiet when true suppress message box

Definition at line 70 of file inst.c.

Referenced by InUn(), and WinMain().

int APIENTRY WinMain ( HINSTANCE  hInstance,
HINSTANCE  hPrevInstance,
LPSTR  lpszCmdLine,
int  nCmdShow 
)

Main function of installer/uninstaller.

This is the Win32 GUI main entry point. It (un)registers the ODBC driver(s) and deletes or copies the driver DLL(s) to the system folder.

Definition at line 299 of file inst.c.

References DriverDLL, DriverName, DSName, InUn(), nosys, NUMDRVS, and quiet.


Variable Documentation

char* DriverDLL[NUMDRVS] [static]

Initial value:

 {
    "sqliteodbc.dll",
    "sqliteodbcu.dll",
    "sqlite3odbc" SEEEXT ".dll",
    "sqlite4odbc.dll"
}

Definition at line 45 of file inst.c.

Referenced by WinMain().

char* DriverName[NUMDRVS] [static]

Initial value:

 {
    "SQLite ODBC Driver",
    "SQLite ODBC (UTF-8) Driver",
    "SQLite3 ODBC Driver" SEESTR,
    "SQLite4 ODBC Driver"
}

Definition at line 33 of file inst.c.

Referenced by WinMain().

char* DSName[NUMDRVS] [static]

Initial value:

 {
    "SQLite Datasource",
    "SQLite UTF-8 Datasource",
    "SQLite3 " SEESTR2 "Datasource",
    "SQLite4 Datasource"
}

Definition at line 39 of file inst.c.

Referenced by WinMain().

int nosys = 0 [static]

Definition at line 61 of file inst.c.

Referenced by InUn(), and WinMain().

int quiet = 0 [static]

Definition at line 60 of file inst.c.

Referenced by InUn(), and WinMain().


Generated on 9 Dec 2016 by doxygen.
Contact: chw@ch-werner.de