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

154 lines
4 KiB
Text

; NSIS Config (http://nsis.sf.net)
; for Win64 drivers
;
; Run it with
;
; .../makensis [-DWITH_SQLITE_DLLS] this-file.nsi
;
; to create the installer sqliteodbc_w64.exe
;
; If -DWITH_SQLITE_DLLS is specified, separate SQLite DLLs
; are packaged which allows to exchange these independently
; of the ODBC drivers in the Win64 system folder.
; -------------------------------
; Start
BrandingText " "
Name "SQLite3 ODBC Driver for Win64"
!define PROD_NAME "SQLite3 ODBC Driver for Win64"
!define PROD_NAME0 "SQLite3 ODBC Driver for Win64"
CRCCheck On
!include "MUI.nsh"
!include "Sections.nsh"
;--------------------------------
; General
OutFile "sqliteodbc_w64.exe"
;--------------------------------
; Folder selection page
InstallDir "$PROGRAMFILES64\${PROD_NAME0}"
;--------------------------------
; Modern UI Configuration
!define MUI_ICON "sqliteodbc.ico"
!define MUI_UNICON "sqliteodbc.ico"
!define MUI_WELCOMEPAGE_TITLE "SQLite3 ODBC for Win64 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_INSTFILES
!define MUI_FINISHPAGE_TITLE "SQLite3 ODBC for Win64 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 "sqlite3odbc.dll"
; unsupported non-WCHAR driver for SQLite3
File "sqlite3odbcnw.dll"
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 "sqlite3_mod_fts3.dll"
File "sqlite3_mod_blobtoxy.dll"
File "sqlite3_mod_impexp.dll"
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 "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
;--------------------------------
; 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