RetroNinja
Active member
Hey,
I was installing an Ariadne network card and some things were failing. Here's the install script from the v1.4 install disks. This is more of a FYI/interest/example thing.
my issues were
Some other notes
I've got too many projects but it would be kinda cool to...
Rando questions
I was installing an Ariadne network card and some things were failing. Here's the install script from the v1.4 install disks. This is more of a FYI/interest/example thing.
my issues were
- if I chose a sub-folder most of the install would appear to work/finish but didn't, no errors were generated on screen, the app would not install but some Docs would; the fix was to install at the root of a drive; consider this if you are building a script
- if I chose 'Pretend to Install' it would bomb out with T: being un-accessible; this is a temporary holding spot in RAM: ; consider this if you are building a script
Some other notes
- Genesis installs a limited function AmiTCP stack version, it does not support PPP/dialup configurations, just LAN configurations
- there is a genesiskey.library file that gets installed; I think this is a key/serial file for AmiTCP
I've got too many projects but it would be kinda cool to...
- combines both disk into a single .LHA file
- rebuild the install script
- set things to do everything in RAM: - mainly rename FDD disk paths (?)
- add verbiage about install location limitation(s) or fix the limitation
- when it runs, pop open a window that shows each line running with results being color coded
Rando questions
- does a gotek support HD by default? could the single file be a 1.5MB(ish) ADF file?
- is the scripting language just for the Installer app?, is it ARexx?
Code:
; $VER: Genesis Installer v1.2 disk (24-Mar-99)
;
; Copyright © 1998-99 Active Technologies
; http://www.active-net.co.uk
;
; Install script by Michael Neuweiler <dolphin@unizh.ch>
;
; Piracy and unlawful duplication of this package may result in
; criminal prosecution to the full extent of UK and European law.
(set @app-name "Genesis VT Edition")
(set #error-msg "An unexpected error has occured. Installation aborted.")
(message "\n"
"Welcome to the " @app-name " installer.\n"
"\n"
"\n"
"© Active Technologies 1998-99\n"
"\n"
"http://www.active-net.co.uk\n"
"\n"
"\n"
"\n"
"Piracy and unlawful duplication of this package may result in "
"criminal prosecution to the full extent of UK and European law."
)
; Disk related strings
(set #install-disk1 "GENESiS_Disk_1:")
(set #install-disk2 "GENESiS_Disk_2:")
(set #unlha-file "ram:LhA")
(set #dist-devs-file (tackon #install-disk1 "Devs.lha"))
(set #dist-docs1-file (tackon #install-disk1 "Docs1.lha"))
(set #dist-libs-file (tackon #install-disk1 "Libs.lha"))
(set #dist-mcc-file (tackon #install-disk1 "MUI.lha"))
(set #dist-genesis-file (tackon #install-disk2 "GENESiS.lha"))
(set #dist-docs2-file (tackon #install-disk1 "Docs2.lha"))
; Main component names & def pattern
(set #genesis-name "Genesis VT Edition v1.0.5")
(set #docs-name "Documentation")
(set #sana2-name "Ariadne-II Network Driver v43.12")
(set #mcc-name "MUI Custom Classes")
(set #install-choice 15)
; main GENESiS dirs
(set #source-dir "NETCD2:")
(set #docs-dir "GENESiS/Docs")
(set #libs-dir "Libs")
(set #devs-net-dir "Devs/Networks")
; name for assign
(set #genesis-dir "Genesis/")
(set #amitcp-dir "AmiTCP")
(set #amitcp-assign "AmiTCP:")
(welcome)
(onerror
(if #old-amitcp-dir
(makeassign #amitcp-dir #old-amitcp-dir))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure check-system-version
(transcript "checking system version")
(if (< (/ (getversion) 65536) 39)
(exit "\n\n" @app-name " requires Kickstart version 3.0 or above.\n\n\n"
"Installation aborted.\n\n"
(quiet)
)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure check-old-assign
(transcript "Checking for already installed AmiTCP.")
(set #old-amitcp-dir
(if (exists #amitcp-assign (noreq))
(getassign #amitcp-dir)
"")
)
(if #old-amitcp-dir
(transcript "Existing AmiTCP detected at directory " #old-amitcp-dir "."))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure check-cpu-type
(set cpu-type (database "cpu"))
(set cpu-is-020-or-better
(AND (<> cpu-type "68000")
(<> cpu-type "68010")))
(set cpu-extension (substr cpu-type 2))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; arguments:
;;
;; unlha-source - the source archive
;; unlha-destination - the destination directory
;; unlha-title-name - descriptive name of the archive
(procedure run-unlha
(if (exists unlha-source)
((transcript "Dearchiving " unlha-source " files to " unlha-destination ".")
(working "Writing files to " unlha-destination "...")
(if (= @pretend 0)
((if (run (cat #unlha-file " x \"" unlha-source "\" \"" unlha-destination "\" >\"CON:9/9/600/100/Lha Output./INACTIVE/AUTO\" "))
(abort " Lha could not dearchive the " unlha-source ". "
"This may be due to:\n"
" * Not enough disk space\n"
" * Not enough memory\n"
" * Corrupted archive\n"
" * Corrupted UnPkt\n"))))
1)
((transcript unlha-source " could not be located, and is NOT installed!")
(message "\nWARNING\n\nCould not locate the " unlha-source " archive.\n")
0)
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure ask-install
(set #install-choice
(askoptions
(prompt "Please select which parts of the " @app-name " package you wish to install.")
(help "There are several parts to the " @app-name " package, some of which you may or may not wish to install. "
"Many of the parts are unique to this release, so if you have not installed any of these already you should select them all.")
(choices (cat #genesis-name " (TCP/IP stack)")
(cat #docs-name " (HTML docs)")
(cat #sana2-name " (required for the Ariadne-II)")
(cat #mcc-name " (required)")
)
(default #install-choice)
)
)
(if (= 0 #install-choice)
(exit "\n\n\n\nNo " @app-name " components have been selected.\n"
"Installation aborted.\n" (quiet))
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure ask-dst-dir
(if (exists "Internet:" (noreq))
(set @default-dest "Internet:")
(if (exists "Work:" (noreq))
(set @default-dest "Work:")
(set @default-dest "SYS:")
)
)
(set @default-dest
(askdir
(prompt "Please select where you would like " @app-name " installed. "
"A drawer called '" #genesis-dir "' will be created there.")
(help "Select where you would like " @app-name " installed."
"The installer will then create a drawer called '" #genesis-dir "', "
"and copy the programs and documentation into it.")
(default @default-dest)
(newpath)
)
)
(if (NOT (= 2 (exists (tackon @default-dest #genesis-dir))))
(makedir (tackon @default-dest #genesis-dir)))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; arguments:
;;
;; uus::commands - commands to add
;; uus::section - section name
;;
(procedure update-user-startup
(set uus::complete (cat ";BEGIN " uus::section "\n"
uus::commands
";END " uus::section "\n"))
(set startup-changed 1)
(startup
uus::section
(command uus::commands)
(prompt "Installer will modify your S:User-Startup file. "
"Following lines will be appended to it:\n\n"
uus::complete)
(help " Installer needs to make indicated modifications to your user startup file.\n"
" You should make modifications later by hand if you skip this part.")
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-genesis
(transcript "installing GENESiS")
(set
unlha-source #dist-genesis-file
unlha-destination @default-dest
unlha-title-name "GENESiS"
)
(run-unlha)
(set uus::commands (cat "Assign " #amitcp-assign " \"" (expandpath (tackon @default-dest #genesis-dir)) "\"\n"
"path " (tackon #amitcp-assign "bin") " add\n"
"Assign APIPE: Exists > NIL:\n"
"IF Warn\n"
" Mount APIPE: from " (tackon #amitcp-assign "devs/APipe-Mountlist") "\n"
"EndIf\n"))
(set uus::section "AmiTCP/IP")
(update-user-startup)
(makeassign #amitcp-dir (expandpath (tackon @default-dest #genesis-dir)))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-devs
(transcript "installing SanaII drivers")
(if (NOT (exists "DEVS:Networks"))
(makedir "DEVS:Networks")
)
(set
unlha-source #dist-devs-file
unlha-destination "T:"
unlha-title-name "Sana II Network Drivers"
)
(run-unlha)
(working "Checking Sana-II device drivers...")
(if (= 2 (exists "T:Devs/Networks"))
(copylib
(prompt "Copying ariadne_ii.device to:\n\nDEVS:Networks")
(help @copylib-help)
(source (tackon "T:Devs/Networks" "ariadne_ii.device"))
(dest "DEVS:Networks")
(optional "force")
(confirm)
)
(message "No Sana-II drivers found on the installation disk")
)
(run "C:Delete T:Devs ALL QUIET")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-libs
(transcript "installing libraries")
(set
unlha-source #dist-libs-file
unlha-destination "T:"
unlha-title-name "Libraries"
)
(run-unlha)
(working "Checking libraries...")
(foreach (tackon "T:" #libs-dir) "#?"
(
(copylib
(prompt "Installing " @each-name)
(help @copylib-help)
(source (tackon (tackon "T:" #libs-dir) @each-name))
(dest "Libs:")
(confirm)
)
))
(run "C:Delete T:Libs ALL QUIET")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-mcc
(transcript "installing MUI custom classes")
(set
unlha-source #dist-mcc-file
unlha-destination "T:"
unlha-title-name "MCC's"
)
(run-unlha)
(working "Checking MUI custom classes...")
(if (= 2 (exists "MUI:Libs/MUI/" (noreq)))
(
(transcript "found existing MUI:libs/MUI dir")
(foreach "T:MUI/Libs/MUI" "#?"
(
(copylib
(prompt "Installing " @each-name)
(confirm)
(help @copylib-help)
(source (tackon "T:MUI/Libs/MUI" @each-name))
(dest "MUI:libs/mui/")
(optional "askuser" "force")
)
))
))
(run "C:Delete T:MUI ALL QUIET")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(procedure install-docs
(transcript "installing docs")
(set
unlha-source #dist-docs1-file
unlha-destination (tackon @default-dest #genesis-dir)
unlha-title-name "GENESiS Documentation, Part 1"
)
(run-unlha)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Installatation sequence
;;;
;;;
(complete 00) (transcript "On making " app-name ".")
(complete 01) (check-system-version)
(complete 02) (check-old-assign)
(complete 04) (check-cpu-type)
(copyfiles
(prompt "Copy some files to ram:")
(help @copyfiles-help)
(source #install-disk1)
(choices "LhA")
(dest "ram:")
(optional "nofail")
)
(complete 05) (ask-install)
(complete 10) (ask-dst-dir)
(complete 15) (if (IN #install-choice 02) (install-devs))
(complete 20) (if (IN #install-choice 00) (install-libs))
(complete 25) (if (IN #install-choice 03) (install-mcc))
(complete 35) (if (IN #install-choice 01) (install-docs))
(complete 50) (if (IN #install-choice 00) (install-genesis))
(complete 90)
(complete 100)
;; EOF
;;