libdb/lang/sql/odbc/sqliteodbc.nsi
2011-09-13 13:44:24 -04:00

283 lines
7.5 KiB
Text

; NSIS Config (http://nsis.sf.net)
;
; Run it with
;
; .../makensis [-DWITH_SOURCES] [-DWITH_SQLITE_DLLS] this-file.nsi
;
; to create the installer sqliteodbc.exe
;
; If -DWITH_SOURCES is specified, source code is included.
; If -DWITH_SQLITE_DLLS is specified, separate SQLite DLLs
; are packaged which allows to exchange these independently
; of the ODBC drivers in the Win32 system folder.
; -------------------------------
; Start
BrandingText " "
Name "SQLite ODBC Driver"
!define PROD_NAME "SQLite ODBC Driver"
!define PROD_NAME0 "SQLite ODBC Driver"
CRCCheck On
!include "MUI.nsh"
!include "Sections.nsh"
;--------------------------------
; General
OutFile "sqliteodbc.exe"
;--------------------------------
; Folder selection page
InstallDir "$PROGRAMFILES\${PROD_NAME0}"
;--------------------------------
; Modern UI Configuration
!define MUI_ICON "sqliteodbc.ico"
!define MUI_UNICON "sqliteodbc.ico"
!define MUI_WELCOMEPAGE_TITLE "SQLite ODBC Installation"
!define MUI_WELCOMEPAGE_TEXT "This program will guide you through the \
installation of SQLite ODBC Driver.\r\n\r\n$_CLICK"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_TITLE "SQLite ODBC Installation"
!define MUI_FINISHPAGE_TEXT "The installation of SQLite ODBC Driver is complete.\
\r\n\r\n$_CLICK"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;--------------------------------
; Language
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
; Installer Sections
Section "-Main (required)" InstallationInfo
; Add files
SetOutPath "$INSTDIR"
File "sqliteodbc.dll"
File "sqliteodbcu.dll"
File "sqlite3odbc.dll"
; unsupported non-WCHAR driver for SQLite3
File "sqlite3odbcnw.dll"
File "sqlite.exe"
File "sqliteu.exe"
File "sqlite3.exe"
File "inst.exe"
File "instq.exe"
File "uninst.exe"
File "uninstq.exe"
File "adddsn.exe"
File "remdsn.exe"
File "addsysdsn.exe"
File "remsysdsn.exe"
File "SQLiteODBCInstaller.exe"
; SQLite 3.4.*
; File "sqlite3_mod_fts1.dll"
; File "sqlite3_mod_fts2.dll"
; SQLite 3.5.*
File "sqlite3_mod_fts3.dll"
File "sqlite3_mod_blobtoxy.dll"
File "sqlite3_mod_impexp.dll"
; SQLite 3.6.*
File "sqlite3_mod_rtree.dll"
File "sqlite3_mod_extfunc.dll"
File "license.terms"
File "license.txt"
File "README"
File "readme.txt"
!ifdef WITH_SQLITE_DLLS
File "sqlite.dll"
File "sqliteu.dll"
File "sqlite3.dll"
!endif
; Shortcuts
SetOutPath "$SMPROGRAMS\${PROD_NAME0}"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Re-install ODBC Drivers.lnk" \
"$INSTDIR\inst.exe"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Remove ODBC Drivers.lnk" \
"$INSTDIR\uninst.exe"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Uninstall.lnk" \
"$INSTDIR\uninstall.exe"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\View README.lnk" \
"$INSTDIR\readme.txt"
SetOutPath "$SMPROGRAMS\${PROD_NAME0}\Shells"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Shells\SQLite 3.lnk" \
"$INSTDIR\sqlite3.exe"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Shells\SQLite 2.lnk" \
"$INSTDIR\sqlite.exe"
CreateShortCut "$SMPROGRAMS\${PROD_NAME0}\Shells\SQLite 2 (UTF-8).lnk" \
"$INSTDIR\sqliteu.exe"
; Write uninstall information to the registry
WriteRegStr HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROD_NAME0}" \
"DisplayName" "${PROD_NAME} (remove only)"
WriteRegStr HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROD_NAME0}" \
"UninstallString" "$INSTDIR\Uninstall.exe"
SetOutPath "$INSTDIR"
WriteUninstaller "$INSTDIR\Uninstall.exe"
ExecWait '"$INSTDIR\instq.exe"'
SectionEnd
!ifdef WITH_SOURCES
Section /o "Source Code" SourceInstall
SetOutPath "$INSTDIR\source"
File "source\README"
File "source\VERSION"
File "source\ChangeLog"
File "source\license.terms"
File "source\header.html"
File "source\footer.html"
File "source\stylesheet.css"
File "source\doxygen.conf"
File "source\adddsn.c"
File "source\inst.c"
File "source\fixup.c"
File "source\mkopc.c"
File "source\mkopc3.c"
File "source\sqliteodbc.c"
File "source\sqliteodbc.h"
File "source\sqliteodbc.rc"
File "source\sqliteodbc.mak"
File "source\sqliteodbc.def"
File "source\sqliteodbcu.def"
File "source\sqliteodbc.spec"
File "source\sqliteodbc.spec.in"
File "source\sqlite3odbc.c"
File "source\sqlite3odbc.h"
File "source\sqlite3odbc.rc"
File "source\sqlite3odbc.mak"
File "source\sqlite3odbc.def"
File "source\sqlite.mak"
File "source\sqlite3.mak"
File "source\resource.h.in"
File "source\install-sh"
File "source\Makefile.in"
File "source\configure.in"
File "source\config.guess"
File "source\config.sub"
File "source\ltmain.sh"
File "source\libtool"
File "source\aclocal.m4"
File "source\configure"
File "source\sqliteodbcos2.rc"
File "source\sqliteodbcos2.def"
File "source\makefile.os2"
File "source\resourceos2.h"
File "source\README.OS2"
File "source\README.ic"
File "source\drvdsninst.sh"
File "source\drvdsnuninst.sh"
File "source\Makefile.mingw-cross"
File "source\mf-sqlite.mingw-cross"
File "source\mf-sqlite3.mingw-cross"
File "source\mf-sqlite3fts.mingw-cross"
File "source\mf-sqlite3rtree.mingw-cross"
File "source\mingw-cross-build.sh"
File "source\sqliteodbc.nsi"
File "source\SQLiteODBCInstaller.c"
File "source\blobtoxy.c"
File "source\blobtoxy.rc"
File "source\impexp.c"
File "source\sqlite.ico"
File "source\sqliteodbc.ico"
File "source\tcc-0.9.23.patch"
File "source\tcc-0.9.24.patch"
File "source\sqlite+tcc.c"
File "source\strict_typing.sql"
File "source\README.sqlite+tcc"
SetOutPath "$INSTDIR\source\missing"
File "source\missing/ini.h"
File "source\missing/log.h"
SetOutPath "$INSTDIR\source\tccex"
File "source\tccex\README.bench"
File "source\tccex\obench.c"
File "source\tccex\sbench.c"
File "source\tccex\sqlite.c"
File "source\tccex\sqlite3.c"
File "source\tccex\samplext.c"
SetOutPath "$INSTDIR\source\tccex\a10n"
File "source\tccex\a10n\README.txt"
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SourceInstall} \
"Source code"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!endif
Section /o "SQLite+TCC" TccInstall
SetOutPath "$INSTDIR\TCC"
File "README.sqlite+tcc"
File "sqlite+tcc.dll"
File "strict_typing.sql"
File "TCC\tcc.exe"
File "TCC\tiny_impdef.exe"
File /r "TCC\doc"
File /r "TCC\include"
File /r "TCC\lib"
SetOutPath "$INSTDIR\TCC\samples"
File "tccex/samplext.c"
File "tccex/sqlite.c"
File "tccex/sqlite3.c"
File "tccex/obench.c"
File "tccex/sbench.c"
File "tccex/README.bench"
SetOutPath "$INSTDIR\TCC\samples\a10n"
File "sqlite3/sqlite3.c"
; deprecated as of 3.5.1
; File "sqlite3/sqlite3internal.h"
File "tccex/a10n/README.txt"
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${TccInstall} \
"Experimental combination of SQLite and TinyCC"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Uninstaller Section
Section "Uninstall"
ExecWait '"$INSTDIR\uninstq.exe"'
; Delete Files
RMDir /r "$INSTDIR\*"
RMDir /r "$INSTDIR\*.*"
; Remove the installation directory
RMDir /r "$INSTDIR"
; Remove start menu/program files subdirectory
RMDir /r "$SMPROGRAMS\${PROD_NAME0}"
; Delete Uninstaller And Unistall Registry Entries
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PROD_NAME0}"
DeleteRegKey HKEY_LOCAL_MACHINE \
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PROD_NAME0}"
SectionEnd
;--------------------------------
; EOF