home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / varie / envhex13 / install < prev    next >
Encoding:
Text File  |  1999-12-11  |  8.6 KB  |  330 lines

  1. ; $VER: HEX 1.3 ( 9. Dezember 1999); installer script © Wolfgang Morgeneier
  2.  
  3. (delopts "oknodelete" "force" "askuser")
  4.  
  5. (complete 0)
  6.  
  7. (onerror
  8.  
  9.     (if (> @ioerr 0)
  10.  
  11.         (
  12.             (delete "env:INSTALLOPTIONS")
  13.  
  14.             (message "An error has occurred. Please contact the author.")
  15.         )
  16.     )
  17. )
  18.  
  19. ; initialize return code
  20.  
  21. (textfile (dest "env:COMPONENTINSTALL") (append "INCOMPLETE"))
  22.  
  23. ; initialize strings
  24.  
  25. (if (= @language "deutsch")
  26.  
  27.     (
  28.         (set #hex_uninstalling "Die HEX-Erweiterung wird entfernt ...")
  29.  
  30.         (set #hex_badversion   "Diese Software benötigt GoldED 5 !")
  31.  
  32.         (set #hex_welcome      "Willkommen beim Setup für die HEX-Erweiterung !")
  33.  
  34.         (set #hex_install      "Installieren")
  35.  
  36.         (set #hex_uninstall    "Entfernen")
  37.  
  38.         (set #hex_golded       "Bitte installieren Sie GoldED, bevor Sie diese Installation ausführen !")
  39.  
  40.         (set #hex_language     "Einige Komponenten dieser Erweiterung liegen in verschiedenen Sprachversionen vor. Wählen Sie eine Sprache aus:")
  41.  
  42.         (set #hex_registry     "Registry wird aktualisiert...")
  43.     )
  44.  
  45.     (
  46.         (set #hex_uninstalling "Uninstalling HEX add-on ...")
  47.  
  48.         (set #hex_badversion   "This software requires GoldED 5 !")
  49.  
  50.         (set #hex_welcome      "Welcome to the setup for the HEX add-on !")
  51.  
  52.         (set #hex_install      "Install")
  53.  
  54.         (set #hex_uninstall    "Uninstall")
  55.  
  56.         (set #hex_golded       "Please install GoldED before you install this add-on !")
  57.  
  58.         (set #hex_language     "Some components of this software support multiple languages. Choose a language:")
  59.  
  60.         (set #hex_registry     "Updating registry ...")
  61.     )
  62. )
  63.  
  64. (if (exists "golded:" (NOREQ))
  65.  
  66.     (
  67.         (set vernum (getversion "golded:golded"))
  68.  
  69.         (set ver (/ vernum 65536))
  70.         (set rev (- vernum (* ver 65536)))
  71.  
  72.         (set version (+ (* 10 ver) rev))
  73.  
  74.         (if (< version 50)
  75.  
  76.             (
  77.                 (message #hex_badversion)
  78.             )
  79.         )
  80.  
  81.         ; read command passed in to our script in the env variable INSTALLOPTIONS
  82.  
  83.         (if (exists "env:INSTALLOPTIONS" (noreq))
  84.  
  85.             ; (getenv) may not be used without checking if var exists (installer bug)
  86.  
  87.             (
  88.                 (set hex_installmode (getenv "INSTALLOPTIONS"))
  89.  
  90.                 (if (= hex_installmode "UNINSTALL")
  91.  
  92.                     (working #hex_uninstalling)
  93.  
  94.                     (message #hex_welcome)
  95.                 )
  96.             )
  97.  
  98.             (set hex_installmode "ASK")
  99.         )
  100.  
  101.         (if (= hex_installmode "ASK")
  102.  
  103.             (if
  104.  
  105.                 (askbool
  106.  
  107.                     (prompt #hex_welcome)
  108.  
  109.                     (choices
  110.  
  111.                         #hex_install
  112.                         #hex_uninstall
  113.                     )
  114.  
  115.                     (help @askbool_help)
  116.                 )
  117.  
  118.                 (set hex_installmode "INSTALL")
  119.  
  120.                 (set hex_installmode "UNINSTALL")
  121.             )
  122.         )
  123.  
  124.         (delete "env:INSTALLOPTIONS")
  125.  
  126.         ; verify directory structure
  127.  
  128.         (makedir "golded:etc")
  129.  
  130.         (makedir "golded:etc/api")
  131.  
  132.         (makedir "golded:etc/syntax")
  133.  
  134.         (makedir "golded:etc/images")
  135.  
  136.         (makedir "golded:etc/images/toolbar")
  137.  
  138.         (makedir "golded:add-ons")
  139.  
  140.         (makedir "golded:etc/uninstall")
  141.  
  142.         ; install registry editor (if not yet installed)
  143.  
  144.         (if (exists "golded:add-ons/regedit")
  145.  
  146.             (
  147.                 (set oldver (getversion "golded:add-ons/regedit/regedit"))
  148.  
  149.                 (set newver (getversion "regedit/regedit"))
  150.  
  151.                 (if (> newver oldver)
  152.  
  153.                     (copyfiles
  154.  
  155.                         (source "regedit")
  156.  
  157.                         (dest "golded:add-ons/regedit")
  158.  
  159.                         (all)
  160.  
  161.                         (nogauge)
  162.                     )
  163.                 )
  164.             )
  165.  
  166.             (copyfiles
  167.  
  168.                 (source "regedit")
  169.  
  170.                 (dest "golded:add-ons/regedit")
  171.  
  172.                 (all)
  173.  
  174.                 (nogauge)
  175.             )
  176.         )
  177.  
  178.         (if (= hex_installmode "UNINSTALL")
  179.  
  180.             ; uninstall
  181.  
  182.             (
  183.                 ; update registry
  184.  
  185.                 (working #hex_registry)
  186.  
  187.                 (if (exists ("golded:etc/uninstall/envHEX13.bat"))
  188.  
  189.                     (
  190.                         (run "golded:add-ons/regedit/regedit script=golded:etc/uninstall/envHEX13.bat label=uninstall")
  191.  
  192.                         (delete "golded:etc/uninstall/envHEX13.bat")
  193.                     )
  194.  
  195.                     (run "golded:add-ons/regedit/regedit script=install.bat label=uninstall")
  196.                 )
  197.  
  198.                 (exit (quiet))
  199.             )
  200.  
  201.             ; install
  202.  
  203.             (
  204.                 (if (= hex_installmode "ASK")
  205.  
  206.                     (welcome)
  207.                 )
  208.  
  209.                 ; install basic files
  210.  
  211.                 (if (= @language "deutsch")
  212.  
  213.                     (set hex_language 1)
  214.                     (set hex_language 0)
  215.                 )
  216.  
  217.                 (set hex_language
  218.  
  219.                     (askchoice
  220.  
  221.                         (prompt #hex_language)
  222.  
  223.                         (choices
  224.  
  225.                             "English"
  226.                             "Deutsch"
  227.                         )
  228.  
  229.                         (default hex_language)
  230.  
  231.                         (help @askchoice-help)
  232.                     )
  233.                 )
  234.  
  235.                 (if (= hex_language 0)
  236.  
  237.                     (set hex_language "english")
  238.                 )
  239.  
  240.                 (if (= hex_language 1)
  241.  
  242.                     (set hex_language "german")
  243.                 )
  244.                 (makedir "golded:add-ons/hex")
  245.                 (makedir "golded:add-ons/hex/rexx")
  246.                 (makedir "golded:add-ons/hex/syntax")
  247.                 (makedir "golded:add-ons/hex/api")
  248.                 (makedir "golded:etc/images/toolbar/hex")
  249.  
  250.                 (if (= hex_language "english")
  251.  
  252.                     (
  253.                        (copyfiles (source "english/bin") (dest "golded:add-ons/hex") (all) )
  254.                        (copyfiles (source "english/guide") (dest "golded:add-ons/hex") (all) )
  255.                        (copyfiles (source "english/images") (dest "golded:etc/images/toolbar/hex") (all) )
  256.  
  257.                        (if (< version 62)
  258.                            (
  259.                               (copyfiles (source "english/syntax/hex.parser_old") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
  260.                            )
  261.                            (
  262.                               (copyfiles (source "english/syntax/hex.parser_new") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
  263.                            )
  264.                        )
  265.  
  266.                        (copyfiles (source "english/rexx") (dest "golded:add-ons/hex/rexx") (all) )
  267.                        (copyfiles (source "english/api") (dest "golded:add-ons/hex/api") (all) )
  268.                     )
  269.                 )
  270.  
  271.                 (if (= hex_language "german")
  272.  
  273.                     (
  274.                        (copyfiles (source "german/bin") (dest "golded:add-ons/hex") (all) )
  275.                        (copyfiles (source "german/guide") (dest "golded:add-ons/hex") (all) )
  276.                        (copyfiles (source "german/images") (dest "golded:etc/images/toolbar/hex") (all) )
  277.  
  278.                        (if (< version 62)
  279.                            (
  280.                               (copyfiles (source "german/syntax/hex.parser_alt") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
  281.                            )
  282.                            (
  283.                               (copyfiles (source "german/syntax/hex.parser_neu") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
  284.                            )
  285.                        )
  286.  
  287.                        (copyfiles (source "german/rexx") (dest "golded:add-ons/hex/rexx") (all) )
  288.                        (copyfiles (source "german/api") (dest "golded:add-ons/hex/api") (all) )
  289.                     )
  290.                 )
  291.  
  292.                 ; update registry
  293.  
  294.                 (working #hex_registry)
  295.  
  296.                 (run (cat "golded:add-ons/regedit/regedit script=install.bat ARGS " hex_language))
  297.  
  298.                 ; prepare uninstallation
  299.  
  300.                 (copyfiles
  301.  
  302.                    (source "install.bat")
  303.  
  304.                    (dest "golded:etc/uninstall")
  305.  
  306.                    (newname "envHEX13.bat")
  307.                 )
  308.  
  309.                 ; installation completed
  310.  
  311.                 (textfile (dest "env:COMPONENTINSTALL") (append "OK"))
  312.  
  313.                 (complete 100)
  314.  
  315.                 (set @default-dest "golded:add-ons/hex")
  316.  
  317.                 (if (= hex_installmode "INSTALL")
  318.  
  319.                     (exit)
  320.                     (exit (quiet))
  321.                 )
  322.             )
  323.         )
  324.     )
  325.  
  326.     (message #hex_golded)
  327. )
  328.  
  329. (exit (quiet))
  330.