;================================================
; $VER: Install InterBase Pro DK V33.1 14.04.93)
;================================================

;------------------
; Reset complete %
;------------------
(complete 0)

;-------------------------
; Set our path variables.
;-------------------------
(set sourcepath  "InterBase:")
(set sourcepath2 "InterBase 2:")
(set @default-dest "SYS:")

;-------------------------------------
; Variables to check for boot-device.
;-------------------------------------
(set sys-space (getdiskspace "SYS:"))
(set appname-space (getdiskspace (cat @app-name ":")))

;============================================================================
; Danish Strings
;============================================================================
(if (= @language "dansk")
(

(set #askdestdir
(cat "I hvilken skuffe ønsker De at installere " @app-name " ?"
))

(set #askdesthelp
(cat "De skal nu vælge hvilken skuffe De ønsker at installere " @app-name " til."
     " En skuffe ved navn " @app-name " vil automatisk blive oprettet under den "
     "skuffe De angiver her.\n\n" @askdir-help
))

(set #installaborted
(cat "Installering af " @app-name " afbrudt."
))

(set #destdirexists
(cat "\n\n\n\n" @app-name " eksisterer allerede. Skal jeg afbryde installeringen ?"
))

(set #destdirexistshelp
(cat @app-name " skuffen eksisterer allerede. De skal nu vælge om De vil installere oveni "
     "den gamle version, eller om De vil afbryde installeringen, slette den gamle version, "
     "og så vende tilbage og installere igen."
))

(set #exampledrawername
(cat "Eksempler"
))

(set #nowcopying1
(cat "Kopiering af " @app-name " og relaterede filer..."
))

(set #nowcopying1help
(cat "Dette vil kopiere " @app-name " og relaterede til den valgte skuffe.\n\n" @copyfiles-help
))

(set #nowcopying2
(cat "Kopiering af printer drivere..."
))

(set #nowcopying2help
(cat "Dette vil kopiere printer drivere. Disse filer er printer drivere der supporterer "
     "diverse printer typer. Disse filer gør det muligt at bruge forskellige printere "
     "sammen med " @app-name ".\n\n" @copyfiles-help
))

(set #nowcopying3
(cat "Kopiering af " #exampledrawername "..."
))

(set #nowcopying3help
(cat "Dette vil kopiere demonstrations " #exampledrawername ". Disse " #exampledrawername
     " demonstrerer nogle af " @app-name " muligheder som De kan lære fra.\n\n"
     @copyfiles-help
))

(set #nowcopying4
(cat "Kopiering af amigaguide.library..."
))

(set #nowcopying4help
(cat "Dette vil kopiere amigaguide.library til Deres LIBS: skuffe. " @app-name
     " kræver dette library for at kunne vise amigaguide on-line hjælp dokumenter.\n\n"
     @copylib-help
))

(set #nowcopying5
(cat "Kopiering af ARexx eksempler..."
))

(set #nowcopying5help
(cat "Dette vil kopiere ARexx eksempler til destinations skuffen."
))

(set #nowcopying6
(cat "Kopiering af req.library..."
))

(set #nowcopying6help
(cat "Dette vil kopiere req.library til Deres LIBS: skuffe. Printer Manageren \"ISC\" "
     "behøver dette bibliotek for at kunne lade Dem vælge filer til udskrivning.\n\n\n"
      @copylib-help
))

(set #startupdest
(cat "Hvor må jeg tilføje et " @app-name ": assignment? Brug \"HELP\" hvis De er i tvivl."
))

(set #startupdesthelp
(cat @app-name " behøver en logisk assign ved navn " @app-name ": Denne assign er vigtig, "
     "da den muliggør " @app-name " at finde sin opsætning. For at lave denne assign "
     "automatisk, må De nu fortælle mig i hvilken fil jeg skal indsætte den.\n\n" @askfile-help
))

(set #installfinished
(cat "\n! ADVARSEL ! ADVARSEL ! ADVARSEL ! ADVARSEL !\n\n"
     "Installering afsluttet! Ligeså snart De forlader dette program, bliver Deres "
     "maskinen >GENSTARTET/REBOOTED<. Men dette sker skal De hive " @app-name " disketten "
     "ud af drevet, og vente på at Deres maskine genstartes. Så snart dette er sket, kan "
     "De nu bruge " @app-name ". Hvis De ønsker at >UNDGÅ< at genstarte Deres maskine, skal "
     "De trykke på >Abort Install< knappen."
))

(set #mustbootfromhd
(cat "\n\n\nFejl: De skal starte fra Deres harddisk for at installere " @app-name "."
))

(set #copyarexx
(cat "\n\n\nØnsker De at installere ARexx eksempler?"
))

(set #copyarexxhelp
(cat "De skal her vælge om De vil installere ARexx eksempler til Deres harddisk. Disse "
     "eksempler viser hvordan du bruger ARexx sammen med " @app-name "."
))

(set #insertdisk
(cat "\n\n\n\nIndsæt venligst diskette "
))

(set #insertdiskhelp
(cat "\n\n\n\nDe skal nu indsætte disketten ved navn "
))

))

;============================================================================

;---------
; Say HI!
;---------
;(welcome)

;-----------------------
; Recognize OS version.
;-----------------------
(set osver (/ (getversion) 65535))

;---------------------------------
; User *HAS* to boot from his HD!
;---------------------------------
(if (= sys-space appname-space)
(
;-> User booted from disk. This is *NOT* allowed!
   (message #mustbootfromhd)
   (abort #installaborted)
))

;--------------------------------
; Ask for destination directory.
;--------------------------------
(set @default-dest
   (askdir (prompt #askdestdir)
           (help   #askdesthelp)
           (default @default-dest)
   )
)

;-------------------------------------------------------
; Check that directory @app-name doesn't exist already.
;-------------------------------------------------------
(set @default-dest (tackon @default-dest @app-name))
(if (exists @default-dest)
   (if (askbool (prompt #destdirexists)
                (help   #destdirexistshelp)
                (default 1)
       )
      (abort #installaborted)
   )
)

;---------------------------------------------
; Creating directories in destination drawer.
;---------------------------------------------
(makedir @default-dest (infos))
(set temp (tackon @default-dest "Eksempler"))
(makedir temp (infos))

(complete 10)

;--------------------------------------
; Copying @app-name and related files.
;--------------------------------------
(copyfiles (prompt  #nowcopying1)
           (help    #nowcopying1help)
           (source  sourcepath)
           (dest    @default-dest)
           (choices @app-name (cat @app-name ".info") "ISC" "ISC.info" (cat @app-name ".guide")
                    (cat @app-name ".guide.info"))
           (confirm "expert")
)

(complete 30)

;--------------------------
; Copying printer drivers.
;--------------------------
(set temp1 (tackon  @default-dest "Printers"))
(set temp2 (tackon  sourcepath "Printers"))
(copyfiles (prompt  #nowcopying2)
           (help    #nowcopying2help)
           (source  temp2)
           (dest    temp1)
           (all)
           (confirm "expert")
)

(complete 40)

;-----------------
; Ask for disk 2.
;-----------------
(askdisk (prompt (cat #insertdisk sourcepath2))
         (help   (cat #insertdiskhelp sourcepath2))
         (dest   "InterBase 2")
)

;----------------------
; Copy arexx examples.
;----------------------
(if (askbool (prompt  #copyarexx)
             (help    #copyarexxhelp)
             (default 0)
    )
(
   (copyfiles (prompt  #nowcopying5)
              (help    #nowcopying5help)
              (source  (tackon sourcepath2 "ARexx"))
              (dest    (tackon @default-dest "ARexx"))
              (all)
              (confirm "expert")
   )
))

(complete 60)

;--------------------
; Copying Examples/*
;--------------------
(set temp1 (tackon  @default-dest #exampledrawername))
(set temp2 (tackon  sourcepath2 #exampledrawername))
(copyfiles (prompt  #nowcopying1)
           (help    #nowcopying1help)
           (source  temp2)
           (dest    temp1)
           (all)
           (confirm "expert")
)

(complete 80)

;------------------------
; Copying PrinterConfig.
;------------------------
(copyfiles (prompt  #nowcopying1)
           (help    #nowcopying1help)
           (source  sourcepath2)
           (dest    @default-dest)
           (choices "PrinterConfig" "PrinterConfig.info")
           (confirm "expert")
)

(complete 85)

;-----------------
; Ask for disk 1.
;-----------------
(askdisk (prompt (cat #insertdisk sourcepath))
         (help   (cat #insertdiskhelp sourcepath))
         (dest   @app-name)
)

;-----------------------------
; Copying amigaguide.library.
;-----------------------------
(copylib (prompt #nowcopying4)
         (help   #nowcopying4help)
         (source (tackon sourcepath "Libs/amigaguide.library"))
         (dest   "LIBS:")
         (optional)
         (confirm "average")
)

(complete 95)

;-----------------------------
; Copying req.library.
;-----------------------------
(copylib (prompt #nowcopying6)
         (help   #nowcopying6help)
         (source (tackon sourcepath "Libs/req.library"))
         (dest   "LIBS:")
         (optional)
         (confirm "average")
)

(complete 95)

;--------------------------------------------
; Make InterBase: assign to harddisk drawer.
;--------------------------------------------
(makeassign "InterBase" @default-dest)
(makeassign "InterBase 2" @default-dest)

;-------------------------------------------
; Figuring out which file to put assign in.
;-------------------------------------------
(set path (getassign "S"))
(if (< osver 36)
(
   (set suggestedfile (tackon path "StartupII"))
)
(
   (set suggestedfile (tackon path "User-Startup"))
))

;------------------------------------------------------------------------------------
; Check OS version and append @app-name: assign to either StartupII or User-Startup.
;------------------------------------------------------------------------------------
(set startup-dest
   (askfile (prompt #startupdest)
            (help   #startupdesthelp)
            (default suggestedfile)
   )
)
(set startup-path (pathonly startup-dest))
(set startup-file (fileonly startup-dest))
(set ramname (tackon "RAM:" startup-file))

(textfile (dest ramname)
          (include startup-dest)
          (append "\n;BEGIN " @app-name "\n"
                     "Assign " @app-name ": " "\"" @default-dest "\"\n"
                     "Assign \"" @app-name " 2:\" " "\"" @default-dest "\"\n"
                    ";END " @app-name "\n")
)
(copyfiles (source "RAM:")
           (dest startup-path)
           (choices startup-file)
           (nogauge)
)
(delete ramname)

;------------------------
; Installation finished!
;------------------------
(message #installfinished)

(complete 100)

;---------
; Reboot!
;---------
(run (tackon sourcepath "C/Reboot"))

;------------------------------------------------------------------
; If something goes wrong the onerror below is called to clean-up.
;------------------------------------------------------------------
(onerror
   (delete @default-dest)
)

