home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 28
/
amigaformatcd28.iso
/
-screenplay-
/
shareware
/
boulderdaesh
/
install
/
boulderdäsh.install
next >
Wrap
Text File
|
1998-04-23
|
23KB
|
603 lines
; $VER: BoulderDäsh.install 4.20 (08.04.98)
; Install script for BoulderDäsh (Workbench 2.0 or higher)
;
(COMPLETE 0)
;(USER 2)
;(DEBUG)
(SET #ApplicationName "BoulderDäsh")
(SET #ApplicationDir "sys:")
(SET #ApplicationDir1 "work:")
(SET #ApplicationDir2 "games:")
(SET #ApplicationDir3 "game:")
(SET #ApplicationDir4 "work:games")
(SET #ArchiveDir "/")
(SET #Language -1)
(SET #Documents -1)
(SET #ApplicationKeyfile (CAT #ApplicationName ".key"))
;=============================================================================
; German strings
(IF (= @language "deutsch")
(
(SET default_lang 2)
(SET #bad-kick "Sie benötigen Workbench 2.0 oder größer")
(SET #bad-installer
(CAT "Achtung! Es ist eine alte Version des Programmes 'Installer' "
"auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
"Bitte überprüfen Sie Ihre Konfiguration!\n"
))
(SET #App-InstallMsg
(CAT "\n%s Installationsskript.\n\n"
"Dieses Skript installiert oder deinstalliert\n"
"%s auf Ihrem Amiga.\n\n"
"Lesen Sie die Anleitungsdatei für weitere Informationen\n"
" über den Vertrieb von %s.\n\n"
"%s © 1995-98 Guido Mersmann\n"
"Alle Rechte reserviert."
))
(SET #App-MainMode "Wählen Sie den gewüschten Vorgang!")
(SET #App-Where
(CAT "Wo möchten Sie %s installieren ?\n"
"(Ein Verzeichnis wird angelegt)"
))
(SET #App-Update
(CAT "\nEin %s-Verzeichnis existiert im ausgewählen"
" Verzeichnis.\n\n Wenn Sie fortfahren,"
" bestätigen Sie, daß Sie die alte %s-Installation"
" mit der neuesten Version überschreiben wollen.\n\n"
"Verschiedene %s-Dateien (z.B überflüssige Dateien) werden falls nötig überschrieben!"
))
(SET #App-Main "Welche Version von %s möchten Sie installieren?")
(SET #App-Main-help
(CAT "Die OS2.0+ Version läuft unter allen Systemen ab OS2.0."
" Die OS2.1+ Version hat den Nutzen, daß sie weniger Resourcen"
" benutzt, wenn sich %s im Hintergrund befindet. Dazu MUß"
" die Locale.library eingebunden sein. Für die OS3.0+ gilt das selbe"
" wie für die OS2.1 Verison. Es werden OS3.0+ Routinen benutzt, die"
" weiteren Speicher sparen."
))
(SET #App-Language "Welche Sprachen sollen installiert werden ?")
(SET #App-Language-help
(CAT "\nDer Amiga kann in vielen verschiedenen Sprachen"
" arbeiten. Um Plattenkapazität zu sparen können Sie"
" nur die Sprachen anwählen, die sie benötigen"
" Haken Sie also einfach die Sprachen ab, die Sie"
" Ihrem System zugänglich machen wollen."
@askoptions-help
))
(SET #App-Docs "Welche Anleitungs- und Informationsdateien wollen Sie installieren ?")
(SET #startup-prompt "\n\nJetzt werden für %s folgende Eintragungen in die S:User-Startup gemacht:\n\n%s")
(SET #App-Exit "\n\n%s installiert!!\n\nSie finden %s im Verzeichnis \"%s\"")
;------- DEINSTALL STRINGS
(SET #App-DeinstallWhere "Wo liegt %s auf Ihrer Platte ?\n")
(SET #App-Install "%s Installieren")
(SET #App-DeInstall "%s Deinstallieren")
(SET #bad-DeInstall "Es gibt keine %s Installation an der angegeben Position")
(SET #StartupRemove-prompt "\n\nDie zu %s gehörenden Einträge in der User-startup werden gelöscht!")))
(SET #Deinstall-Done "\n%s ist jetzt deinstalliert!")
;=============================================================================
; English strings
(IF (<> @language "deutsch")
(
(SET default_lang 4)
(SET #bad-kick "You must have at least Workbench 2.0+")
(SET #bad-installer
(CAT "You have an old version of the program 'Installer' "
"on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
"Please check your configuration!\n"
))
(SET #App-InstallMsg
(CAT "\n\n%s Installation Script.\n\n"
"This script installs %s on your Amiga.\n\n"
"Read the guide file for more information\n"
" on the distribution of %s.\n\n"
"%s © 1995-98 Guido Mersmann\n"
"All rights reserved."
))
(SET #App-MainMode "Please choose mode:")
(SET #App-Where
(CAT "Where would you like to install %s ?\n"
"(A drawer will be created)"
))
(SET #App-Update
(CAT "\n\nA %s drawer does already exist in the selected "
" directory.\n\n By selecting \"Proceed\", you"
" indicate that you want to update the %s"
" installation with the most recent version.\n\n"
"Several %s specific files will be overwritten!"
))
(SET #App-Main "Which %s version should be installed ?")
(SET #App-Main-help
(CAT "The OS2.0+ version should only be used on Systems with OS2."
" The OS2.1+ and the OS3.0+ version need less Memory. Locale is required!"
" Special OS3.0+ functions are used to save more memory."
))
(SET #App-Language "Which languages should be installed ?")
(SET #App-Language-help
(CAT "\nThe Amiga can be operated in many different"
" languages."
"To reduce the amount of space consumed by the"
" language files, you can select to have only the"
" files of specific languages copied.\n\n"
"Simply check the boxes of the languages you wish"
" to have available on your system.\n\n"
@askoptions-help
))
(SET #App-Docs "Which Amiga-guide files should be installed ?")
(SET #startup-prompt "\n\nSome lines need to be added to S:User-Startup for %s\n\n%s")
(SET #App-Exit "\n\n%s installed !!\n\n%s can be found in your \"%s\" drawer (or partiton).")
;--------- DEINSTALLATION STRINGS
(SET #App-DeInstallWhere "Where is the location of %s ?\n")
(SET #App-Install "Install")
(SET #App-DeInstall "Deinstall")
(SET #bad-DeInstall "There is no %s installation at the specified position!")
(SET #StartupRemove-prompt "\nRemove %s lines within your user-startup?")
(SET #Deinstall-Done "\n%s is now deinstalled.")
;---------
))
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_Requirements
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_Requirements
; Workbench 37 or better required
(IF (< (/ (getversion) 65536) 37)
(
(abort #bad-kick)
)
)
; Installer 42.9 or better required
(if (< @installer-version 2752521)
(
(abort #bad-installer)
)
) ;if
) ;PROCDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_DeInstall
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_DeInstall #InstallerMode
(SET #Dummy (ASKCHOICE
(PROMPT #App-MainMode)
(HELP @askchoice-help)
(CHOICES
(#App-Install #ApplicationName)
(#App-Deinstall #ApplicationName)
)
;(DEFAULT #Documents)
)
)
) ;PROCDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; GetApplicationDir
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_GetApplicationDir #Dummy
(SET #Dummy #ApplicationDir)
(if (= (exists (TACKON #ApplicationDir1 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir1))
(if (= (exists (TACKON #ApplicationDir2 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir2))
(if (= (exists (TACKON #ApplicationDir3 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir3))
(if (= (exists (TACKON #ApplicationDir4 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir4))
(SET #ApplicationDir
(TACKON
(ASKDIR
(PROMPT (#App-Where #ApplicationName))
(HELP @askdir-help)
(Default #Dummy)
)
#ApplicationName
)
)
(SET @default-dest #ApplicationDir)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; GetDeinstallDir
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_GetDeInstallDir
(SET #Dummy #ApplicationDir)
(if (= (exists (TACKON #ApplicationDir1 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir1))
(if (= (exists (TACKON #ApplicationDir2 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir2))
(if (= (exists (TACKON #ApplicationDir3 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir3))
(if (= (exists (TACKON #ApplicationDir4 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir4))
(SET #ApplicationDir
(ASKDIR
(PROMPT (#App-DeInstallWhere #ApplicationName))
(HELP @askdir-help)
(default #Dummy)
)
)
(SET #Dummy (EXISTS (TACKON #Applicationdir #ApplicationName)))
(Select #Dummy
(abort (#bad-DeInstall #ApplicationName))
(SET #Applicationdir #Applicationdir)
(SET #Applicationdir (TACKON #Applicationdir #ApplicationName))
) ;Select
(SET @default-dest #ApplicationDir)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Ask for Catalogs
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_AskCatalogs #Language
(SET #Dummy (ASKOPTIONS
(PROMPT #App-Language)
(HELP #App-Language-help)
(CHOICES
"English"
"Deutsch"
"Français")
(DEFAULT #Language)
)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Copy Selected Catalogs
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyCatalogs #Language
(SET n 0)
(SET #DestinationRoot (TACKON #ApplicationDir "Catalogs"))
(SET #SourceRoot (TACKON #ArchiveDir "Catalogs"))
(MAKEDIR #DestinationRoot)
(while (< n 3)
(SET #Dummy (SELECT n "english" "deutsch" "français"))
(
(IF (IN #Language n)
(
(MAKEDIR (TACKON #DestinationRoot #Dummy))
(COPYFILES
(SOURCE (TACKON #SourceRoot #Dummy))
(DEST (TACKON #DestinationRoot #Dummy))
(HELP @copyfiles-help)
(ALL)
)
)
)
)
(SET n (+ n 1))
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Ask for docs
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_AskDocs #Documents
(SET #Dummy (ASKOPTIONS
(PROMPT #App-Docs)
(HELP @askoptions-help)
(CHOICES
"english"
"deutsch"
)
(DEFAULT #Documents)
)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Copy docs
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyDocs #Documents
(SET n 0)
(SET #DestinationRoot (TACKON #ApplicationDir "Docs"))
(SET #SourceRoot (TACKON #ArchiveDir "Docs"))
(MAKEDIR #DestinationRoot)
(while (< n 2)
(SET #Dummy (SELECT n
"english"
"deutsch"
)
)
(
(IF (IN #Documents n)
(
(MAKEDIR (TACKON #DestinationRoot #Dummy))
(COPYFILES
(SOURCE (TACKON #SourceRoot #Dummy))
(DEST (TACKON #DestinationRoot #Dummy))
(HELP @copyfiles-help)
(INFOS)
(ALL)
)
)
)
)
(SET n (+ n 1))
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Copy_Dir (Dir)
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyDir #Dummy
(SET #DestinationRoot (TACKON #ApplicationDir #Dummy))
(SET #SourceRoot (TACKON #ArchiveDir #Dummy))
(MAKEDIR #DestinationRoot)
(COPYFILES
(SOURCE #SourceRoot)
(DEST #DestinationRoot)
(HELP @copyfiles-help)
(OPTIONAL <force>)
(ALL)
(INFOS)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; Copy_File (Name)
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyFile #Dummy
(if (<> (exists (TACKON #ArchiveDir #Dummy) (noreq)) 0)
(
(COPYFILES
(SOURCE (TACKON #ArchiveDir #Dummy))
(DEST #ApplicationDir)
(HELP @copyfiles-help)
(OPTIONAL <force>)
(ALL)
(INFOS)
)
)
) ;If
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_Update
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_Update
(if (= (exists #ApplicationDir) 2)
(message (#App-Update #ApplicationName #ApplicationName #ApplicationName))
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_AskBinary
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_AskBinary
(set #Dummy (/ (getversion) 65536))
(if (= #Dummy 37) (set #Binary 0))
(if (= #Dummy 38) (set #Binary 1))
(if (>= #Dummy 39) (set #Binary 2))
(set #Binary (askchoice
(prompt (#App-Main #ApplicationName))
(help (#App-Main-help #ApplicationName))
(choices
"OS2.0+"
"OS2.1+"
"OS3.0+"
)
(default #Binary)
)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_CopyBinary
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyBinary #Dummy
(set #BinaryName (SELECT #Binary #Dummy (CAT "Bin/" #Dummy "_OS21") (CAT "Bin/" #Dummy "_OS30")))
(copyfiles
(source (tackon #ArchiveDir #BinaryName) (infos))
(dest #ApplicationDir)
(newname #Dummy)
(help @copyfiles-help)
(optional <force>)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_KeyFile
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_KeyFile
(SET #Dummy (tackon (tackon #ArchiveDir "Keyfile") #ApplicationKeyfile))
(if (<> (exists #Dummy (noreq)) 0) ((P_CopyDir "KeyFile"))
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_CopyArchiveIcon
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_CopyArchiveIcon
(COPYFILES
(SOURCE (CAT (CAT (TACKON #ArchiveDir "/") #ApplicationName) ".info"))
(DEST (TACKON #ApplicationDir "/"))
(HELP @copyfiles-help)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_AskBool
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_AskBool #dummy
(SET #dummy (ASKBOOL (prompt #dummy)
(help @askbool-help)
(default 1)
)
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_Rename
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_Rename #Dummy #Dummy2
(if (= (exists (TACKON #ApplicationDir #Dummy)) 2)
(rename (TACKON #ApplicationDir #Dummy) (TACKON #ApplicationDir #Dummy2))
)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; P_RealRename
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(PROCEDURE P_RealRename #Dummy #Dummy2
(Set #Dummy (TACKON #ApplicationDir #Dummy))
(Set #Dummy2 (TACKON #ApplicationDir #Dummy2))
(set #Dummy (CAT "rename " #Dummy " " #Dummy2))
(run #Dummy)
) ;PROCEDURE
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
; MAIN
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
(P_Requirements)
(message (#App-installmsg #ApplicationName #ApplicationName #ApplicationName #ApplicationName))
(SET #InstallerMode (P_DeInstall #ApplicationName))
(welcome)
;-----------------------------------------------
(IF (= #InstallerMode "0")
(
;-----------------------------------------------
(SET #ApplicationDir (P_GetApplicationDir))
(COMPLETE 1)
(P_Update)
(SET #Binary (P_AskBinary))
(COMPLETE 2)
(SET #Language (P_AskCatalogs #Language))
(COMPLETE 3)
(SET #Documents (P_AskDocs #Documents))
(COMPLETE 4)
;***** Delete old Data and Prefs
(DELETE (TACKON #ApplicationDir "ColorSets") (ALL))
(DELETE (TACKON #ApplicationDir "ColorSets.info"))
(DELETE (TACKON #ApplicationDir "GraphicSets/TimoHegemann/Diggers"))
(DELETE (TACKON #ApplicationDir "GraphicSets/TimoHegemann/Diggers.info"))
(DELETE (TACKON #ApplicationDir "GraphicSets/TimoHegemann/Diggers64"))
(DELETE (TACKON #ApplicationDir "GraphicSets/TimoHegemann/Diggers64.info"))
(MAKEDIR #ApplicationDir (INFOS))
(MAKEDIR (TACKON #ApplicationDir "Prefs") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "GraphicSets/User") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "SampleSets/User") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "CharacterSets/User") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "MusicSets/User") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "Games/User") (INFOS))
(MAKEDIR (TACKON #ApplicationDir "Caves/User") (INFOS))
(COMPLETE 10)
(P_CopyDir "Games")
(COMPLETE 20)
(P_CopyDir "Caves")
(COMPLETE 35)
(P_CopyDir "Title")
(P_CopyDir "Solves")
(COMPLETE 45)
(P_CopyDir "Scores")
(COMPLETE 55)
(P_CopyDir "SampleSets")
(COMPLETE 65)
(P_CopyDir "MusicSets")
(COMPLETE 75)
(P_CopyDir "GraphicSets")
(COMPLETE 85)
(P_CopyDir "CharacterSets")
(COMPLETE 97)
(P_CopyBinary #ApplicationName)
(P_CopyFile (CAT #ApplicationName ".info"))
(P_CopyCatalogs #Language)
(P_CopyDocs #Documents)
(P_CopyArchiveIcon)
(P_CopyFile "Docs.info")
(P_CopyFile "GraphicSets.info")
(P_CopyFile "CharacterSets.info")
(P_CopyFile "SampleSets.info")
(P_CopyFile "MusicSets.info")
(P_CopyFile "WARNING!!!")
(P_CopyFile "WARNUNG!!!")
(COMPLETE 99)
(P_CopyDir "RegTool")
(P_CopyFile "RegTool.info")
(P_Keyfile)
;--- CleanUp
(DELETE (TACKON #ApplicationDir "Title.info"))
(DELETE (TACKON #ApplicationDir "Prefs.info"))
(DELETE (TACKON #ApplicationDir "Games.info"))
(DELETE (TACKON #ApplicationDir "Caves.info"))
(DELETE (TACKON #ApplicationDir "Solves.info"))
(DELETE (TACKON #ApplicationDir "Scores.info"))
(DELETE (TACKON #ApplicationDir "KeyFile.info"))
(DELETE (TACKON #ApplicationDir "Install.info"))
(DELETE (TACKON #ApplicationDir "Catalogs.info"))
(run "avail Flush")
(COMPLETE 100)
(message (#App-exit #ApplicationName #ApplicationName #ApplicationDir))
(exit (QUIET))
;-----------------------------------------------
)) ;IF #InstallerMode = 0
;----------- Deinstallation -------------------
(IF (= #InstallerMode "1") (
(SET #ApplicationDir (P_GetDeInstallDir))
(COMPLETE 30)
(COMPLETE 80)
(DELETE #ApplicationDir (optional FORCE) (ALL))
(DELETE (Cat #ApplicationDir ".info"))
(COMPLETE 100)
(Message (#Deinstall-Done #ApplicationName))
(exit (QUIET))
;-----------------------------------------------
)) ;IF #InstallerMode = 1
;-----------------------------------------------