; Puzzlebox Brainstorms Windows Installer ; NOTE: this .NSI script is designed for NSIS v1.8+ Name "Puzzlebox Brainstorms" OutFile "PuzzleboxBrainstorms-0.2.0-setup.exe" ; Some default compiler settings (uncomment and change at will): ; SetCompress auto ; (can be off or force) ; SetDatablockOptimize on ; (can be off) ; CRCCheck on ; (can be off) ; AutoCloseWindow false ; (can be true for the window go away automatically at end) ; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable) ; SetDateSave off ; (can be on to have files restored to their orginal date) LicenseText "You must agree to this license before installing." LicenseData "docs\license.txt" InstallDir "$PROGRAMFILES\Puzzlebox Brainstorms" InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Puzzlebox Brainstorms\Puzzlebox Brainstorms" "" ;DirShow show ; (make this hide to not let the user change it) DirText "Select the directory to install Puzzlebox Brainstorms into:" InstallColors /windows Section "" ; (default section) SetOutPath "$INSTDIR" ; add files / whatever that need to be installed here. WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Puzzlebox Brainstorms\Puzzlebox Brainstorms" "" "$INSTDIR" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Puzzlebox Brainstorms\Puzzlebox Brainstorms" "DisplayName" "Puzzlebox Brainstorms (remove only)" WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Puzzlebox Brainstorms\Puzzlebox Brainstorms" "UninstallString" '"$INSTDIR\PuzzlesboxBrainstorms-Uninstall.exe"' File dist\bz2.pyd File dist\_ctypes.pyd File dist\jpeg.dll File dist\libfreetype-6.dll File dist\libgcc_s_dw2-1.dll File dist\libogg-0.dll File dist\libpng12-0.dll File dist\library.zip File dist\libtiff.dll File dist\libvorbis-0.dll File dist\libvorbisfile-3.dll File dist\mingwm10.dll ; File dist\MSVCR71.dll File dist\puzzlebox_brainstorms_client_interface_local.exe File dist\puzzlebox_brainstorms_client_interface_network.exe File dist\puzzlebox_brainstorms_configuration.ini File dist\puzzlebox_brainstorms_network_client.exe File dist\puzzlebox_brainstorms_network_client_thinkgear.exe File dist\puzzlebox_brainstorms_network_server.exe File dist\puzzlebox_brainstorms_remote_control.exe File dist\pygame._arraysurfarray.pyd File dist\pygame.base.pyd File dist\pygame.bufferproxy.pyd File dist\pygame.cdrom.pyd File dist\pygame.color.pyd File dist\pygame.constants.pyd File dist\pygame.display.pyd File dist\pygame.draw.pyd File dist\pygame.event.pyd File dist\pygame.fastevent.pyd File dist\pygame.font.pyd File dist\pygame.imageext.pyd File dist\pygame.image.pyd File dist\pygame.joystick.pyd File dist\pygame.key.pyd File dist\pygame.mask.pyd File dist\pygame.mixer_music.pyd File dist\pygame.mixer.pyd File dist\pygame.mouse.pyd File dist\pygame.movie.pyd File dist\pygame._numericsndarray.pyd File dist\pygame._numericsurfarray.pyd File dist\pygame.overlay.pyd File dist\pygame.pixelarray.pyd File dist\pygame.rect.pyd File dist\pygame.rwobject.pyd File dist\pygame.scrap.pyd File dist\pygame.surface.pyd File dist\pygame.surflock.pyd File dist\pygame.time.pyd File dist\pygame.transform.pyd File dist\PyQt4.QtCore.pyd File dist\PyQt4.QtGui.pyd File dist\PyQt4.QtNetwork.pyd File dist\python25.dll File dist\QtCore4.dll File dist\QtGui4.dll File dist\QtNetwork4.dll File dist\SDL.dll File dist\SDL_image.dll File dist\SDL_mixer.dll File dist\SDL_ttf.dll File dist\select.pyd File dist\simplejson._speedups.pyd File dist\sip.pyd File dist\smpeg.dll File dist\_socket.pyd File dist\_ssl.pyd File dist\unicodedata.pyd File dist\w9xpopen.exe File dist\zlib1.dll SetOutPath $INSTDIR\docs File docs\license.txt File docs\readme.txt SetOutPath $INSTDIR\emokey File emokey\puzzlebox_brainstorms.ekm SetOutPath $INSTDIR\emoscript File emoscript\puzzlebox_brainstorms-test_drive-push_pull.emo File emoscript\puzzlebox_brainstorms-training-pull.emo File emoscript\puzzlebox_brainstorms-training-push.emo SetOutPath $INSTDIR\images File dist\images\1-upper_left-orange.png File dist\images\1-upper_left-white.png File dist\images\2-up-orange.png File dist\images\2-up-white.png File dist\images\3-upper_right-orange.png File dist\images\3-upper_right-white.png File dist\images\7-lower_left-orange.png File dist\images\7-lower_left-white.png File dist\images\8-down-orange.png File dist\images\8-down-white.png File dist\images\9-lower_right-orange.png File dist\images\9-lower_right-white.png File dist\images\puzzlebox.ico File dist\images\puzzlebox_logo.png ;SetOutPath $INSTDIR\fonts ; File dist\fonts\tahomabd.ttf ; File dist\fonts\tahoma.ttf SetOutPath $INSTDIR\package File package\vcredist_x86.exe ExecWait 'package\Vcredist_x86.exe /q:a /c:"msiexec /i vcredist.msi /qn /l*v %temp%\vcredist_x86.log"' ; write out uninstaller WriteUninstaller "$INSTDIR\PuzzleboxBrainstorms-Uninstall.exe" SectionEnd ; end of default section Section "Start Menu + Desktop Icons" ; SetOutPath "$SMPROGRAMS\Puzzlebox Brainstorms" SetOutPath $INSTDIR CreateDirectory "$SMPROGRAMS\Puzzlebox Brainstorms" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms.lnk" \ "$INSTDIR\puzzlebox_brainstorms_client_interface_local.exe" \ "" "$INSTDIR\images\puzzlebox.ico" "0" "" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms Network Client.lnk" \ "$INSTDIR\puzzlebox_brainstorms_client_interface_network.exe" \ "" "$INSTDIR\images\puzzlebox.ico" "0" "" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms Network Server.lnk" \ "$INSTDIR\puzzlebox_brainstorms_network_server.exe" \ "" "$INSTDIR\images\puzzlebox.ico" "0" "SW_SHOWMINIMIZED" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox ThinkGear Connect Client.lnk" \ "$INSTDIR\puzzlebox_brainstorms_network_client_thinkgear.exe" \ "" "$INSTDIR\images\puzzlebox.ico" "0" "" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Edit Puzzlebox Brainstorms Configuration.lnk" \ "$INSTDIR\puzzlebox_brainstorms_configuration.ini" \ "" "" "0" "" CreateShortCut "$SMPROGRAMS\Puzzlebox Brainstorms\Uninstall Puzzlebox Brainstorms.lnk" \ "$INSTDIR\PuzzleboxBrainstorms-Uninstall.exe" CreateShortCut "$DESKTOP\Puzzlebox Brainstorms.lnk" \ "$INSTDIR\puzzlebox_brainstorms_client_interface_local.exe" \ "" "$INSTDIR\images\puzzlebox.ico" "0" "" SectionEnd ; begin uninstall settings/section UninstallText "This will uninstall Puzzlebox Brainstorms from your system" Section Uninstall ; add delete commands to delete whatever files/registry keys/etc you installed here. Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms.lnk" Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms Network Client.lnk" Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox Brainstorms Network Server.lnk" Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Puzzlebox ThinkGear Connect Client.lnk" Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Edit Puzzlebox Brainstorms Configuration.lnk" Delete "$SMPROGRAMS\Puzzlebox Brainstorms\Uninstall Puzzlebox Brainstorms.lnk" RMDir "$SMPROGRAMS\Puzzlebox Brainstorms" Delete "$DESKTOP\Puzzlebox Brainstorms.lnk" Delete $INSTDIR\bz2.pyd Delete $INSTDIR\_ctypes.pyd Delete $INSTDIR\jpeg.dll Delete $INSTDIR\libfreetype-6.dll Delete $INSTDIR\libgcc_s_dw2-1.dll Delete $INSTDIR\libogg-0.dll Delete $INSTDIR\libpng12-0.dll Delete $INSTDIR\library.zip Delete $INSTDIR\libtiff.dll Delete $INSTDIR\libvorbis-0.dll Delete $INSTDIR\libvorbisfile-3.dll Delete $INSTDIR\mingwm10.dll Delete $INSTDIR\MSVCR71.dll Delete $INSTDIR\puzzlebox_brainstorms_client_interface_local.exe Delete $INSTDIR\puzzlebox_brainstorms_client_interface_network.exe Delete $INSTDIR\puzzlebox_brainstorms_configuration.ini Delete $INSTDIR\puzzlebox_brainstorms_network_client.exe Delete $INSTDIR\puzzlebox_brainstorms_network_client_thinkgear.exe Delete $INSTDIR\puzzlebox_brainstorms_network_server.exe Delete $INSTDIR\puzzlebox_brainstorms_remote_control.exe Delete $INSTDIR\pygame._arraysurfarray.pyd Delete $INSTDIR\pygame.base.pyd Delete $INSTDIR\pygame.bufferproxy.pyd Delete $INSTDIR\pygame.cdrom.pyd Delete $INSTDIR\pygame.color.pyd Delete $INSTDIR\pygame.constants.pyd Delete $INSTDIR\pygame.display.pyd Delete $INSTDIR\pygame.draw.pyd Delete $INSTDIR\pygame.event.pyd Delete $INSTDIR\pygame.fastevent.pyd Delete $INSTDIR\pygame.font.pyd Delete $INSTDIR\pygame.imageext.pyd Delete $INSTDIR\pygame.image.pyd Delete $INSTDIR\pygame.joystick.pyd Delete $INSTDIR\pygame.key.pyd Delete $INSTDIR\pygame.mask.pyd Delete $INSTDIR\pygame.mixer_music.pyd Delete $INSTDIR\pygame.mixer.pyd Delete $INSTDIR\pygame.mouse.pyd Delete $INSTDIR\pygame.movie.pyd Delete $INSTDIR\pygame._numericsndarray.pyd Delete $INSTDIR\pygame._numericsurfarray.pyd Delete $INSTDIR\pygame.overlay.pyd Delete $INSTDIR\pygame.pixelarray.pyd Delete $INSTDIR\pygame.rect.pyd Delete $INSTDIR\pygame.rwobject.pyd Delete $INSTDIR\pygame.scrap.pyd Delete $INSTDIR\pygame.surface.pyd Delete $INSTDIR\pygame.surflock.pyd Delete $INSTDIR\pygame.time.pyd Delete $INSTDIR\pygame.transform.pyd Delete $INSTDIR\PyQt4.QtCore.pyd Delete $INSTDIR\PyQt4.QtGui.pyd Delete $INSTDIR\PyQt4.QtNetwork.pyd Delete $INSTDIR\python25.dll Delete $INSTDIR\QtCore4.dll Delete $INSTDIR\QtGui4.dll Delete $INSTDIR\QtNetwork4.dll Delete $INSTDIR\SDL.dll Delete $INSTDIR\SDL_image.dll Delete $INSTDIR\SDL_mixer.dll Delete $INSTDIR\SDL_ttf.dll Delete $INSTDIR\select.pyd Delete $INSTDIR\simplejson._speedups.pyd Delete $INSTDIR\sip.pyd Delete $INSTDIR\smpeg.dll Delete $INSTDIR\_socket.pyd Delete $INSTDIR\_ssl.pyd Delete $INSTDIR\unicodedata.pyd Delete $INSTDIR\w9xpopen.exe Delete $INSTDIR\zlib1.dll Delete $INSTDIR\docs\license.txt Delete $INSTDIR\docs\readme.txt RMDir $INSTDIR\docs Delete $INSTDIR\emokey\puzzlebox_brainstorms.ekm Delete $INSTDIR\emoscript\puzzlebox_brainstorms-test_drive-push_pull.emo Delete $INSTDIR\emoscript\puzzlebox_brainstorms-training-pull.emo Delete $INSTDIR\emoscript\puzzlebox_brainstorms-training-push.emo RMDir $INSTDIR\emokey RMDir $INSTDIR\emoscript Delete $INSTDIR\images\1-upper_left-orange.png Delete $INSTDIR\images\1-upper_left-white.png Delete $INSTDIR\images\2-up-orange.png Delete $INSTDIR\images\2-up-white.png Delete $INSTDIR\images\3-upper_right-orange.png Delete $INSTDIR\images\3-upper_right-white.png Delete $INSTDIR\images\7-lower_left-orange.png Delete $INSTDIR\images\7-lower_left-white.png Delete $INSTDIR\images\8-down-orange.png Delete $INSTDIR\images\8-down-white.png Delete $INSTDIR\images\9-lower_right-orange.png Delete $INSTDIR\images\9-lower_right-white.png Delete $INSTDIR\images\puzzlebox.ico Delete $INSTDIR\images\puzzlebox_logo.png RMDir $INSTDIR\images ; Delete $INSTDIR\fonts\tahomabd.ttf ; Delete $INSTDIR\fonts\tahoma.ttf ; RMDir $INSTDIR\fonts Delete $INSTDIR\package\vcredist_x86.exe RMDir $INSTDIR\package RMDIR $INSTDIR Delete "$INSTDIR\PuzzleboxBrainstorms-Uninstall.exe" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Puzzlebox Brainstorms\Puzzlebox Brainstorms" DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Puzzlebox Brainstorms" RMDir "$INSTDIR" ; if $INSTDIR was removed, skip these next ones IfFileExists $INSTDIR 0 Removed MessageBox MB_YESNO|MB_ICONQUESTION \ "Remove all files in your Puzzlebox Brainstorms directory? (If you have anything \ you created that you want to keep, click No)" IDNO Removed Delete $INSTDIR\*.* ; this would be skipped if the user hits no RMDir /r $INSTDIR IfFileExists $INSTDIR 0 Removed MessageBox MB_OK|MB_ICONEXCLAMATION \ "Note: $INSTDIR could not be removed." Removed: SectionEnd ; end of uninstall section ; eof