From f55f64676e853856838ec078284f46390d395501 Mon Sep 17 00:00:00 2001 From: Gerry Stellenberg Date: Sat, 5 Dec 2009 15:57:06 -0600 Subject: [PATCH] Adding Windows installation files --- installers/Win/README.txt | 21 ++++ installers/Win/nsis_install_script.nsi | 145 +++++++++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 installers/Win/README.txt create mode 100644 installers/Win/nsis_install_script.nsi diff --git a/installers/Win/README.txt b/installers/Win/README.txt new file mode 100644 index 0000000..2e0efe0 --- /dev/null +++ b/installers/Win/README.txt @@ -0,0 +1,21 @@ +libpinproc installation notes: + +The install process should have created the following subdirectories: +.\FTDI_2.04.16 (includes the USB driver) +.\bin (includes pinprocfw.exe) +.\ext\python (includes a setup file for the pinproc python extension) + +*** USB Driver *** +The FTDI driver should have been installed automatically during the libpinproc installation. +If it did not, manually run .\FTDI_2.04.16\DPInst.exe. This is necessary to communicate with +the P-ROC over USB. + +*** pinprocfw.exe *** +This application can be used to update the P-ROC's firmware when updates are made +available on www.pinballcontrollers.com as follows: +.\bin\pinprocfw.exe + +*** pinproc python extension *** +If you're planning on writing or using Python scripts to communicate with your P-ROC, and +you already have Python 2.6 installed, execute this setup file to install the pinproc python +extension. Note - this extension has only been tested with Python 2.6. \ No newline at end of file diff --git a/installers/Win/nsis_install_script.nsi b/installers/Win/nsis_install_script.nsi new file mode 100644 index 0000000..5e8f203 --- /dev/null +++ b/installers/Win/nsis_install_script.nsi @@ -0,0 +1,145 @@ +; Script generated by the HM NIS Edit Script Wizard. + +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "libpinproc" +!define PRODUCT_VERSION "0.1" +!define PRODUCT_PUBLISHER "Gerry Stellenberg" +!define PRODUCT_WEB_SITE "http://www.pinballcontrollers.com" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\DPInst.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!insertmacro MUI_PAGE_WELCOME +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!define MUI_FINISHPAGE_RUN "$INSTDIR\FTDI_2.04.16\DPInst.exe" +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "libpinproc_install.exe" +InstallDir "$PROGRAMFILES\P-ROC\libpinproc" +InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR\FTDI_2.04.16\amd64" + SetOverwrite try + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftbusui.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftcserco.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftd2xx.lib" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftd2xx64.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftdibus.sys" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftlang.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftser2k.sys" + File "C:\P-ROC\Install\FTDI_2.04.16\amd64\ftserui2.dll" + SetOutPath "$INSTDIR\FTDI_2.04.16" + File "C:\P-ROC\Install\FTDI_2.04.16\CDM 2 04 16 Release Info.doc" + File "C:\P-ROC\Install\FTDI_2.04.16\DPInst.exe" + File "C:\P-ROC\Install\FTDI_2.04.16\DPInst.xml" + File "C:\P-ROC\Install\FTDI_2.04.16\ftd2xx.h" + File "C:\P-ROC\Install\FTDI_2.04.16\ftdibus.cat" + File "C:\P-ROC\Install\FTDI_2.04.16\ftdibus.inf" + File "C:\P-ROC\Install\FTDI_2.04.16\ftdiport.cat" + File "C:\P-ROC\Install\FTDI_2.04.16\ftdiport.inf" + SetOutPath "$INSTDIR\FTDI_2.04.16\i386" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftbusui.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftcserco.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftd2xx.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftd2xx.lib" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftdibus.sys" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftlang.dll" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftser2k.sys" + File "C:\P-ROC\Install\FTDI_2.04.16\i386\ftserui2.dll" + SetOutPath "$INSTDIR\bin" + SetOverwrite ifnewer + File "C:\P-ROC\libpinproc\bin\pinprocfw.exe" + File "C:\P-ROC\libpinproc\bin\ftd2xx.dll" + SetOutPath "$INSTDIR\ext\python" + SetOverwrite ifnewer + File "C:\P-ROC\libpinproc\ext\python\dist\pinproc-0.1.win32-py2.6.exe" + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File "C:\P-ROC\libpinproc\installers\Win\README.txt" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\FTDI_2.04.16\DPInst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\FTDI_2.04.16\DPInst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + Abort +FunctionEnd + +Section Uninstall + Delete "$INSTDIR\uninst.exe" + Delete "$INSTDIR\bin\ftd2xx.dll" + Delete "$INSTDIR\bin\pinprocfw.exe" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftserui2.dll" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftser2k.sys" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftlang.dll" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftdibus.sys" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftd2xx.lib" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftd2xx.dll" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftcserco.dll" + Delete "$INSTDIR\FTDI_2.04.16\i386\ftbusui.dll" + Delete "$INSTDIR\FTDI_2.04.16\ftdiport.inf" + Delete "$INSTDIR\FTDI_2.04.16\ftdiport.cat" + Delete "$INSTDIR\FTDI_2.04.16\ftdibus.inf" + Delete "$INSTDIR\FTDI_2.04.16\ftdibus.cat" + Delete "$INSTDIR\FTDI_2.04.16\ftd2xx.h" + Delete "$INSTDIR\FTDI_2.04.16\DPInst.xml" + Delete "$INSTDIR\FTDI_2.04.16\DPInst.exe" + Delete "$INSTDIR\FTDI_2.04.16\CDM 2 04 16 Release Info.doc" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftserui2.dll" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftser2k.sys" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftlang.dll" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftdibus.sys" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftd2xx64.dll" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftd2xx.lib" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftcserco.dll" + Delete "$INSTDIR\FTDI_2.04.16\amd64\ftbusui.dll" + + RMDir "$INSTDIR\FTDI_2.04.16\i386" + RMDir "$INSTDIR\FTDI_2.04.16\amd64" + RMDir "$INSTDIR\FTDI_2.04.16" + RMDir "$INSTDIR\bin" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd \ No newline at end of file