home *** CD-ROM | disk | FTP | other *** search
Wrap
; **************************************************************************** ; * * ; * 'CallMan' Install-Script * ; * written 1997 by Alexander 'Sascha' Fichtner * ; * * ; * $VER: CallMan Installer 1.2 (17.09.97) * ; * * ; * This installer script is freeware! :-) * ; * You may use it (or parts of it) in your own installer scripts... * ; * * ; * You are NOT allowed to ask ANY monetary charge for it! * ; * * ; * Feel free to send any comments/bugreports to: * ; * * ; * fichtner@informatik.tu-muenchen.de * ; * * ; **************************************************************************** (if (= @language "english") ( (set #default_language 1) (set #welcome "\n\n\nWelcome to\n\nCallMan\n\n1.2 (17.09.1997)\n\n© Copyright 1997 Alexander 'Sascha' Fichtner" ) (set #requirements "\n\nRequirements:\n\n- OS 3.0\n- MUI 3.3+\n- screen with at least a size of 640x256\n- a modem" ) (set #installmode "Would you like to install CallMan from scratch or un-install an older version?") (set #installmode_help "Choose 'Install' to install CallMan on your system.\n\nChoose 'Un-install', to remove an already installed version of CallMan from your system." ) (set #installmode_install "Install" ) (set #installmode_uninstall "Un-install" ) (set #default_destination "Where do you wish to install CallMan? The directory 'CallMan' will be created if it is not there." ) (set #manual "The manual (in AmigaGuide format) is available in different languages. Which version(s) would you like to install?" ) (set #rates "There are different rates files for the different countries and telephone companies. Which if these rates files would you like to install?" ) (set #catalogs "Which language catalogs would you like to install?" ) (set #catalogs_where "Where do you wish to install the language catalogs?" ) (set #catalogs_locale_full "Not enough free diskspace on LOCALE: ! Copy catalog files to PROGDIR:Catalogs instead?" ) (set #catalogs_no_locale_assign "Can't find assign LOCALE: ! Copy catalog files to PROGDIR:Catalogs instead?" ) (set #install "\n\n\n\n\nI'm starting the installation now." ) (set #not_enough_diskspace "There might be not enough diskspace available on " #dest_dir "..." ) (set #install_anyway "Install anyway..." ) (set #abort "Abort installation..." ) (set #install_abort "Aborted by user..." ) (set #uninstall_dir "Please specify the 'CallMan' directory." ) (set #really_uninstall "Do you REALLY want to uninstall CallMan?" ) ) ) (if (= @language "deutsch") ( (set #default_language 2) (set #welcome "\n\n\nHerzlich willkommen zu\n\nCallMan\n\n1.2 (17.09.1997)\n\n© Copyright 1997 Alexander 'Sascha' Fichtner" ) (set #requirements "\n\nSystemvoraussetzungen:\n\n- OS 3.0\n- MUI 3.3+\n- einen Screen mit mindestens 640x256 Screengröße\n- ein Modem" ) (set #installmode "Wollen Sie CallMan neu installieren oder eine bereits installierte Version wieder entfernen?") (set #installmode_help "Wählen Sie 'Installieren', um CallMan in Ihrem System neu zu installieren.\n\nWählen Sie 'Deinstallieren', um eine bereits installierte Version von CallMan so weit wie möglich wieder zu entfernen." ) (set #installmode_install "Installieren" ) (set #installmode_uninstall "Deinstallieren" ) (set #default_destination "Wo möchten Sie CallMan installieren? Falls noch nicht vorhanden, wird dort das Verzeichnis 'CallMan' angelegt." ) (set #manual "Die Anleitung (im AmigaGuide-Format) liegt in mehreren Sprachen vor. Welche Version(en) möchten Sie installieren?" ) (set #rates "Es existieren unterschiedliche Gebührendateien für die verschiedenen Länder und Telefongesellschaften. Welche der folgenden Dateien sollen installiert werden?" ) (set #catalogs "Welche Sprachkataloge möchten Sie installieren?" ) (set #catalogs_where "Wohin sollen die Sprachkataloge kopiert werden?" ) (set #catalogs_locale_full "Speicherplatz in LOCALE: reicht nicht aus! Sollen die Katalogdateien stattdessen doch nach PROGDIR:Catalogs kopiert werden?" ) (set #catalogs_no_locale_assign "Kann das Assign LOCALE: nicht finden! Sollen die Katalogdateien stattdessen doch nach PROGDIR:Catalogs kopiert werden?" ) (set #install "\n\n\n\n\nIch beginne nun mit der eigentlichen Installation." ) (set #not_enough_diskspace "Voraussichtlich nicht genug Speicher frei auf " #dest_dir "..." ) (set #install_anyway "Trotzdem installieren..." ) (set #abort "Installation abbrechen..." ) (set #install_abort "Abbruch durch Benutzer..." ) (set #uninstall_dir "Bitte wählen Sie das Verzeichnis 'CallMan' aus." ) (set #really_uninstall "Wollen Sie CallMan WIRKLICH deinstallieren?" ) ) ) ; **************************************************************************** ; install procedure ; **************************************************************************** (procedure p_install (set #cm_diskspace_main 0) (set #cm_diskspace_catalog 0) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "CallMan" ))) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "CallMan.info" ))) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "CM_Converter" ))) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "CM_Converter.info" ))) ; ******************** ; choose destination ; ******************** (set #dest_dir (askdir (prompt #default_destination ) (help @askdir-help) (default @default-dest) ) ) (set #install_dir (tackon #dest_dir "CallMan")) ; *************** ; choose guides ; *************** (set #cm_guides (askoptions (prompt #manual) (help "") (choices " English" " Deutsch") (default #default_language) ) ) (if (IN #cm_guides 0) ( ; then (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "Docs/CallMan_E.guide" ))) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "Docs/CallMan_E.guide.info" ))) ) ) (if (IN #cm_guides 1) ( ; then (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "Docs/CallMan_D.guide" ))) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "Docs/CallMan_D.guide.info" ))) ) ) (set #guides_dir (tackon #install_dir "Docs")) ; ******************** ; choose rates files ; ******************** (set #ratesfiles (askoptions (prompt #rates) (help "") (choices " Deutsche TELEKOM" ) (default -1) ) ) (if (IN #ratesfiles 0) (set #cm_diskspace_main (+ #cm_diskspace_main (getsize "Rates/DeutscheTELEKOM.rates" )))) (set #rates_dir (tackon #install_dir "Rates")) ; ***************** ; choose catalogs ; ***************** (set #cm_language (askoptions (prompt #catalogs) (help "") (choices " English (built-in)" " Deutsch") (default #default_language) ) ) (if (<> #cm_language 1) ( ; then (if (IN #cm_language 1) (set #cm_diskspace_catalog (+ #cm_diskspace_catalog (getsize "Catalogs/deutsch/CallMan.catalog" )))) (if (IN #cm_language 1) (set #cm_diskspace_catalog (+ #cm_diskspace_catalog (getsize "Catalogs/deutsch/CM_Converter.catalog" )))) ; **************************** ; choose catalog destination ; **************************** (set #catalog_dest (askchoice (prompt #catalogs_where) (help "") (choices "LOCALE:Catalogs" "PROGDIR:Catalogs") (default 1) ) ) (if (= #catalog_dest 0) ( (set #locale_path (getassign "LOCALE")) (if (= #locale_path "") ( ; then (set #bool (askbool (prompt #catalogs_no_locale_assign ) (help "") (default 1) ) ) (if (= #bool 1) (set #catalog_dest 1) (set #catalog_dest 3) ) ) ( ; else (set #free_disk_space_catalog #locale_path ) (if (< #free_disk_space_catalog #cm_disk_space_catalog) ( (set #bool (askbool (prompt #catalogs_locale_full ) (help "") (default 1) ) ) (if (= #bool 1) (set #catalog_dest 1) (set #catalog_dest 3) ) ) ) ) ) ) ) (if (= #catalog_dest 1) ( (set #cm_diskspace_main (+ #cm_diskspace_main #cm_diskspace_catalog)) ) ) ) ) (set #catalogs_dir (tackon #install_dir "Catalogs")) ; *************** ; install files ; *************** (message #install) (set #install_bool 1) (if (<> (getdevice #dest_dir) "RAM" ) ( ; then (set #free_disk_space_main (getdiskspace #dest_dir )) (if (< #free_disk_space_main #cm_diskspace_main) ( ; then (set #install_bool 0) (set #bool (askbool (prompt #not_enough_diskspace ) (help "" ) (default 1) (choices #install_anyway #abort ) ) ) (if (= #bool 0) (exit #install_abort (quiet)) ) (if (= #bool 1) (set #install_bool 1) ) ) ) ) ) (if (= #install_bool 1) ( ; then (complete 0) (makedir #install_dir (infos) ) (copylib (source "CallMan" ) (dest #install_dir) (infos) ) (copylib (source "CM_Converter") (dest #install_dir) (infos) ) (copylib (source "Install" ) (dest #install_dir) (infos) ) (complete 25) (if (<> #cm_guides 0) ( ; then (makedir #guides_dir (infos) ) (if (IN #cm_guides 0) (copylib (source "Docs/CallMan_E.guide") (dest #guides_dir) (infos) )) (if (IN #cm_guides 1) (copylib (source "Docs/CallMan_D.guide") (dest #guides_dir) (infos) )) ) ) (complete 50) (if (<> #ratesfiles 0) ( ; then (makedir #rates_dir ) (if (IN #ratesfiles 0) (copylib (source "Rates/DeutscheTELEKOM.rates") (dest #rates_dir) (infos) )) ) ) (complete 75) (if (= #catalog_dest 0) ( ; then (if (IN #cm_language 1) (copylib (source "Catalogs/deutsch/CallMan.catalog" ) (dest "LOCALE:Catalogs/deutsch") ) ) (if (IN #cm_language 1) (copylib (source "Catalogs/deutsch/CM_Converter.catalog") (dest "LOCALE:Catalogs/deutsch") ) ) ) ( ; else (makedir #catalogs_dir ) (if (IN #cm_language 1) (copylib (source "Catalogs/deutsch/CallMan.catalog" ) (dest (tackon #catalogs_dir "deutsch")) ) ) (if (IN #cm_language 1) (copylib (source "Catalogs/deutsch/CM_Converter.catalog") (dest (tackon #catalogs_dir "deutsch")) ) ) ) ) ) ) (complete 100) ) ; **************************************************************************** ; deinstall procedure ; **************************************************************************** (procedure p_uninstall (if (= @user-level 0) (user 1)) ; ******************** ; choose CallMan dir ; ******************** (set #script_dir (pathonly @icon)) (set #uninstall_dir (askdir (prompt #uninstall_dir ) (help @askdir-help) (default #script_dir ) ) ) ; **************** ; security check ; **************** (set #bool (askbool (prompt #really_uninstall ) (help "" ) (default 1) ) ) (if (= #bool 0) (exit #install_abort (quiet)) ) ; ***************** ; delete catalogs ; ***************** (if (exists (tackon #uninstall_dir "Catalogs")) ( ; then (set #catalogs_dir (tackon #uninstall_dir "Catalogs" )) (foreach #catalogs_dir "#?" ( (delete (tackon #catalogs_dir (tackon @each-name "CallMan.catalog" ) ) ) (delete (tackon #catalogs_dir (tackon @each-name "CM_Converter.catalog" ) ) ) (delete (tackon #catalogs_dir @each-name ) ) ) ) (delete #catalogs_dir ) ) ( ; else (set #catalogs_dir "LOCALE:Catalogs" ) (foreach #catalogs_dir "#?" ( (delete (tackon #catalogs_dir (tackon @each-name "CallMan.catalog" ) ) ) (delete (tackon #catalogs_dir (tackon @each-name "CM_Converter.catalog" ) ) ) ) ) ) ) ; ******************** ; delete rates files ; ******************** (set #rates_dir (tackon #uninstall_dir "Rates" )) (delete (tackon #rates_dir "DeutscheTELEKOM.rates") ) (delete #rates_dir) ; *************** ; delete guides ; *************** (set #guides_dir (tackon #uninstall_dir "Docs" )) (set #guides_dir.info (tackon #uninstall_dir "Docs.info" )) (if (exists #guides_dir) ( (foreach #guides_dir "CallMan#?.guide#?" ( (delete (tackon #guides_dir @each-name) ) ) ) ) ) (delete #guides_dir ) (delete #guides_dir.info ) ; **************** ; delete CallMan ; **************** (set #Install (tackon #uninstall_dir "Install" )) (set #Install.info (tackon #uninstall_dir "Install.info" )) (set #Convert (tackon #uninstall_dir "CM_Converter" )) (set #Convert.info (tackon #uninstall_dir "CM_Converter.info" )) (set #CallMan (tackon #uninstall_dir "CallMan" )) (set #CallMan.info (tackon #uninstall_dir "CallMan.info" )) (delete #Install ) (delete #Install.info ) (delete #Convert ) (delete #Convert.info ) (delete #CallMan ) (delete #CallMan.info ) ; ************************** ; remove CallMan directory ; ************************** (delete #uninstall_dir ) ) ; **************************************************************************** ; MAIN ; **************************************************************************** (message #welcome) (message #requirements) ; ************************************ ; choose mode (install or deinstall) ; ************************************ (set #mode (askchoice (prompt #installmode ) (help #installmode_help ) (choices #installmode_install #installmode_uninstall ) (default 0) ) ) (welcome) (if (= #mode 0) ( ; then (p_install) ) ) (if (= #mode 1) ( ; then (p_uninstall) ) )