home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / varia / toolmanager / install / install_toolmanager < prev   
Text File  |  1977-12-31  |  23KB  |  581 lines

  1. ;
  2. ; Install_ToolManager V3.0
  3. ;
  4. ; ToolManager Installer script
  5. ;
  6. ; Copyright (C) 1990-97 Stefan Becker
  7. ;
  8. ; This source code is for educational purposes only. You may study it
  9. ; and copy ideas or algorithms from it for your own projects. It is
  10. ; not allowed to use any of the source codes (in full or in parts)
  11. ; in other programs. Especially it is not allowed to create variants
  12. ; of ToolManager or ToolManager-like programs from this source code.
  13. ;
  14. ;-----------------------------------------------------------------------------
  15. ;
  16. ; User-defined procedures
  17. ;
  18. ;-----------------------------------------------------------------------------
  19. ;
  20. ; Cleanup routine
  21. (procedure P_Cleanup
  22.   (
  23.     (delete "ENV:TM_locale_#?" (safe))
  24.     (delete "ENV:TM_language#?" (safe))
  25.   )
  26. )
  27. ;-----------------------------------------------------------------------------
  28. ;
  29. ; Get localized text
  30. ;
  31. ; Inputs: variable (string)  Environment variable
  32. ;         default  (string)  Default english text
  33. ;
  34. (procedure P_GetText #arg_GT_variable #arg_GT_default
  35.   (
  36.     (set #local_GT_var (cat "TM_locale_" #arg_GT_variable))
  37.     (if (exists (cat "ENV:" #local_GT_var))
  38.       (getenv #local_GT_var)
  39.       (cat #arg_GT_default)
  40.     )
  41.   )
  42. )
  43. ;
  44. ;-----------------------------------------------------------------------------
  45. ;
  46. ; Initialize installer texts
  47. ;
  48. (procedure P_InitLocale
  49.   (
  50.     ; Set english default texts first
  51.     (set #text_welcome           (cat "\n"
  52.                                       "Welcome to ToolManager 3.0\n\n"
  53.                                       "This installation routine will install the ToolManager on your system.\n\n"
  54.                                       "ToolManager 2.x installations will be updated for the new version.\n\n"
  55.                                       "For new users there is also a small demo at the end of the installation.\n\n"
  56.                                       "You have choosen english as your default language."
  57.                                  ))
  58.     (set #text_old_toolmanager   "Do you have ToolManager running?\n\nIf the starter for the old ToolManager is not installed in SYS:WBStartup then stop ToolManager now and answer with 'No'.")
  59.     (set #help_old_toolmanager   (cat "Answer yes if ToolManager is currently running on your system. "
  60.                                       "ToolManager must not be running during the installation! "
  61.                                       "It will be automatically stopped if you answer with yes."
  62.                                  ))
  63.     (set #text_stop_old          "Stopping old ToolManager...")
  64.     (set #text_install_library   "Install toolmanager.library")
  65.     (set #help_install_library   "The library is the most important part of ToolManager. It has to be installed in order to use ToolManager.")
  66.     (set #text_install_prefs     "Install the preferences editor")
  67.     (set #help_install_prefs     "The preferences editor allows you to configure ToolManager.\n\nNOTE: MUI 3.6 (or better) is required to run the preferences editor!")
  68.     (set #text_install_starter   "Install the ToolManager starter")
  69.     (set #help_install_starter   "If the starter is installed in SYS:WBStartup then ToolManager will be started automatically during the startup of your system.")
  70.     (set #text_install           "Install ")
  71.     (set #text_ask_languages     "Install languages?")
  72.     (set #help_ask_languages     "Choose yes if you want to install the translations for the ToolManager texts.")
  73.     (set #text_install_languages "Install languages")
  74.     (set #help_install_languages "Choose the languages which you want to install.")
  75.     (set #help_install_langdir   "Choose the directory where the language catalogs are located on your system. Each language has a subdirectory in this directory.")
  76.     (set #text_ask_guides        "Install AmigaGuide documentation?")
  77.     (set #help_ask_guides        "Choose yes if you want to install the ToolManager documentation in AmigaGuide format.")
  78.     (set #text_install_guides    "Install AmigaGuide documentation")
  79.     (set #help_install_guides    "Choose the languages for which you want to install the AmigaGuide documentation.")
  80.     (set #help_install_guidedir  "Choose the directory where the AmigaGuide documentations are located on your system. Each language has a subdirectory in this directory.")
  81.     (set #text_read_guides       "Do you want to read the documentation now?")
  82.     (set #help_read_guides       "Choose yes to read the documentation in AmigaGuide format in your preferred language.")
  83.     (set #text_reading_guides    "Reading documentation...")
  84.     (set #text_ask_extras        "Install additional packages?")
  85.     (set #help_ask_extras        "These additional packages are required by ToolManager. You may skip these part if the files are already installed on your system.")
  86.     (set #text_extras_stefanb    "Install dospath.library and wbstart.library")
  87.     (set #help_extras_stefanb    "Installs libraries from the DOSPath and WBStart packages.\n\nCopyright (C) Stefan Becker")
  88.     (set #text_extras_kmel       "Install Pop* MUI custom classes")
  89.     (set #help_extras_kmel       "Installs additional MUI custom classes.\n\nCopyright (C) Klaus Melchior")
  90.     (set #text_convert           "Convert old configuration?")
  91.     (set #help_convert           "The configuration file format has changed for ToolManager 3.0. A program will convert your old configuration to the new format.")
  92.     (set #text_converting        "Converting configuration...")
  93.     (set #text_disclaimer        "Showing disclaimer...")
  94.     (set #text_start_new         "Start new ToolManager?")
  95.     (set #help_start_new         "Choose yes if you want to try the new ToolManager now.")
  96.     (set #text_starting_new      "Starting new ToolManager...")
  97.     (set #text_start_demo        "Start ToolManager demonstration?")
  98.     (set #help_start_demo        "Choose yes if you want to try the ToolManager demo now.")
  99.     (set #text_starting_demo     "Starting ToolManager demo...")
  100.     (set #text_stop_demo         "Stop ToolManager demo...")
  101.     (set #text_complete          "\n\nToolManager 3.0 is now installed on your system.\n\nHave fun!")
  102.     (set #text_installer         "Installer 43.3 or better required!")
  103.  
  104.     ; Localize texts If selected language is not "english"
  105.     (if (<> @language "english")
  106.       (
  107.         ; Copy locale texts to environment variables
  108.         (execute @language (safe))
  109.  
  110.         ; Get texts
  111.         (set #text_welcome           (P_GetText "text_welcome"           #text_welcome))
  112.         (set #text_old_toolmanager   (P_GetText "text_old_toolmanager"   #text_old_toolmanager))
  113.         (set #help_old_toolmanager   (P_GetText "help_old_toolmanager"   #help_old_toolmanager))
  114.         (set #text_stop_old          (P_GetText "text_stop_old"          #text_stop_old))
  115.         (set #text_install_library   (P_GetText "text_install_library"   #text_install_library))
  116.         (set #help_install_library   (P_GetText "help_install_library"   #help_install_library))
  117.         (set #text_install_prefs     (P_GetText "text_install_prefs"     #text_install_prefs))
  118.         (set #help_install_prefs     (P_GetText "help_install_prefs"     #help_install_prefs))
  119.         (set #text_install_starter   (P_GetText "text_install_starter"   #text_install_starter))
  120.         (set #help_install_starter   (P_GetText "help_install_starter"   #help_install_starter))
  121.         (set #text_install           (P_GetText "text_install"           #text_install))
  122.         (set #text_ask_languages     (P_GetText "text_ask_languages"     #text_ask_languages))
  123.         (set #help_ask_languages     (P_GetText "help_ask_languages"     #help_ask_languages))
  124.         (set #text_install_languages (P_GetText "text_install_languages" #text_install_languages))
  125.         (set #help_install_languages (P_GetText "help_install_languages" #help_install_languages))
  126.         (set #help_install_langdir   (P_GetText "help_install_langdir"   #help_install_langdir))
  127.         (set #text_ask_guides        (P_GetText "text_ask_guides"        #text_ask_guides))
  128.         (set #help_ask_guides        (P_GetText "help_ask_guides"        #help_ask_guides))
  129.         (set #text_install_guides    (P_GetText "text_install_guides"    #text_install_guides))
  130.         (set #help_install_guides    (P_GetText "help_install_guides"    #help_install_guides))
  131.         (set #help_install_guidedir  (P_GetText "help_install_guidedir"  #help_install_guidedir))
  132.         (set #text_read_guides       (P_GetText "text_read_guides"       #text_read_guides))
  133.         (set #help_read_guides       (P_GetText "help_read_guides"       #help_read_guides))
  134.         (set #text_reading_guides    (P_GetText "text_reading_guides"    #text_reading_guides))
  135.         (set #text_ask_extras        (P_GetText "text_ask_extras"        #text_ask_extrass))
  136.         (set #help_ask_extras        (P_GetText "help_ask_extras"        #help_ask_extrass))
  137.         (set #text_extras_stefanb    (P_GetText "text_extras_stefanb"    #text_extras_stefanb))
  138.         (set #help_extras_stefanb    (P_GetText "help_extras_stefanb"    #help_extras_stefanb))
  139.         (set #text_extras_kmel       (P_GetText "text_extras_kmel"       #text_extras_kmel))
  140.         (set #help_extras_kmel       (P_GetText "help_extras_kmel"       #help_extras_kmel))
  141.         (set #text_convert           (P_GetText "text_convert"           #text_convert))
  142.         (set #help_convert           (P_GetText "help_convert"           #help_convert))
  143.         (set #text_converting        (P_GetText "text_converting"        #text_converting))
  144.         (set #text_disclaimer        (P_GetText "text_disclaimer"        #text_disclaimer))
  145.         (set #text_start_new         (P_GetText "text_start_new"         #text_start_new))
  146.         (set #help_start_new         (P_GetText "help_start_new"         #help_start_new))
  147.         (set #text_starting_new      (P_GetText "text_starting_new"      #text_starting_new))
  148.         (set #text_start_demo        (P_GetText "text_start_demo"        #text_start_demo))
  149.         (set #help_start_demo        (P_GetText "help_start_demo"        #help_start_demo))
  150.         (set #text_starting_demo     (P_GetText "text_starting_demo"     #text_starting_demo))
  151.         (set #text_stop_demo         (P_GetText "text_stop_demo"         #text_stop_demo))
  152.         (set #text_complete          (P_GetText "text_complete"          #text_complete))
  153.         (set #text_installer         (P_GetText "text_installer"         #text_installer))
  154.  
  155.         ; Delete environment variables
  156.         (delete "ENV:TM_locale_#?" (safe))
  157.       )
  158.     )
  159.   )
  160. )
  161. ;-----------------------------------------------------------------------------
  162. ;
  163. ; Install language dependent files
  164. ;
  165. ; Inputs: src  (string)   Source path
  166. ;         dest (string)   Destination path
  167. ;         lang (string)   language
  168. ;         type (integer)  type (0 language, 1 guides)
  169. ;
  170. (procedure P_InstallLanguage #arg_IL_src #arg_IL_dest #arg_IL_lang #arg_IL_type
  171.   (
  172.     (set #local_IL_source      (tackon #arg_IL_src  #arg_IL_lang))
  173.     (set #local_IL_destination (tackon #arg_IL_dest #arg_IL_lang))
  174.  
  175.     (debug "Source" #local_IL_source "Dest" #local_IL_destination)
  176.  
  177.     (if (= #arg_IL_type 0)
  178.       (
  179.         ; Install catalogs
  180.         (copylib
  181.           (prompt   (cat #text_install "toolmanager.catalog"))
  182.           (help     #help_install_languages)
  183.           (source   (tackon #local_IL_source "toolmanager.catalog"))
  184.           (dest     #local_IL_destination)
  185.           (optional force askuser)
  186.           (confirm)
  187.         )
  188.         (copylib
  189.           (prompt   (cat #text_install "toolmanagerprefs.catalog"))
  190.           (help     #help_install_languages)
  191.           (source   (tackon #local_IL_source "toolmanagerprefs.catalog"))
  192.           (dest     #local_IL_destination)
  193.           (optional force askuser)
  194.           (confirm)
  195.         )
  196.       )
  197.       (
  198.         ; Install AmigaGuide document
  199.         (copyfiles
  200.           (prompt   (cat #text_install "ToolManager.guide"))
  201.           (help     #help_install_guides)
  202.           (source   (tackon #local_IL_source "ToolManager.guide"))
  203.           (dest     #local_IL_destination)
  204.           (files)
  205.           (optional force askuser)
  206.           (confirm)
  207.         )
  208.       )
  209.     )
  210.   )
  211. )
  212. ;-----------------------------------------------------------------------------
  213. ;
  214. ; Dynamically create an options menu for languages
  215. ;
  216. ; Inputs: path    (string)   Path to scan for language directories
  217. ;         dest    (string)   Destination path
  218. ;         type    (integer)  Type of installation
  219. ;         prompt  (string)   Prompt text
  220. ;         help    (string)   Help text
  221. ;         helpdir (string)   Help text for directory selection
  222. ;
  223. (procedure P_LanguageChoices #arg_LC_path #arg_LC_dest #arg_LC_type #arg_LC_prompt #arg_LC_help #arg_LC_helpdir
  224.   (
  225.     ; Make sure the destination directory is OK for the user
  226.     (set #arg_LC_dest
  227.       (askdir
  228.         (prompt  #arg_LC_prompt)
  229.         (help    #arg_LC_helpdir)
  230.         (default #arg_LC_dest)
  231.       )
  232.     )
  233.  
  234.     ; We have to use environment variables, because "symbolvar" doesn't work
  235.     (set #local_LC_envname   "ENV:TM_language%ld")
  236.  
  237.     ; Scan for all language directories in the specified path
  238.     (set #local_LC_default   -1)
  239.     (set #local_LC_languages 0)
  240.     (foreach #arg_LC_path "~(#?.info)"
  241.       (
  242.         ; Create environment variable which contains the language name
  243.         (textfile
  244.           (dest (#local_LC_envname #local_LC_languages))
  245.           (append @each-name)
  246.           (safe)
  247.         )
  248.  
  249.         ; Store the index of the default language
  250.         (if (= @each-name @language) (set #local_LC_default #local_LC_languages))
  251.  
  252.         ; Next language
  253.         (set #local_LC_languages (+ #local_LC_languages 1))
  254.       )
  255.     )
  256.     (debug "Number of languages in" #arg_LC_path ":" #local_LC_languages)
  257.  
  258.     ; Round up number of languages to a multiple of 8
  259.     ; Create empty environment variables for padding
  260.     (set #local_LC_choice    #local_LC_languages)
  261.     (set #local_LC_languages (* (/ (+ #local_LC_languages 7) 8) 8))
  262.     (while (< #local_LC_choice #local_LC_languages)
  263.       (
  264.         (textfile
  265.           (dest (#local_LC_envname #local_LC_choice))
  266.           (safe)
  267.         )
  268.         (set #local_LC_choice (+ #local_LC_choice 1))
  269.       )
  270.     )
  271.  
  272.     ; Ask user which languages to install (8 per page)
  273.     (set #local_LC_choice 0)
  274.     (while (< #local_LC_choice #local_LC_languages)
  275.       (
  276.         ; Default language on this page? Set bit mask
  277.         (if (AND (>= #local_LC_default #local_LC_choice)
  278.                  (<  #local_LC_default (+ #local_LC_choice 8)))
  279.           (set #local_LC_mask (shiftleft 1 (- #local_LC_default #local_LC_choice)))
  280.           (set #local_LC_mask 0)
  281.         )
  282.  
  283.         ; Ask user
  284.         (set #local_LC_mask
  285.           (askoptions
  286.             (prompt  #arg_LC_prompt)
  287.             (help    #arg_LC_help)
  288.             (default #local_LC_mask)
  289.             (choices
  290.               (cat "\x1b[2p" (getenv (#local_LC_envname #local_LC_choice)))
  291.               (getenv (#local_LC_envname (+ #local_LC_choice 1)))
  292.               (getenv (#local_LC_envname (+ #local_LC_choice 2)))
  293.               (getenv (#local_LC_envname (+ #local_LC_choice 3)))
  294.               (getenv (#local_LC_envname (+ #local_LC_choice 4)))
  295.               (getenv (#local_LC_envname (+ #local_LC_choice 5)))
  296.               (getenv (#local_LC_envname (+ #local_LC_choice 6)))
  297.               (getenv (#local_LC_envname (+ #local_LC_choice 7)))
  298.             )
  299.           )
  300.         )
  301.  
  302.         ; Next 8 languages
  303.         (set #local_LC_i      #local_LC_choice)
  304.         (set #local_LC_choice (+ #local_LC_choice 8))
  305.  
  306.         ; Call procedure to do the actual copying
  307.         (while (< #local_LC_i #local_LC_choice)
  308.           (
  309.             ; Current language selected?
  310.             (if (IN #local_LC_mask 0)
  311.               (
  312.                 ; Call installation routine with language as parameter
  313.                 (P_InstallLanguage
  314.                   #arg_LC_path
  315.                   #arg_LC_dest
  316.                   (getenv (#local_LC_envname #local_LC_i))
  317.                   #arg_LC_type
  318.                 )
  319.               )
  320.             )
  321.  
  322.             ; Next language
  323.             (set #local_LC_i    (+ #local_LC_i 1))
  324.             (set #local_LC_mask (shiftright #local_LC_mask 1))
  325.           )
  326.         )
  327.       )
  328.     )
  329.  
  330.     ; Delete environment variables again
  331.     (delete "ENV:TM_language#?" (safe))
  332.   )
  333. )
  334. ;-----------------------------------------------------------------------------
  335. ;
  336. ; Main "entry" point
  337. ;
  338. ; Initialize locale
  339. (P_InitLocale)
  340. (onerror (P_Cleanup))
  341.  
  342. ; Check installer version (we need at least 43.3)
  343. (if (>= @installer-version (+ 3 (* 43 65536)))
  344.   (
  345.     ; Our own welcome message first...
  346.     (message #text_welcome (all))
  347.  
  348.     ; Now let the user decide how to perform the installation
  349.     (welcome)
  350.     (complete 0)
  351.  
  352.     ; Remove old ToolManager 2.x
  353.     (if (= 1 (exists "LIBS:toolmanager.library"))
  354.       (
  355.         (if (askbool
  356.               (prompt  #text_old_toolmanager)
  357.               (help    #help_old_toolmanager)
  358.               (default 1)
  359.             )
  360.           (
  361.             (working #text_stop_old)
  362.             (run "SYS:WBStartup/ToolManager")
  363.           )
  364.         )
  365.       )
  366.     )
  367.     ; Make sure that the old library is removed from the memory
  368.     (run "Avail flush")
  369.     (complete 10)
  370.  
  371.     ; Install new library
  372.     (copylib
  373.       (prompt   #text_install_library)
  374.       (help     #help_install_library)
  375.       (source   "/Libs/toolmanager.library")
  376.       (dest     "LIBS:")
  377.       (optional force askuser)
  378.       (confirm)
  379.     )
  380.     (complete 20)
  381.  
  382.     ; Install new preferences editor
  383.     (copyfiles
  384.       (prompt     #text_install_prefs)
  385.       (help       #help_install_prefs)
  386.       (source     "/Prefs/ToolManager")
  387.       (dest       "SYS:Prefs")
  388.       (files)
  389.       (optional   force askuser)
  390.       (confirm)
  391.       (infos)
  392.       (noposition)
  393.     )
  394.     (complete 30)
  395.  
  396.     ; Install new starter
  397.     (copyfiles
  398.       (prompt     #text_install_starter)
  399.       (help       #help_install_starter)
  400.       (source     "/WBStartup/ToolManager")
  401.       (dest       "SYS:WBStartup")
  402.       (files)
  403.       (optional   force askuser)
  404.       (confirm)
  405.       (infos)
  406.       (noposition)
  407.     )
  408.     (complete 40)
  409.  
  410.     ; Install languages
  411.     (if (= 2 (exists "/Locale" (noreq)))
  412.       (
  413.         (if (askbool
  414.               (prompt  #text_ask_languages)
  415.               (help    #help_ask_languages)
  416.               (default 1)
  417.             )
  418.           (
  419.             (P_LanguageChoices
  420.               "/Locale/Catalogs"
  421.               "LOCALE:Catalogs"
  422.               0
  423.               #text_install_languages
  424.               #help_install_languages
  425.               #help_install_langdir
  426.             )
  427.           )
  428.         )
  429.       )
  430.     )
  431.     (complete 50)
  432.  
  433.     ; Install AmigaGuide help files
  434.     (if (askbool
  435.           (prompt  #text_ask_guides)
  436.           (help    #help_ask_guides)
  437.           (default 1)
  438.         )
  439.       (
  440.         (P_LanguageChoices
  441.           "/Help"
  442.           "HELP:"
  443.           1
  444.           #text_install_guides
  445.           #help_install_guides
  446.           #help_install_guidedir
  447.         )
  448.         (if (askbool
  449.               (prompt  #text_read_guides)
  450.               (help    #help_read_guides)
  451.               (default 1)
  452.             )
  453.           (
  454.             (working #text_reading_guides)
  455.             (run (cat "SYS:Utilities/MultiView HELP:" @language "/ToolManager.guide"))
  456.           )
  457.         )
  458.       )
  459.     )
  460.     (complete 55)
  461.  
  462.     ; Install additional packages
  463.     (if (= 1 (exists "/Readme.Extras" (noreq)))
  464.       (
  465.         (if (askbool
  466.               (prompt  #text_ask_extras)
  467.               (help    #help_ask_extras)
  468.               (default 1)
  469.             )
  470.           (
  471.             (copylib
  472.               (prompt   #text_extras_stefanb)
  473.               (help     #help_extras_stefanb)
  474.               (source   "/Libs/dospath.library")
  475.               (dest     "LIBS:")
  476.               (optional force askuser)
  477.               (confirm)
  478.             )
  479.             (copylib
  480.               (prompt   #text_extras_stefanb)
  481.               (help     #help_extras_stefanb)
  482.               (source   "/Libs/wbstart.library")
  483.               (dest     "LIBS:")
  484.               (optional force askuser)
  485.               (confirm)
  486.             )
  487.             (copylib
  488.               (prompt   #text_extras_kmel)
  489.               (help     #help_extras_kmel)
  490.               (source   "/Libs/MUI/Pophotkey.mcc")
  491.               (dest     "MUI:Libs/mui")
  492.               (optional force askuser)
  493.               (confirm)
  494.             )
  495.             (copylib
  496.               (prompt   #text_extras_kmel)
  497.               (help     #help_extras_kmel)
  498.               (source   "/Libs/MUI/Popport.mcc")
  499.               (dest     "MUI:Libs/mui")
  500.               (optional force askuser)
  501.               (confirm)
  502.             )
  503.             (copylib
  504.               (prompt   #text_extras_kmel)
  505.               (help     #help_extras_kmel)
  506.               (source   "/Libs/MUI/Popposition.mcc")
  507.               (dest     "MUI:Libs/mui")
  508.               (optional force askuser)
  509.               (confirm)
  510.             )
  511.           )
  512.         )
  513.       )
  514.     )
  515.     (complete 60)
  516.  
  517.     ; Convert old configuration
  518.     (if (= 1 (exists "ENVARC:ToolManager.prefs"))
  519.       (
  520.         (if (askbool
  521.               (prompt  #text_convert)
  522.               (help    #help_convert)
  523.               (default 1)
  524.             )
  525.           (
  526.             (working #text_converting)
  527.             (run "/Prefs/Converter >CON:0/0/640/100/Converter/CLOSE/WAIT")
  528.             (run "Copy ENVARC:ToolManager.prefs ENV:")
  529.           )
  530.         )
  531.       )
  532.     )
  533.     (complete 70)
  534.  
  535.     ; Show disclaimer
  536.     (working #text_disclaimer)
  537.     (run "SYS:Utilities/Multiview /Disclaimer" (safe))
  538.     (complete 80)
  539.  
  540.     ; Start new ToolManager
  541.     (if (askbool
  542.           (prompt  #text_start_new)
  543.           (help    #help_start_new)
  544.           (default 1)
  545.         )
  546.       (
  547.         (working #text_starting_new)
  548.         (run "SYS:WBStartup/ToolManager")
  549.         (complete 90)
  550.  
  551.         ; Start demo for new users
  552.         (if (= 0 (exists "ENV:ToolManager.prefs"))
  553.           (
  554.             (if (askbool
  555.                   (prompt  #text_start_demo)
  556.                   (help    #help_start_demo)
  557.                   (default 1)
  558.                 )
  559.               (
  560.                 (working #text_starting_demo)
  561.                 (run "Copy /Demo.prefs ENV:ToolManager.prefs")
  562.                 (message #text_stop_demo (all))
  563.                 (run "delete ENV:ToolManager.prefs")
  564.               )
  565.             )
  566.           )
  567.         )
  568.         (complete 95)
  569.       )
  570.     )
  571.  
  572.     ; We made it...
  573.     (complete 100)
  574.     (exit #text_complete (quiet))
  575.   )
  576.   (
  577.     (abort #text_installer)
  578.   )
  579. )
  580. ;-----------------------------------------------------------------------------
  581.