home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / tools / system / scalos / install.scalos next >
Text File  |  1997-09-18  |  11KB  |  564 lines

  1. ; Scalos Installation Script (c)1997 fOX! (17.09.1997)
  2.  
  3. (set languages-default 1)
  4.  
  5. ;WICHTIG !!!!!!!!!!!!!!!!!!!
  6. ;APPNAME=Scalos
  7. ;im InstallIcon
  8.  
  9.  
  10. ;===[ ENGLISH ]==============================================================
  11.  
  12. (set language-default 1)
  13.  
  14. (set #bad-kick "You must be using Kickstart 3.0+ to install Scalos")
  15.  
  16. (set #bad-cpu "You require at least a 68020 or higher processor to run Scalos")
  17.  
  18. (set #bad-mui "Requires MUI 3.6+")
  19.  
  20. (set #install-start
  21.     (cat
  22.         "\n\nWelcome to Scalos Installation\n\n"
  23.         "Done by fOX!/ALiENDESiGN\n\n"
  24.     )
  25. )
  26. (set #install-exit
  27.     (cat
  28.         "Thank you for installing Scalos ..."
  29.     )
  30. )
  31.  
  32. (set #where-scalos "Where would you like to install Scalos? (no Scalos directory will be created!)")
  33.  
  34. (set #where-scalos-help
  35.     (cat
  36.         "Scalos will be installed directly into the"
  37.         " desired directory. An assign Scalos: is made"
  38.         " right after the creation of the directory"
  39.     )
  40. )
  41.  
  42. (set #where-scalosprefs "Where is the place for the preferences editors?")
  43.  
  44. (set #where-scalosprefs-help
  45.     (cat
  46.         "This is the destination directory of all Scalos preferences"
  47.         " editors!\n\n Normaly ALL Scalos preferences editors are in Scalos:Prefs !"
  48.     )
  49. )
  50.  
  51. (set #languages-select    "Which languages should be installed?")
  52.  
  53. (set #languages-select-help
  54.     (cat
  55.         "Please select your favourite language that should be"
  56.         " copied to you Locale: directory?"
  57.     )
  58. )
  59.  
  60. (set #moduletype-select "Which Moduletype (see help) should be installed?")
  61.  
  62. (set #moduletype-select-help
  63.     (cat
  64.         "The Moduletype is the kind of userinterface that"
  65.         " you'll see when you for example delete files..."
  66.     )
  67. )
  68.  
  69. (set #plugin-select "Do you want to install some useful tools and plugins for Scalos")
  70.  
  71. (set #plugin-select-help
  72.     (cat
  73.         "One plugin for example might be useful for you if you want"
  74.         " a sorted cleanup of the icons..."
  75.     )
  76. )
  77.  
  78. (set #autostart-select "Do you want to install Scalos as Workbench replacement?")
  79.  
  80. (set #autostart-select-help
  81.     (cat
  82.         "If you select YES this installscript will rename the current"
  83.         " LoadWB to LoadWB.orig and install a tiny replacement to load"
  84.         " Scalos intead of the original Workbench"
  85.     )
  86. )
  87.  
  88. (set #startup-scalos "Scalos: assign is about add to you user-startup")
  89.  
  90. (set #startup-scalos-help
  91.     (cat
  92.         "An Assign Scalos: will be added to your user-startup"
  93.     )
  94. )
  95.  
  96. (set #copy-scalos "Copying Scalos (Mainprogram)...")
  97.  
  98. (set #copy-scalosprefs "Copying Scalos Preferences...")
  99.  
  100. (set #copy-libs "Copying required libraries...")
  101.  
  102. (set #copy-muilib "Copying required mui-additions")
  103.  
  104. (set #copy-modules "Copying selected modules...")
  105.  
  106. (set #copy-classes "Copying required datatypes (Classes)...")
  107.  
  108. (set #copy-datatypes "Copying required datatypes (Devs)...")
  109.  
  110. (set #copy-catalog "Copying desired translations...")
  111.  
  112. (set #copy-presets "Copying Presets...")
  113.  
  114. (set #copy-plugins "Copying Plugins...")
  115.  
  116. (set #copy-tools "Copying Tools...")
  117.  
  118. (set #copy-loadwb "Copying LoadWB replacement...")
  119.  
  120. (set #rename-loadwborg "Renaming of original LoadWB...")
  121.  
  122. (set #rename-loadwbscalos "Renaming/Installing Scalos-LoadWB...")
  123.  
  124. (set #register-thank
  125.     (cat
  126.         "Thank you for registering Scalos\n\n"
  127.         "I appreciate your support!\n\n"
  128.         "Keep on supporting aMIGa!"
  129.     )
  130. )
  131.  
  132. (set #mypleasure "My Pleasure!")
  133.  
  134. (set #nomui
  135.     (cat
  136.         "The Install-Script couldn't find a installed MUI-Version!\n\n"
  137.         "MUI 3.6 or higher is required to run Scalos(Prefs)\n\n"
  138.         "Would you like to continue the installation?"
  139.     )
  140. )
  141.  
  142. (set #nomui-help
  143.     (cat
  144.         "MUI is an enhanced userinterface! You can get a"
  145.         " Shareware version via Aminet!"
  146.     )
  147. )
  148.  
  149. (set #makedir-scalos "Creating Scalos-Destination...")
  150.  
  151. (set #makedir-scalos "Creating Prefs-Destination...")
  152.  
  153.  
  154. ;===[ GERMAN ]==============================================================
  155. (if (= @language "deutsch")
  156.     (
  157.     (set languages-default 2)
  158.     )
  159. )
  160. ;============================== PROGRAM-START================================
  161.  
  162. (set @default-dest "")
  163.  
  164. ;Check Kickstart (>= v3.0) Version.
  165.  
  166. (if (< (/ (getversion) 65536) 39)
  167.     (abort #bad-kick)
  168. )
  169. (set processor (database "cpu"))
  170. (if (< processor "68020")
  171.     (abort #bad-cpu)
  172. )
  173.  
  174. (set muilib-path 0)
  175. (if (exists "MUI:Libs/muimaster.library" (NOREQ))
  176.     (set muilib-path "MUI:Libs/muimaster.library")
  177.     (if (exists "Libs:muimaster.library")
  178.         (set muilib-path "Libs:muimaster.library")
  179.         (if    (NOT
  180.                 (askbool
  181.                     (prompt #nomui)
  182.                     (help   #nomui-help)
  183.                 )
  184.             )
  185.             (abort #bad-mui)
  186.         )
  187.     )
  188. )
  189.  
  190. (if muilib-path
  191.     (if (< (/ (getversion "Libs:muimaster.library") 65536) 17)
  192.         (abort #bad-mui)
  193.     )
  194. )
  195.  
  196. (message #install-start)
  197. (welcome)
  198.  
  199. (complete 0)
  200.  
  201. ;===[ select Scalos Destination ]============================================
  202.  
  203. (if (exists "Scalos:" (NOREQ))
  204.  (
  205.      (set firstinstall 0)
  206.      (set scalos-dest "Scalos:")
  207.  )
  208.  (    (set firstinstall 1)
  209.      (set scalos-dest
  210.         (askdir
  211.             (prompt    #where-scalos)
  212.             (help    #where-scalos-help "\n\n" @askdir-help)
  213.             (default "SYS:Scalos")
  214.             (newpath)
  215.         )
  216.     )
  217.     (if (not (exists scalos-dest))
  218.         (makedir scalos-dest
  219.             (prompt #makedir-scalos)
  220.             (help    @makedir-help)
  221.         )
  222.     )
  223.     (makeassign "Scalos" scalos-dest)
  224.  )
  225. )
  226.  
  227.  
  228. (set scalosprefs-dest
  229.     (askdir
  230.         (prompt    #where-scalosprefs)
  231.         (help    #where-scalosprefs-help "\n\n" @askdir-help)
  232.         (default "Scalos:Prefs")
  233.         (newpath)
  234.     )
  235. )
  236.  
  237. (set languages
  238.     (askoptions
  239.         (prompt    #languages-select)
  240.         (help    #languages-select-help "\n\n" @askoptions-help)
  241.         (choices
  242.             "English (built in)"
  243.             "Deutsch"
  244.         )
  245.         (default languages-default)
  246.     )
  247. )
  248.  
  249. ;Preparation for MUI-Library
  250. (if (not (exists "MUI:" (noreq)))
  251.     (set mui-dest
  252.         (askdir
  253.             (prompt    #where-muilib)
  254.             (help    #where-muilib-help "\n\n" @askdir-help)
  255.             (default "Libs:MUI")
  256.         )
  257.     )
  258.     (set mui-dest "MUI:Libs/MUI")
  259. )
  260.  
  261. (if (not
  262.     (askchoice
  263.         (prompt    #moduletype-select)
  264.         (help    #moduletype-select-help "\n\n" @askoptions-help)
  265.         (choices
  266.             "MUI"
  267.             "Class Act"
  268.         )
  269.         (default 0)
  270.     )
  271.      )
  272.     (set module-path "Modules_MUI")
  273.     (set module-path "Modules_CA")
  274.  
  275. )
  276.  
  277. (set plugin
  278.     (askbool
  279.         (prompt #plugin-select)
  280.         (help #plugin-select-help)
  281.         (default 1)
  282.     )
  283. )
  284.  
  285. (set autostart 0)
  286. (if (AND (OR (exists "S:Scalos.key" (NOREQ)) (exists "S/Scalos.key" (NOREQ))) (NOT (exists "C:LoadWB.orig" (NOREQ))))
  287.     (set autostart
  288.         (askbool
  289.             (prompt #autostart-select)
  290.             (help #autostart-select-help)
  291.             (default 1)
  292.         )
  293.     )
  294. )
  295.  
  296.  
  297. ;===[ Real Installation ]====================================================
  298.  
  299. ;Create Scalos: Assign
  300. (if firstinstall
  301.  (
  302. ;    (makedir scalos-dest
  303. ;        (prompt    #makedir-scalos)
  304. ;        (help    #makedir-scalos-help "\n\n" @makedir-help)
  305. ;        (infos)
  306. ;    )
  307.     (startup @app-name
  308.         (prompt    #startup-scalos)
  309.         (help    #startup-scalos-help "\n\n" @startup-help)
  310.         (command 'Assign Scalos: \"' scalos-dest '\"\n')
  311.     )
  312.  )
  313. )
  314.  
  315. (complete 5)
  316.  
  317. ;Copy Scalos-Mainfile
  318. (copyfiles
  319.     (prompt    #copy-scalos)
  320.     (source    "Scalos")
  321.     (dest    scalos-dest)
  322.     (files)
  323.     (infos)
  324. )
  325.  
  326. (complete 10)
  327.  
  328. ;Copy Prefs
  329. (if (not (exists scalosprefs-dest (NOREQ)))
  330.     (
  331.         (makedir scalosprefs-dest
  332.             (prompt #makedir-prefs)
  333.             (help    @makedir-help)
  334.         )
  335.     )
  336. )
  337.  
  338.  
  339. (copyfiles
  340.     (prompt    #copy-scalosprefs)
  341.     (source    "Prefs/")
  342.     (dest    scalosprefs-dest)
  343.     (infos)
  344.     (all)
  345. )
  346.  
  347. (complete 20)
  348.  
  349. ;Copy Libraries
  350. (set n 0)
  351. (while
  352.     (set library
  353.         (select n
  354.             "iconobject.library"
  355.             "mcpgfx.library"
  356.             "preferences.library"
  357.             ""
  358.         )
  359.     )
  360.     (
  361.         (copylib
  362.             (prompt    #copy-libs)
  363.             (source    (tackon "Libs/" library))
  364.             (dest    "Libs:")
  365.             (help    @copylib-help)
  366.             (confirm)
  367.         )
  368.         (set n (+ n 1))
  369.     )
  370. )
  371.  
  372. (complete 30)
  373.  
  374. ;Copy MUI Lib:
  375. (copylib
  376.     (prompt    #copy-muilib)
  377.     (source "Libs/MUI/MCPFrame.mcc")
  378.     (dest    mui-dest)
  379.     (help    @copylib-help)
  380.     (confirm)
  381. )
  382.  
  383. (complete 40)
  384.  
  385. ;Copy Required/Selected Modules
  386. (copyfiles
  387.     (prompt    #copy-modules)
  388.     (source    module-path)
  389.     (dest    (tackon scalos-dest "Modules"))
  390.     (all)
  391. )
  392.  
  393. (complete 50)
  394.  
  395. ;Classes/Datatypes/#? To: SYS:Classes/Datatypes
  396. (set n 0)
  397. (while
  398.     (set library
  399.         (select n
  400.             "amigaiconobject.datatype"
  401.             "iconobject.datatype"
  402.             "newiconobject.datatype"
  403.             ""
  404.         )
  405.     )
  406.     (
  407.         (copylib
  408.             (prompt    #copy-libs)
  409.             (source    (tackon "Classes/Datatypes" library))
  410.             (dest    "SYS:Classes/Datatypes")
  411.             (help    @copylib-help)
  412.             (confirm)
  413.         )
  414.         (set n (+ n 1))
  415.     )
  416. )
  417.  
  418. (complete 60)
  419.  
  420. ;Copy "Devs/Datatypes/#?" To "Devs:Datatypes"
  421. (copyfiles
  422.     (prompt    #copy-datatypes)
  423.     (source    "Devs/Datatypes")
  424.     (dest    "Devs:Datatypes")
  425.     (infos)
  426.     (all)
  427. )
  428.  
  429. (complete 70)
  430.  
  431. ;Copy of the catalog files (with version check)
  432. (if (= (exists "Locale:") 2)
  433.     (
  434.         (set n 0)
  435.         (while
  436.             (set language
  437.                 (select n
  438.                     "English"
  439.                     "Deutsch"
  440.                     ""
  441.                 )
  442.             )
  443.             (
  444.                 (if (IN languages n)
  445.                     (if (<> 0 n)   ; No catalog for english strings...
  446.                         (
  447.                             (set catalogs (tackon "Locale/Catalogs" (tackon language "Scalos")))
  448.                             (set destination (tackon "Locale:Catalogs" (tackon language "Scalos")))
  449.                             (makedir destination)
  450. ;-------------------------------------------------------------------------------------------
  451.                             (
  452.                                 (set lala 0)
  453.                                 (while
  454.                                     (set scaloscat
  455.                                         (select lala
  456.                                             "Scalos_Delete.catalog"
  457.                                             "Scalos_ECommand.catalog"
  458.                                             "Scalos_NewDrawer.catalog"
  459.                                             "Scalos_OpenLocation.catalog"
  460.                                             "Scalos_Rename.catalog"
  461.                                             "Scalos_ETrashcan.catalog"
  462.                                             "Scalos.catalog"
  463.                                             "ScalosPattern.catalog"
  464.                                             "ScalosPrefs.catalog"
  465.                                             "ScalosPalette.catalog"
  466.                                             "ScalosMenu.catalog"
  467.                                             ""
  468.                                         )
  469.                                     )
  470.                                     (
  471.                                         (if (exists (tackon catalogs scaloscat)) 
  472.                                             (copylib
  473.                                                 (prompt    #copy-catalog)
  474.                                                 (source    (tackon catalogs scaloscat))
  475.                                                 (dest    destination)
  476.                                                 (help    @copylib-help)
  477.                                                 (confirm)
  478.                                             )
  479.                                         )
  480.                                         (set lala (+ lala 1))
  481.                                     )
  482.                                 )
  483.                             )
  484. ;-----------------------------------------------------------------------------------------------
  485.                         )
  486.                     )
  487.                 )
  488.                 (set n (+ n 1))
  489.             )
  490.         )
  491.     )
  492. )
  493.  
  494. (complete 80)
  495.  
  496. ;Copy presets
  497. (copyfiles
  498.     (prompt    #copy-presets)
  499.     (source    "Presets")
  500.     (dest    "SYS:Prefs/Presets")
  501.     (infos)
  502.     (all)
  503. )
  504.  
  505. ;Copy Plugin + Tools
  506. (if plugin
  507.     (
  508.         (copyfiles
  509.             (prompt    #copy-plugins)
  510.             (source    "PlugIns")
  511.             (dest    (tackon scalos-dest "Plugins"))
  512.             (infos)
  513.             (all)
  514.         )
  515.         (copyfiles
  516.             (prompt    #copy-tools)
  517.             (source    "Tools")
  518.             (dest    (tackon scalos-dest "Tools"))
  519.             (infos)
  520.             (all)
  521.         )
  522.     )
  523. )
  524.  
  525. (complete 90)
  526.  
  527. ;Installing LoadWB-Replacement
  528. (if autostart
  529.     (
  530.         (copyfiles
  531.             (prompt #copy-loadwb)
  532.             (source    "LoadWB.Scalos")
  533.             (dest    "C:")
  534.         )
  535.         (if    (rename "C:LoadWB" "C:LoadWB.orig"
  536.                 (prompt #rename-loadwborg)
  537.             )
  538.             (rename "C:LoadWB.scalos" "C:LoadWB"
  539.                 (prompt #rename-loadwbscalos)
  540.             )
  541.         )
  542.     )
  543. )
  544.  
  545. (if (exists "S/Scalos.key" (NOREQ))
  546.     (
  547.         (askbool
  548.             (prompt    #register-thank)
  549.             (help    @askbool-help)
  550.             (choices #mypleasure #mypleasure)
  551.         )
  552.         (copyfiles
  553.             (prompt #copy-scaloskey)
  554.             (source    "S/Scalos.key")
  555.             (dest    "S:")
  556.         )
  557.     )
  558. )
  559.  
  560. (complete 100)
  561.  
  562. (EXIT #install-exit)
  563.                                                                                                                                                                                                                                                                                                                                                
  564.