home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 82 / af082a.adf / HDInstall < prev    next >
Text File  |  1995-12-18  |  9KB  |  427 lines

  1. ;;
  2. ;;  $Final Writer Lite Cover Disk Hard Drive Installation Script British (UK) Version $
  3. ;;  $Date: 1995/12/18 15:27:32 $
  4. ;;  $Revision: 1.2 $
  5. ;;
  6.  
  7. (set is_update 0)
  8. (set @user-level 1)    ; force to use average mode
  9. (complete 0)
  10.  
  11.  
  12. ;
  13. ; Installation Disk Names
  14. ;
  15. (set #install_disk_1 "Disk 1")
  16.  
  17. ;
  18. ; File/drawer names that change with different language versions.
  19. ;
  20. (set #fw_drawer        "FinalWriter_Lite_B")
  21.  
  22. ;
  23. ; LHex file
  24. ;
  25. (set #lhex_program
  26. (cat    #install_disk_1
  27.         ":lhex"
  28. ))
  29.  
  30. ; -------------------------------------------------------------------
  31. ; TEXT TRANSLATION SHOULD BEGIN HERE - Translate everything in quotes.
  32. ;
  33.  
  34. (set #which_drawer_prompt
  35. (cat    "In which disk or drawer should the Final Writer Lite drawer be "
  36.         "created in?"
  37. ))
  38.  
  39. (set #which_drawer_help
  40. (cat    "The installation utility will create a drawer named \""
  41.         #fw_drawer
  42.         "\" on the selected disk or in the selected drawer. All \"Final Writer\" "
  43.         "files will be placed inside this new drawer.\n\n"
  44.         @askdir-help
  45. ))
  46.  
  47. (set #disk_space_prompt
  48. (cat    "There may not be enough room available on this drive to install \""
  49.         #fw_drawer
  50.         "\". Do you wish to continue?"
  51. ))
  52.  
  53. (set #disk_space_help
  54. (cat    #fw_drawer
  55.         " needs approximately 2.5 megabytes of disk space for a "
  56.         "complete installation. If Final Writer LIte is already installed on this "
  57.         "partition, you may wish to continue. Otherwise, press ABORT or NO now and "
  58.         "either free some space on this partition or select a different partition "
  59.         "for the installation."
  60. ))
  61.  
  62. (set #disk_space_abort
  63. (cat    #fw_drawer
  64.         " installation cancelled. Not enough disk space on Volume \""
  65. ))
  66.  
  67. (set #update_options_prompt
  68. (cat    "What parts would you like to update?"
  69. ))
  70.  
  71. (set #update_choice_0 "Final Writer Lite Program")
  72. (set #update_choice_1 "System Data Files")
  73. (set #update_choice_2 "System Libraries")
  74. (set #update_choice_3 "System Fonts")
  75. (set #update_choice_4 "Sample Documents")
  76.  
  77. (set #ask_disk_prompt
  78. (cat    "\n\nPlease insert \"%s\" in any drive."
  79. ))
  80.  
  81. (set #ask_disk1_help
  82. (cat    "\"%s\" contains the Final Writer program, libraries, system fonts, and data files to be installed.\n\n"
  83.         @askdisk-help
  84. ))
  85.  
  86.  
  87. (set #install_program        "Installing Final Writer program from \"%s\".")
  88. (set #install_program_icon    "Installing Final Writer program and icon from \"%s\".")
  89. (set #install_datafiles        "Installing Data Files from \"%s\".")
  90. (set #install_libs            "Installing Libraries from \"%s\".")
  91. (set #install_sysfonts        "Installing System Fonts from \"%s\".")
  92. (set #install_sampledocs    "Installing Sample Documents from \"%s\".")
  93.  
  94. (set #install_program_err        "Error installing Final Writer Program.")
  95. (set #install_datafiles_err    "Error installing Data Files.")
  96. (set #install_libs_err            "Error installing Libraries.")
  97. (set #install_sysfonts_err        "Error installing System Fonts.")
  98. (set #install_ssmpledocs_err    "Error installing Sample Documents.")
  99.  
  100. (set #kickstart_err
  101. (cat    "You must have Workbench 2.04 or greater to install Final Writer! "
  102.         "(Workbench version 37.67 and Kickstart 37.175 or greater.)"
  103. ))
  104.  
  105. ;
  106. ; TEXT TRANSLATION SHOULD END HERE - nothing below needs translation.
  107. ; -------------------------------------------------------------------
  108.  
  109. ;
  110. ; make sure we are running under V37 or higher...
  111. ;
  112. (if (< (/ (getversion) 65536) 37)
  113.     (
  114.     (abort    #kickstart_err)
  115.     )
  116. )
  117.  
  118. ;
  119. ; Ask where to install Final Writer.
  120. ;
  121. (set FW_dest
  122.     (askdir
  123.         (prompt    #which_drawer_prompt)
  124.         (help        #which_drawer_help @askdir-help)
  125.         (default @default-dest)
  126.     )
  127. )
  128.  
  129. ;
  130. ; Check if this is an update
  131. ; the FWLibs directory is a tell-tale sign
  132. ; that FW is already installed here
  133. ;
  134. (if (exists (tackon FW_dest "FWLibs"))
  135.     (set is_update 1)
  136.     (    (if (exists (tackon FW_dest #fw_drawer))
  137.             (set is_update 1)
  138.             (makedir (tackon FW_dest #fw_drawer) (infos))
  139.         )
  140.         (set FW_dest (tackon FW_dest #fw_drawer))
  141.     )
  142. )
  143.  
  144. (set @default-dest FW_dest)
  145. (set disk_space (getdiskspace FW_dest))
  146.  
  147.  
  148. ;
  149. ; If first time installation, install all
  150. ;
  151. (if (NOT is_update)
  152.     (
  153.         (set install_all 1)
  154.         (set disk_space_needed 2810183)    ; 2.68 Megs
  155.     )
  156. )
  157.  
  158.  
  159. ;
  160. ;Check if enough disk space is available.
  161. ;
  162. (if (AND (< disk_space disk_space_needed) (NOT is_update))
  163.     (
  164.         (set answer1
  165.             (askbool
  166.                 (prompt    #disk_space_prompt)
  167.                 (help        #disk_space_help)
  168.             )
  169.         )
  170.         (if (NOT answer1)
  171.             (abort #disk_space_abort
  172.                     (getdevice @default-dest)
  173.                     "\"."
  174.             )
  175.         )
  176.     )
  177. )
  178.  
  179.  
  180. ;
  181. ; Allow updating user to select what they want updated.
  182. ;
  183. (if is_update
  184.     (set install_options
  185.         (askoptions
  186.             (prompt #update_options_prompt)
  187.             (help @askoptions-help)
  188.             (choices
  189.                 #update_choice_0        ; Program
  190.                 #update_choice_1        ; System Data Files
  191.                 #update_choice_2        ; System Libraries
  192.                 #update_choice_3        ; System Fonts
  193.                 #update_choice_4)        ; Sample Documents
  194.             (default 31)                ; default to Program, Files, Libs, Fonts, Docs
  195.         )
  196.     )
  197.  
  198.     ; First time install
  199.     (if install_all
  200.         (set install_options 31)  ; hex 1F - all options on
  201.     )
  202. )
  203.  
  204. ;
  205. ; Copy the extraction utility over and remember where it is
  206. ;
  207. (copyfiles
  208.     (source #lhex_program)
  209.     (dest FW_dest)
  210. )
  211. (set DeArcher (tackon FW_dest "lhex"))
  212. (set error 0)
  213.  
  214. ;
  215. ; Installing Files on Disk 1?
  216. ;
  217. (if (IN install_options 0 1 2)
  218.     (
  219.         ; Get Disk 1
  220.         (askdisk
  221.             (prompt    (#ask_disk_prompt #install_disk_1))
  222.             (help        (#ask_disk1_help #install_disk_1))
  223.             (dest        #install_disk_1)
  224.         )
  225.  
  226.         ;
  227.         ; If installing/updating the program
  228.         ;
  229.         (if (IN install_options 0)
  230.             (
  231.                 ; Make installer cd into FW_dest when it executes the run statement
  232.                 (set @execute-dir FW_dest)
  233.  
  234.                 ; copy the Final Writer program over if the program
  235.                 ; icon doesn't exists copy it over too.
  236.                 ( if (exists (tackon FW_dest "FinalWriter.info"))
  237.                     ; This DOES NOT copy the icon, in case the user
  238.                     ; has modified the tool-types
  239.                     (
  240.                         (working (#install_program #install_disk_1))
  241.                         (set error
  242.                             (run
  243.                                 ("\"%s\" -f x \"Disk 1:FinalWriter.lha\" FinalWriter >NIL:" DeArcher)
  244.                             )
  245.                         )
  246.                     )
  247.                     ; This DOES copy the icon
  248.                     (
  249.                         (working (#install_program_icon #install_disk_1))
  250.                         (set error
  251.                             (run
  252.                                 ("\"%s\" -f x \"Disk 1:FinalWriter.lha\" >NIL:" DeArcher)
  253.                             )
  254.                         )
  255.                     )
  256.                 )
  257.             )
  258.         )
  259.  
  260.         (if error
  261.             (abort #install_program_err)
  262.         )
  263.  
  264.         (complete 25)
  265.  
  266.         ; Installing FWFiles
  267.         (if (IN install_options 1)
  268.             (
  269.                 ; If FWFiles doesn't exist, create it.
  270.                 (if (NOT (exists (tackon FW_dest "FWFiles")))
  271.                     (
  272.                     (makedir (tackon FW_dest "FWFiles") (infos))
  273.                     )
  274.                 )
  275.  
  276.                 ; Make installer cd into FWFiles when it executes the run statement
  277.                 (set @execute-dir (tackon FW_dest "FWFiles"))
  278.  
  279.                 ; Extract the files
  280.                 (working (#install_datafiles #install_disk_1))
  281.                 (set error
  282.                     (run
  283.                         ("\"%s\" -f x \"Disk 1:FWFiles.lha\" >NIL:" DeArcher)
  284.                     )
  285.                 )
  286.  
  287.                 ; Abort if any errors
  288.                 (if error
  289.                     (abort #install_datafiles_err)
  290.                 )
  291.             )
  292.         )
  293.  
  294.         (complete 50)
  295.  
  296.         ; Installing FWLibs
  297.         (if (IN install_options 2)
  298.             (
  299.                 ; If FWLibs doesn't exist, create it.
  300.                 (if (NOT (exists (tackon FW_dest "FWLibs")))
  301.                     (
  302.                     (makedir (tackon FW_dest "FWLibs"))
  303.                     )
  304.                 )
  305.  
  306.                 ; Make installer cd into FWLibs when it executes the run statement
  307.                 (set @execute-dir (tackon FW_dest "FWLibs"))
  308.  
  309.                 (working (#install_libs #install_disk_1))
  310.                 (set error
  311.                     (run
  312.                         ("\"%s\" -f x \"Disk 1:FWLibs.lha\" >NIL:" DeArcher)
  313.                     )
  314.                 )
  315.  
  316.                 ; Abort if any errors
  317.                 (if error
  318.                     (abort #install_libs_err)
  319.                 )
  320.  
  321.                 (run ("Avail FLUSH"))
  322.             )
  323.         )
  324.     )
  325. )
  326.  
  327. (complete 75)
  328.  
  329. ; Installing System Fonts
  330. (if (IN install_options 3)
  331.     (
  332.         ; Get Disk 1
  333.         (askdisk
  334.             (prompt    (#ask_disk_prompt #install_disk_1))
  335.             (help        (#ask_disk1_help #install_disk_1))
  336.             (dest        #install_disk_1)
  337.         )
  338.  
  339.         ; Installing FWFonts
  340.         (if (IN install_options 3)
  341.             (
  342.                 ; If FWFonts doesn't exist, create it.
  343.                 (if (NOT (exists (tackon FW_dest "FWFonts")))
  344.                     (
  345.                     (makedir (tackon FW_dest "FWFonts") (infos))
  346.                     )
  347.                 )
  348.  
  349.                 ; Make installer cd into FWFonts when it executes the run statement
  350.                 (set @execute-dir (tackon FW_dest "FWFonts"))
  351.  
  352.                 (working (#install_sysfonts #install_disk_1))
  353.                 (set error
  354.                     (run
  355.                         ("\"%s\" -f x \"Disk 1:FWFonts.lha\" >NIL:" DeArcher)
  356.                     )
  357.                 )
  358.  
  359.                 ; Abort if any errors
  360.                 (if error
  361.                     (abort #install_sysfonts_err)
  362.                 )
  363.             )
  364.         )
  365.     )
  366. )
  367.  
  368. ; Installing Sample Documents
  369. (if (IN install_options 4)
  370.     (
  371.         ; Get Disk 1
  372.         (askdisk
  373.             (prompt    (#ask_disk_prompt #install_disk_1))
  374.             (help        (#ask_disk1_help #install_disk_1))
  375.             (dest        #install_disk_1)
  376.         )
  377.  
  378.         ; Installing FWDocs
  379.         (if (IN install_options 4)
  380.             (
  381.                 ; If FWDocs doesn't exist, create it.
  382.                 (if (NOT (exists (tackon FW_dest "FWDocs")))
  383.                     (
  384.                     (makedir (tackon FW_dest "FWDocs") (infos))
  385.                     )
  386.                 )
  387.  
  388.                 ; Make installer cd into FWDocs when it executes the run statement
  389.                 (set @execute-dir (tackon FW_dest "FWDocs"))
  390.  
  391.                 (working (#install_sampledocs #install_disk_1))
  392.                 (set error
  393.                     (run
  394.                         ("\"%s\" -f x \"Disk 1:FWDocs.lha\" >NIL:" DeArcher)
  395.                     )
  396.                 )
  397.  
  398.                 ; Abort if any errors
  399.                 (if error
  400.                     (abort #install_sampledocs_err)
  401.                 )
  402.             )
  403.         )
  404.     )
  405. )
  406.  
  407. ; If FWClipArt doesn't exist, create it.
  408. (if (NOT (exists (tackon FW_dest "FWClipArt")))
  409.     (
  410.     (makedir (tackon FW_dest "FWClipArt") (infos))
  411.     )
  412. )
  413.  
  414. ; If FWTextClips doesn't exist, create it.
  415. (if (NOT (exists (tackon FW_dest "FWTextClips")))
  416.     (
  417.     (makedir (tackon FW_dest "FWTextClips") (infos))
  418.     )
  419. )
  420.  
  421. (delete DeArcher)
  422.  
  423. (complete 100)
  424.  
  425. (exit)
  426.  
  427.