From 62be0b6ac1e358bf75e2e9009cd4facc8d613514 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 12 May 2010 08:13:46 +0000 Subject: [PATCH] Installer improvements Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3607 --- scripts/captures.bat | 1 + scripts/dosbox-installer.nsi | 117 +++++++++++++++++++++-------------- scripts/editconf.bat | 1 + scripts/resetconf.bat | 1 + scripts/resetmapper.bat | 1 + 5 files changed, 76 insertions(+), 45 deletions(-) create mode 100644 scripts/captures.bat create mode 100644 scripts/editconf.bat create mode 100644 scripts/resetconf.bat create mode 100644 scripts/resetmapper.bat diff --git a/scripts/captures.bat b/scripts/captures.bat new file mode 100644 index 00000000..8eebbc8c --- /dev/null +++ b/scripts/captures.bat @@ -0,0 +1 @@ +DOSBox.exe -opencaptures explorer.exe \ No newline at end of file diff --git a/scripts/dosbox-installer.nsi b/scripts/dosbox-installer.nsi index 629bca5c..31aee2bf 100644 --- a/scripts/dosbox-installer.nsi +++ b/scripts/dosbox-installer.nsi @@ -1,8 +1,8 @@ !define VER_MAYOR 0 -!define VER_MINOR 73 +!define VER_MINOR 74 !define APP_NAME "DOSBox ${VER_MAYOR}.${VER_MINOR} Installer" !define COMP_NAME "DOSBox Team" -!define COPYRIGHT "Copyright © 2002-2009 DOSBox Team" +!define COPYRIGHT "Copyright © 2002-2010 DOSBox Team" !define DESCRIPTION "DOSBox Installer" VIProductVersion "${VER_MAYOR}.${VER_MINOR}.0.0" @@ -47,44 +47,57 @@ SetShellVarContext all ; Put file there - CreateDirectory "$INSTDIR\zmbv" + CreateDirectory "$INSTDIR\Video Codec" + CreateDirectory "$INSTDIR\Documentation" + SetOutPath "$INSTDIR\Documentation" File /oname=README.txt README File /oname=COPYING.txt COPYING File /oname=THANKS.txt THANKS File /oname=NEWS.txt NEWS File /oname=AUTHORS.txt AUTHORS File /oname=INSTALL.txt INSTALL - File DOSBox.exe + SetOutPath "$INSTDIR" + + File "/oname=DOSBox ${VER_MAYOR}.${VER_MINOR} Manual.txt" README + File "/oname=DOSBox.exe" DOSBox.exe File SDL.dll File SDL_net.dll - File /oname=zmbv\zmbv.dll zmbv.dll - File /oname=zmbv\zmbv.inf zmbv.inf - File /oname=zmbv\README.txt README.video + File "/oname=Video Codec\zmbv.dll" zmbv.dll + File "/oname=Video Codec\zmbv.inf" zmbv.inf + File "/oname=Video Codec\Video Instructions.txt" README.video + File "/oname=DOSBox ${VER_MAYOR}.${VER_MINOR} Options.bat" editconf.bat + File "/oname=Reset KeyMapper.bat" resetmapper.bat + File "/oname=Reset Options.bat" resetconf.bat + File "/oname=Screenshots & Recordings.bat" captures.bat CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}" - CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video" - CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration" - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0 - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk" "$INSTDIR\DOSBox.exe" "-noconsole" "$INSTDIR\DOSBox.exe" 0 - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk" "$INSTDIR\README.txt" - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk" "$INSTDIR\DOSBox.exe" "-editconf notepad.exe -editconf $\"%SystemRoot%\system32\notepad.exe$\" -editconf $\"%WINDIR%\notepad.exe$\"" - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk" "$INSTDIR\DOSBox.exe" "-eraseconf" - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk" "$INSTDIR\DOSBox.exe" "-opencaptures explorer.exe" - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk" "$INSTDIR\zmbv\README.txt" + CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras" + CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video" + CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" "$INSTDIR\DOSBox.exe" "-userconf" "$INSTDIR\DOSBox.exe" 0 + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox ${VER_MAYOR}.${VER_MINOR} Manual.lnk" "$INSTDIR\Documentation\README.txt" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\DOSBox ${VER_MAYOR}.${VER_MINOR} (noconsole).lnk" "$INSTDIR\DOSBox.exe" "-noconsole -userconf" "$INSTDIR\DOSBox.exe" 0 + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Screenshots & Recordings.lnk" "$INSTDIR\DOSBox.exe" "-opencaptures explorer.exe" + + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\DOSBox ${VER_MAYOR}.${VER_MINOR} Options.lnk" "$INSTDIR\DOSBox.exe" "-editconf notepad.exe -editconf $\"%SystemRoot%\system32\notepad.exe$\" -editconf $\"%WINDIR%\notepad.exe$\"" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\Reset Options.lnk" "$INSTDIR\DOSBox.exe" "-eraseconf" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\Reset KeyMapper.lnk" "$INSTDIR\DOSBox.exe" "-erasemapper" + + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video\Video instructions.lnk" "$INSTDIR\Video Codec\Video Instructions.txt" ;change outpath so the working directory gets set to zmbv -SetOutPath "$INSTDIR\zmbv" +SetOutPath "$INSTDIR\Video Codec" ; Shortcut creation depends on wether we are 9x of NT ClearErrors ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion IfErrors we_9x we_nt we_nt: ;shortcut for win NT - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll32" "setupapi,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video\Install movie codec.lnk" "rundll32" "setupapi,InstallHinfSection DefaultInstall 128 $INSTDIR\Video Codec\zmbv.inf" goto end we_9x: ;shortcut for we_9x - CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll" "setupx.dll,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf" + CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video\Install movie codec.lnk" "rundll" "setupx.dll,InstallHinfSection DefaultInstall 128 $INSTDIR\Video Codec\zmbv.inf" end: SetOutPath $INSTDIR WriteUninstaller "uninstall.exe" @@ -102,9 +115,9 @@ SectionEnd ; end the section Section "Desktop Shortcut" SecDesktop SetShellVarContext all -CreateShortCut "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0 +CreateShortCut "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" "$INSTDIR\DOSBox.exe" "-userconf" "$INSTDIR\DOSBox.exe" 0 - SectionEnd ; end the section +SectionEnd ; end the section UninstallText "This will uninstall DOSBox v${VER_MAYOR}.${VER_MINOR}. Hit next to continue." @@ -117,40 +130,54 @@ SetShellVarContext all Delete "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" ; remove registry keys ; remove files - Delete $INSTDIR\README.txt - Delete $INSTDIR\COPYING.txt - Delete $INSTDIR\THANKS.txt - Delete $INSTDIR\NEWS.txt - Delete $INSTDIR\AUTHORS.txt - Delete $INSTDIR\INSTALL.txt - Delete $INSTDIR\DOSBox.exe + Delete $INSTDIR\Documentation\README.txt + Delete $INSTDIR\Documentation\COPYING.txt + Delete $INSTDIR\Documentation\THANKS.txt + Delete $INSTDIR\Documentation\NEWS.txt + Delete $INSTDIR\Documentation\AUTHORS.txt + Delete $INSTDIR\Documentation\INSTALL.txt + Delete "$INSTDIR\DOSBox ${VER_MAYOR}.${VER_MINOR} Manual.txt" + Delete "$INSTDIR\DOSBox.exe" Delete $INSTDIR\SDL.dll Delete $INSTDIR\SDL_net.dll - Delete $INSTDIR\zmbv\zmbv.dll - Delete $INSTDIR\zmbv\zmbv.inf - Delete $INSTDIR\zmbv\README.txt + Delete "$INSTDIR\Video Codec\zmbv.dll" + Delete "$INSTDIR\Video Codec\zmbv.inf" + Delete "$INSTDIR\Video Codec\Video Instructions.txt" ;Files left by sdl taking over the console Delete $INSTDIR\stdout.txt Delete $INSTDIR\stderr.txt + Delete "$INSTDIR\DOSBox ${VER_MAYOR}.${VER_MINOR} Options.bat" + Delete "$INSTDIR\Reset KeyMapper.bat" + Delete "$INSTDIR\Reset Options.bat" + Delete "$INSTDIR\Screenshots & Recordings.bat" ; MUST REMOVE UNINSTALLER, too Delete $INSTDIR\uninstall.exe - ; remove shortcuts, if any. - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" - Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk" + + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox ${VER_MAYOR}.${VER_MINOR} Manual.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\DOSBox ${VER_MAYOR}.${VER_MINOR} (noconsole).lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Uninstall.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Screenshots & Recordings.lnk" + + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\DOSBox ${VER_MAYOR}.${VER_MINOR} Options.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\Reset Options.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options\Reset KeyMapper.lnk" + + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video\Video instructions.lnk" + Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video\Install movie codec.lnk" + + + +; remove shortcuts, if any. ; remove directories used. - RMDir "$INSTDIR\zmbv" + RMDir "$INSTDIR\Documentation" + RMDir "$INSTDIR\Video Codec" RMDir "$INSTDIR" - RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration" - RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video" + RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Options" + RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras\Video" + RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Extras" RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}" SectionEnd diff --git a/scripts/editconf.bat b/scripts/editconf.bat new file mode 100644 index 00000000..a48d102f --- /dev/null +++ b/scripts/editconf.bat @@ -0,0 +1 @@ +DOSBox.exe -editconf notepad.exe -editconf %SystemRoot%\system32\notepad.exe -editconf %WINDIR%\notepad.exe \ No newline at end of file diff --git a/scripts/resetconf.bat b/scripts/resetconf.bat new file mode 100644 index 00000000..0ad3b95b --- /dev/null +++ b/scripts/resetconf.bat @@ -0,0 +1 @@ +DOSBox.exe -resetconf \ No newline at end of file diff --git a/scripts/resetmapper.bat b/scripts/resetmapper.bat new file mode 100644 index 00000000..86299bbc --- /dev/null +++ b/scripts/resetmapper.bat @@ -0,0 +1 @@ +DOSBox.exe -resetmapper \ No newline at end of file