home *** CD-ROM | disk | FTP | other *** search
- ; $VER: HEX 1.3 ( 9. Dezember 1999); installer script © Wolfgang Morgeneier
-
- (delopts "oknodelete" "force" "askuser")
-
- (complete 0)
-
- (onerror
-
- (if (> @ioerr 0)
-
- (
- (delete "env:INSTALLOPTIONS")
-
- (message "An error has occurred. Please contact the author.")
- )
- )
- )
-
- ; initialize return code
-
- (textfile (dest "env:COMPONENTINSTALL") (append "INCOMPLETE"))
-
- ; initialize strings
-
- (if (= @language "deutsch")
-
- (
- (set #hex_uninstalling "Die HEX-Erweiterung wird entfernt ...")
-
- (set #hex_badversion "Diese Software benötigt GoldED 5 !")
-
- (set #hex_welcome "Willkommen beim Setup für die HEX-Erweiterung !")
-
- (set #hex_install "Installieren")
-
- (set #hex_uninstall "Entfernen")
-
- (set #hex_golded "Bitte installieren Sie GoldED, bevor Sie diese Installation ausführen !")
-
- (set #hex_language "Einige Komponenten dieser Erweiterung liegen in verschiedenen Sprachversionen vor. Wählen Sie eine Sprache aus:")
-
- (set #hex_registry "Registry wird aktualisiert...")
- )
-
- (
- (set #hex_uninstalling "Uninstalling HEX add-on ...")
-
- (set #hex_badversion "This software requires GoldED 5 !")
-
- (set #hex_welcome "Welcome to the setup for the HEX add-on !")
-
- (set #hex_install "Install")
-
- (set #hex_uninstall "Uninstall")
-
- (set #hex_golded "Please install GoldED before you install this add-on !")
-
- (set #hex_language "Some components of this software support multiple languages. Choose a language:")
-
- (set #hex_registry "Updating registry ...")
- )
- )
-
- (if (exists "golded:" (NOREQ))
-
- (
- (set vernum (getversion "golded:golded"))
-
- (set ver (/ vernum 65536))
- (set rev (- vernum (* ver 65536)))
-
- (set version (+ (* 10 ver) rev))
-
- (if (< version 50)
-
- (
- (message #hex_badversion)
- )
- )
-
- ; read command passed in to our script in the env variable INSTALLOPTIONS
-
- (if (exists "env:INSTALLOPTIONS" (noreq))
-
- ; (getenv) may not be used without checking if var exists (installer bug)
-
- (
- (set hex_installmode (getenv "INSTALLOPTIONS"))
-
- (if (= hex_installmode "UNINSTALL")
-
- (working #hex_uninstalling)
-
- (message #hex_welcome)
- )
- )
-
- (set hex_installmode "ASK")
- )
-
- (if (= hex_installmode "ASK")
-
- (if
-
- (askbool
-
- (prompt #hex_welcome)
-
- (choices
-
- #hex_install
- #hex_uninstall
- )
-
- (help @askbool_help)
- )
-
- (set hex_installmode "INSTALL")
-
- (set hex_installmode "UNINSTALL")
- )
- )
-
- (delete "env:INSTALLOPTIONS")
-
- ; verify directory structure
-
- (makedir "golded:etc")
-
- (makedir "golded:etc/api")
-
- (makedir "golded:etc/syntax")
-
- (makedir "golded:etc/images")
-
- (makedir "golded:etc/images/toolbar")
-
- (makedir "golded:add-ons")
-
- (makedir "golded:etc/uninstall")
-
- ; install registry editor (if not yet installed)
-
- (if (exists "golded:add-ons/regedit")
-
- (
- (set oldver (getversion "golded:add-ons/regedit/regedit"))
-
- (set newver (getversion "regedit/regedit"))
-
- (if (> newver oldver)
-
- (copyfiles
-
- (source "regedit")
-
- (dest "golded:add-ons/regedit")
-
- (all)
-
- (nogauge)
- )
- )
- )
-
- (copyfiles
-
- (source "regedit")
-
- (dest "golded:add-ons/regedit")
-
- (all)
-
- (nogauge)
- )
- )
-
- (if (= hex_installmode "UNINSTALL")
-
- ; uninstall
-
- (
- ; update registry
-
- (working #hex_registry)
-
- (if (exists ("golded:etc/uninstall/envHEX13.bat"))
-
- (
- (run "golded:add-ons/regedit/regedit script=golded:etc/uninstall/envHEX13.bat label=uninstall")
-
- (delete "golded:etc/uninstall/envHEX13.bat")
- )
-
- (run "golded:add-ons/regedit/regedit script=install.bat label=uninstall")
- )
-
- (exit (quiet))
- )
-
- ; install
-
- (
- (if (= hex_installmode "ASK")
-
- (welcome)
- )
-
- ; install basic files
-
- (if (= @language "deutsch")
-
- (set hex_language 1)
- (set hex_language 0)
- )
-
- (set hex_language
-
- (askchoice
-
- (prompt #hex_language)
-
- (choices
-
- "English"
- "Deutsch"
- )
-
- (default hex_language)
-
- (help @askchoice-help)
- )
- )
-
- (if (= hex_language 0)
-
- (set hex_language "english")
- )
-
- (if (= hex_language 1)
-
- (set hex_language "german")
- )
- (makedir "golded:add-ons/hex")
- (makedir "golded:add-ons/hex/rexx")
- (makedir "golded:add-ons/hex/syntax")
- (makedir "golded:add-ons/hex/api")
- (makedir "golded:etc/images/toolbar/hex")
-
- (if (= hex_language "english")
-
- (
- (copyfiles (source "english/bin") (dest "golded:add-ons/hex") (all) )
- (copyfiles (source "english/guide") (dest "golded:add-ons/hex") (all) )
- (copyfiles (source "english/images") (dest "golded:etc/images/toolbar/hex") (all) )
-
- (if (< version 62)
- (
- (copyfiles (source "english/syntax/hex.parser_old") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
- )
- (
- (copyfiles (source "english/syntax/hex.parser_new") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
- )
- )
-
- (copyfiles (source "english/rexx") (dest "golded:add-ons/hex/rexx") (all) )
- (copyfiles (source "english/api") (dest "golded:add-ons/hex/api") (all) )
- )
- )
-
- (if (= hex_language "german")
-
- (
- (copyfiles (source "german/bin") (dest "golded:add-ons/hex") (all) )
- (copyfiles (source "german/guide") (dest "golded:add-ons/hex") (all) )
- (copyfiles (source "german/images") (dest "golded:etc/images/toolbar/hex") (all) )
-
- (if (< version 62)
- (
- (copyfiles (source "german/syntax/hex.parser_alt") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
- )
- (
- (copyfiles (source "german/syntax/hex.parser_neu") (dest "golded:add-ons/hex/syntax") (newname "hex.parser") )
- )
- )
-
- (copyfiles (source "german/rexx") (dest "golded:add-ons/hex/rexx") (all) )
- (copyfiles (source "german/api") (dest "golded:add-ons/hex/api") (all) )
- )
- )
-
- ; update registry
-
- (working #hex_registry)
-
- (run (cat "golded:add-ons/regedit/regedit script=install.bat ARGS " hex_language))
-
- ; prepare uninstallation
-
- (copyfiles
-
- (source "install.bat")
-
- (dest "golded:etc/uninstall")
-
- (newname "envHEX13.bat")
- )
-
- ; installation completed
-
- (textfile (dest "env:COMPONENTINSTALL") (append "OK"))
-
- (complete 100)
-
- (set @default-dest "golded:add-ons/hex")
-
- (if (= hex_installmode "INSTALL")
-
- (exit)
- (exit (quiet))
- )
- )
- )
- )
-
- (message #hex_golded)
- )
-
- (exit (quiet))
-