; ImageFX Installer Utility
;
; For ImageFX release 1.50
;
; (Last updated: Paul Higginbottom 12/29/92)
; (Updated more for 1.50 by: Tom Krehbiel 7/19/93)
;
;  8/16/93  1.51       TEK     Installs FLC saver.
; 10/25/93  1.50.1339  GN      Installs ALL ARexx instead of just new!

(

   ; Which OS are we under?
   (set osver (/ (getversion) 65536))

   ; See if ImageFX: already exists, if so use it as the default

   (set initialdir @default-dest)
   (if (getassign "ImageFX")
      (
         (set initialdir (expandpath "ImageFX:"))
      )
   )

   ; Ask where to install it...
   (set wheredir
      (askdir
         (prompt "Select where you would like to install ImageFX. "
                 "(About 3MB is required for complete installation.) "
                 "(You may install over an older copy of ImageFX "
                 "to update to this new version - your current "
                 "configuration will be preserved.)")
         (help "ImageFX and all necessary files will be installed "
               "in the directory of your choice.  You may wish to "
               "create a new directory for ImageFX by using the "
               "'Make New Drawer' gadget.")
         (default initialdir)
      )
   )

   (message "ImageFX will be installed in " wheredir)

   (set @default-dest wheredir)

   (working "Installing ImageFX Program...")

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX1:ImageFX")
      (dest @default-dest)
   )

   ; There is no need to overwrite Default.keys since 1.04 has
   ; default keys built in.  User's existing keys will just
   ; overwrite the internal defaults.

   (if (= (exists (tackon @default-dest "Default.keys")) 0)
      (
         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX1:Default.keys")
            (dest @default-dest)
         )
      )
   )

   ; Since presets are exactly the same, don't copy over
   ; an existing file, in case the user has modified them.

   (if (= (exists (tackon @default-dest "Default.presets")) 0)
      (
         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX1:Default.presets")
            (dest @default-dest)
         )
      )
   )

   ; README file is now on Disk #1

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX1:")
      (dest @default-dest)
      (choices
         "README"
      )
   )

   ; Copy UNLZ to RAM:

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX1:c")
      (dest "RAM:")
      (choices "UNLZ")
   )

   ;*******************************************************************
   ; Prompt for second disk.
   ;*******************************************************************


   (askdisk
      (prompt "Please insert Support 1 Disk in any drive.")
      (help "")
      (dest "ImageFX2")
;     (assigns)
   )

   (working "Copying module archive to RAM...")

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX2:")
      (dest "RAM:")
      (choices "modules.lzh")
   )

   (working "Installing ImageFX Modules...")

   (makedir (tackon @default-dest "Modules"))
   (makedir (tackon @default-dest "Modules/Preview"))
   (makedir (tackon @default-dest "Modules/Scanner"))
   (makedir (tackon @default-dest "Modules/Render"))
   (makedir (tackon @default-dest "Modules/Printer"))
   (makedir (tackon @default-dest "Modules/Quantize"))
   (makedir (tackon @default-dest "Modules/Sys"))
   (makedir (tackon @default-dest "Modules/Loaders"))
   (makedir (tackon @default-dest "Modules/Savers"))
   (makedir (tackon @default-dest "Modules/Drawmodes"))

   (working "Uncompressing & Installing Loader Modules...")

   (if (exists (tackon @default-dest "modules/loaders"))
      (
         ; Delete old copies of loaders
         (delete (tackon @default-dest "modules/loaders/ALIAS"))
         (delete (tackon @default-dest "modules/loaders/ANIM"))
         (delete (tackon @default-dest "modules/loaders/BMP"))
         (delete (tackon @default-dest "modules/loaders/DCTV"))
         (delete (tackon @default-dest "modules/loaders/DPIIE"))
         (delete (tackon @default-dest "modules/loaders/FAXX"))
         (delete (tackon @default-dest "modules/loaders/FLI"))
         (delete (tackon @default-dest "modules/loaders/GIF"))
         (delete (tackon @default-dest "modules/loaders/HAME"))
         (delete (tackon @default-dest "modules/loaders/ICO"))
         (delete (tackon @default-dest "modules/loaders/ILBM"))
         (delete (tackon @default-dest "modules/loaders/IMG8"))
         (delete (tackon @default-dest "modules/loaders/Impulse"))
         (delete (tackon @default-dest "modules/loaders/info"))
         (delete (tackon @default-dest "modules/loaders/JPEG.000"))
         (delete (tackon @default-dest "modules/loaders/JPEG.030"))
         (delete (tackon @default-dest "modules/loaders/MacPaint"))
         (delete (tackon @default-dest "modules/loaders/PBM"))
         (delete (tackon @default-dest "modules/loaders/PCX"))
         (delete (tackon @default-dest "modules/loaders/QRT"))
         (delete (tackon @default-dest "modules/loaders/Rendition"))
         (delete (tackon @default-dest "modules/loaders/Sculpt"))
         (delete (tackon @default-dest "modules/loaders/SGI"))
         (delete (tackon @default-dest "modules/loaders/Targa"))
         (delete (tackon @default-dest "modules/loaders/TIFF"))
         (delete (tackon @default-dest "modules/loaders/VMEM"))
         (delete (tackon @default-dest "modules/loaders/YUVN"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/loaders/#? RAM:")

   (copyfiles
      (prompt "Select Loader Modules To Install:")
      (help @copyfiles-help)
      (source "RAM:modules/loaders")
      (dest (tackon @default-dest "modules/loaders"))
      (choices
         "ALIAS" "ANIM" "BMP" "DCTV" "DPIIE" "FAXX" "FLI" "GIF"
         "HAME" "ICO" "ILBM" "IMG8" "Impulse" "info" "JPEG.000"
         "JPEG.030" "MacPaint" "PBM" "PCX" "QRT" "Rendition" "Sculpt"
         "SGI" "Targa" "TIFF" "VMEM" "YUVN"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Saver Modules...")

   (if (exists (tackon @default-dest "modules/savers"))
      (
         ; Delete old copies of savers
         (delete (tackon @default-dest "modules/savers/ALIAS"))
         (delete (tackon @default-dest "modules/savers/ANIM"))
         (delete (tackon @default-dest "modules/savers/ANIM7"))
         (delete (tackon @default-dest "modules/savers/BMP"))
         (delete (tackon @default-dest "modules/savers/DPIIE"))
         (delete (tackon @default-dest "modules/savers/FAXX"))
         (delete (tackon @default-dest "modules/savers/FLC"))
         (delete (tackon @default-dest "modules/savers/GIF"))
         (delete (tackon @default-dest "modules/savers/ILBM"))
         (delete (tackon @default-dest "modules/savers/info"))
         (delete (tackon @default-dest "modules/savers/JPEG.000"))
         (delete (tackon @default-dest "modules/savers/JPEG.030"))
         (delete (tackon @default-dest "modules/savers/PBM"))
         (delete (tackon @default-dest "modules/savers/PCX"))
         (delete (tackon @default-dest "modules/savers/QRT"))
         (delete (tackon @default-dest "modules/savers/Rendition"))
         (delete (tackon @default-dest "modules/savers/Sculpt"))
         (delete (tackon @default-dest "modules/savers/SGI"))
         (delete (tackon @default-dest "modules/savers/Targa"))
         (delete (tackon @default-dest "modules/savers/TIFF"))
         (delete (tackon @default-dest "modules/savers/VMEM"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/savers/#? RAM:")

   (copyfiles
      (prompt "Select Saver Modules To Install:")
      (help @copyfiles-help)
      (source "RAM:modules/savers")
      (dest (tackon @default-dest "modules/savers"))
      (choices
         "ALIAS" "ANIM" "ANIM7" "BMP" "DPIIE" "FAXX" "FLC" "GIF"
         "ILBM" "info" "JPEG.000" "JPEG.030" "PBM" "PCX" "QRT"
         "Rendition" "Sculpt" "SGI" "Targa" "TIFF" "VMEM"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Preview Modules...")

   (if (exists (tackon @default-dest "modules/preview"))
      (
         ; Delete old copies of previews
         (delete (tackon @default-dest "modules/preview/Amiga"))
         (delete (tackon @default-dest "modules/preview/Amiga-AGA"))
         (delete (tackon @default-dest "modules/preview/DCTV"))
         (delete (tackon @default-dest "modules/preview/Firecracker"))
         (delete (tackon @default-dest "modules/preview/Hame"))
         (delete (tackon @default-dest "modules/preview/IV24"))
         (delete (tackon @default-dest "modules/preview/OpalVision"))
         (delete (tackon @default-dest "modules/preview/SuperAmiga"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/preview/#? RAM:")

   (copyfiles
      (prompt "Select Preview Modules To Install:")
      (help @copyfiles-help)
      (source "RAM:modules/preview")
      (dest (tackon @default-dest "modules/preview"))
      (choices
         "Amiga" "Amiga-AGA" "DCTV" "Firecracker" "Hame" "IV24"
         "OpalVision" "SuperAmiga"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Render Modules...")

   (if (exists (tackon @default-dest "modules/render"))
      (
         ; Delete old copies of render modules
         (delete (tackon @default-dest "modules/render/Amiga"))
         (delete (tackon @default-dest "modules/render/Amiga1.3"))
         (delete (tackon @default-dest "modules/render/DCTV"))
         (delete (tackon @default-dest "modules/render/EGS"))
         (delete (tackon @default-dest "modules/render/Firecracker"))
         (delete (tackon @default-dest "modules/render/Foreign"))
         (delete (tackon @default-dest "modules/render/Hame"))
         (delete (tackon @default-dest "modules/render/IV24"))
         (delete (tackon @default-dest "modules/render/Retina"))
         (delete (tackon @default-dest "modules/render/SAGE"))
         (delete (tackon @default-dest "modules/render/OpalVision"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/render/#? RAM:")

   (copyfiles
      (prompt "Select Render Modules:")
      (help @copyfiles-help)
      (source "RAM:modules/render")
      (dest (tackon @default-dest "modules/render"))
      (choices
         "Amiga" "Amiga1.3" "DCTV" "EGS" "Firecracker"
         "Foreign" "Hame" "IV24" "Retina" "SAGE" "OpalVision"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Scanner Modules...")

   (if (exists (tackon @default-dest "modules/scanner"))
      (
         ; Delete old copies of scanner modules
         (delete (tackon @default-dest "modules/scanner/ES300C.alt"))
         (delete (tackon @default-dest "modules/scanner/ES300C"))
         (delete (tackon @default-dest "modules/scanner/Epson"))
         (delete (tackon @default-dest "modules/scanner/FrameGrabber"))
         (delete (tackon @default-dest "modules/scanner/FrameGrabber256"))
         (delete (tackon @default-dest "modules/scanner/IVFG"))
         (delete (tackon @default-dest "modules/scanner/JX100"))
         (delete (tackon @default-dest "modules/scanner/VLAB"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/scanner/#? RAM:")

   (copyfiles
      (prompt "Select Scanner Modules:")
      (help @copyfiles-help)
      (source "RAM:modules/scanner")
      (dest (tackon @default-dest "modules/scanner"))
      (choices
         "Epson" "FrameGrabber" "FrameGrabber256" "IVFG" "JX100" "VLAB"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Printer Modules...")

   (if (exists (tackon @default-dest "modules/printer"))
      (
         ; Delete old copies of printer modules
         (delete (tackon @default-dest "modules/printer/PostScript"))
         (delete (tackon @default-dest "modules/printer/Prefs"))
         (delete (tackon @default-dest "modules/printer/Prefs2"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/printer/#? RAM:")

   (copyfiles
      (prompt "Select Printer Modules:")
      (help @copyfiles-help)
      (source "RAM:modules/printer")
      (dest (tackon @default-dest "modules/printer"))
      (choices
         "PostScript" "Prefs" "Prefs2"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing Quantize Modules...")

   (if (exists (tackon @default-dest "modules/quantize"))
      (
         ; Delete old copies of printer modules
         (delete (tackon @default-dest "modules/quantize/MedianCut"))
         (delete (tackon @default-dest "modules/quantize/Enhanced"))
         (delete (tackon @default-dest "modules/quantize/Tibbett"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/quantize/#? RAM:")

   (copyfiles
      (prompt "Select Quantize Modules:")
      (help @copyfiles-help)
      (source "RAM:modules/quantize")
      (dest (tackon @default-dest "modules/quantize"))
      (choices
         "MedianCut" "Enhanced" "Tibbett"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing DrawMode Modules...")

   (if (exists (tackon @default-dest "modules/drawmodes"))
      (
         ; Delete old copies of drawmode modules
         (delete (tackon @default-dest "modules/drawmodes/FeltTip"))
         (delete (tackon @default-dest "modules/drawmodes/Sharpen"))
         (delete (tackon @default-dest "modules/drawmodes/Trail"))
      )
   )

   (run "RAM:UNLZ -m x RAM:modules modules/drawmodes/#? RAM:")

   (copyfiles
      (prompt "Select DrawMode Modules:")
      (help @copyfiles-help)
      (source "RAM:modules/drawmodes")
      (dest (tackon @default-dest "modules/drawmodes"))
      (choices
         "FeltTip" "Sharpen" "Trail"
      )
      (confirm)
   )

   (run "c:delete RAM:modules all quiet")

   (working "Uncompressing & Installing System Modules...")

   (run "RAM:UNLZ -m x RAM:modules modules/sys/#? RAM:")

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "RAM:modules/sys")
      (dest (tackon @default-dest "modules/sys"))
      (all)
   )

   (run "c:delete RAM:modules all quiet")
   (run "c:delete RAM:modules.lzh quiet")

   ; Convolution Matrix Installation ------------------------------

   (working "Installing Convolution Matrices...")

   (makedir (tackon @default-dest "NewMatrix"))

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX2:Matrix")
      (dest (tackon @default-dest "NewMatrix"))
      (all)
   )

   (if (exists (tackon @default-dest "Matrix"))
      (
         ; recopy user's old convolve files back into the directory;
         ; this will keep the user's files there, and still have
         ; the new ones we installed.  We also leave the user's old
         ; convolve files in "Matrix103" just in case.

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source (tackon @default-dest "Matrix"))
            (dest (tackon @default-dest "NewMatrix"))
            (all)
         )
         (rename
            (tackon @default-dest "Matrix")
            (tackon @default-dest "Matrix103")
         )
      )
   )

   (rename
      (tackon @default-dest "NewMatrix")
      (tackon @default-dest "Matrix")
   )

   ; Transform Installation ------------------------------

   ; Preserve user's current transforms, since they aren't any different
   (if (= (exists (tackon @default-dest "transform")) 0)
      (
         (working "Installing Color Transform Presets...")

         (makedir (tackon @default-dest "Transform"))

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX2:Transform")
            (dest (tackon @default-dest "Transform"))
            (all)
         )
      )
   )

   ; Palettes Installation ------------------------------

   (if (= (exists (tackon @default-dest "Palettes")) 0)
      (
         (working "Installing Sample Palettes...")

         (makedir (tackon @default-dest "Palettes"))

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX2:Palettes")
            (dest (tackon @default-dest "Palettes"))
            (all)
         )
      )
   )

   ; Library Installation ------------------------------

   ; Copy libraries needed from disk 2.

   (working "Checking for required libraries...")

   (copylib
      (prompt "")
      (help @copylib-help)
      (source "ImageFX2:libs/iffparse.library")
      (dest "LIBS:")
   )

   (copylib
      (prompt "")
      (help @copylib-help)
      (source "ImageFX2:libs/amigaguide.library")
      (dest "LIBS:")
   )

   (copylib
      (prompt "")
      (help @copylib-help)
      (source "ImageFX2:libs/dctv.library")
      (dest "LIBS:")
   )

   (copylib
      (prompt "")
      (help @copylib-help)
      (source "ImageFX2:libs/req.library")
      (dest "LIBS:")
   )

   ;*******************************************************************
   ; Prompt for third disk.
   ;*******************************************************************

   (askdisk
      (prompt "Please insert ImageFX Support 2 Disk in any drive.")
      (help "")
      (dest "ImageFX3")
;     (assigns)
   )

   (working "Uncompressing & Installing Hook Programs...")

   (makedir (tackon @default-dest "Hooks"))

   (run "RAM:UNLZ -m x ImageFX3:hooks #? \"%ls\"" (tackon @default-dest "Hooks/"))

   (if (= (exists (tackon @default-dest "Hooks.info")) 0)
      (
         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX3:Hooks.info")
            (dest @default-dest)
         )
      )
   )

   (working "Installing Help Files...")

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX3:help")
      (dest (tackon @default-dest "help"))
      (all)
   )

   (working "Installing Arexx Programs...")

   (set dorexx 1)
   (if (> @user-level 1)
      (set dorexx
         (askbool
            (prompt "Do you want to install the sample Arexx programs?")
            (help "")
            (default 1)
         )
      )
   )
   (if (<> dorexx 0)
      (

         (if (<> (exists (tackon @default-dest "rexx")) 0)
            (
               ; copy everything if directory does not exist...
               (makedir (tackon @default-dest "Rexx"))

               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:Rexx")
                  (dest (tackon @default-dest "Rexx"))
                  (all)
               )
            )
            ; else
            (
               ; otherwise only copy the new stuff... we're assuming
               ; the user hasn't made any scripts with these names.
               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:Rexx")
                  (dest (tackon @default-dest "Rexx"))
                  ;(choices
                  ;   "Create.ifx"
                  ;   "PrintFax.ifx"
                  ;   "ScanFax.ifx"
                  ;   "ScanMultiple.ifx"
                  ;   "TestRecord1.ifx"
                  ;   "TestRecord2.ifx"
                  ;)
                  (all)
               )
            )
         )

      )
   )

   (working "Installing Icons...")

   (if (<= osver 35)
      (

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX3:icons_1.3/ImageFX_13.info")
            (dest @default-dest)
            (newname "ImageFX.info")
         )

         (if (= (exists (tackon @default-dest "ImageFX_WB.info")) 0)
            (
               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:icons_1.3")
                  (dest @default-dest)
                  (choices
                     "ImageFX_WB.info"
                     "IMP.info"
                     "Cinemorph.info"
                  )
               )
            )
         )

         (if (= (exists (tackon @default-dest "Icons")) 0)
            (
               (makedir (tackon @default-dest "Icons"))

               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:icons_1.3")
                  (dest (tackon @default-dest "Icons"))
                  (choices
                     "Buffer.info"
                     "Brush.info"
                     "Rendered.info"
                     "Palette.info"
                  )
               )
            )
         )

      )
      ; else
      (

         (if (= (exists (tackon @default-dest "ImageFX.info")) 0)
            (
               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:icons_2.0")
                  (dest @default-dest)
                  (choices
                     "README.info"
                     "ImageFX.info"
                     "ImageFX_WB.info"
                     "IMP.info"
                     "Cinemorph.info"
                  )
               )
            )
         )

         (if (= (exists (tackon @default-dest "Icons")) 0)
            (
               (makedir (tackon @default-dest "Icons"))

               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX3:icons_2.0")
                  (dest (tackon @default-dest "Icons"))
                  (choices
                     "AppIcon.info"
                     "Buffer.info"
                     "Brush.info"
                     "Rendered.info"
                     "Palette.info"
                  )
               )
            )
         )

      )
   )

   ; Viewtek!

   (if (>= osver 37)
      (
         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX3:Viewtek")
            (dest (tackon @default-dest "Viewtek"))
            (all)
         )
         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX3:")
            (dest @default-dest)
            (choices "Viewtek.info")
         )
      )
   )

   ; MAGIC

   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX3:MAGIC")
      (dest (tackon @default-dest "MAGIC"))
      (all)
   )
   (copyfiles
      (prompt "")
      (help @copyfiles-help)
      (source "ImageFX3:")
      (dest @default-dest)
      (choices "MAGIC.info")
   )

   ; Ask if user wants to install sample images...

   (set copysamples 1)
   (if (> @user-level 1)
      (set copysamples
         (askbool
            (prompt "Do you want to copy the sample images, animations, and "
                    "morph projects over?")
            (help "")
            (default 1)
         )
      )
   )

   (if (<> copysamples 0)
      (

         ;*******************************************************************
         ; Prompt for fourth disk.
         ;*******************************************************************

         (askdisk
            (prompt "Please insert Demo Disk in any drive.")
            (help "")
            (dest "ImageFX4")
;           (assigns)
         )

         (working "Installing Sample Files...")

         (if (= (exists (tackon @default-dest "Animations.info")) 0)
            (
               (copyfiles
                  (prompt "")
                  (help @copyfiles-help)
                  (source "ImageFX4:")
                  (dest @default-dest)
                  (choices
                     "Animations.info"
                     "MorphProjects.info"
                     "Pictures.info"
                  )
               )
            )
         )

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX4:Animations")
            (dest (tackon @default-dest "Animations"))
            (all)
         )

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX4:MorphProjects")
            (dest (tackon @default-dest "MorphProjects"))
            (all)
         )

         (copyfiles
            (prompt "")
            (help @copyfiles-help)
            (source "ImageFX4:Pictures")
            (dest (tackon @default-dest "Pictures"))
            (all)
         )
      )
   )

   (makeassign "ImageFX" @default-dest)

   ; Add assign to user startup and...
   ;
   ; Make sure that AmigaGuide can find the help files (under V39
   ; we need to add the path of the help files to ENV:AmigaGuide/Path.
   ; This should be interesting...

   (if (>= osver 39)
      (
         (run "SetEnv AmigaGuide/Path ImageFX:Help")

         (onerror
            (message
               "Cannot update startup sequence.  You will need to "
               "add the following commands manually: "
               "'Assign ImageFX: \"%ls\"'" @default-dest
               "'SetEnv AmigaGuide/Path ImageFX:Help'"
            )
         )

         (startup "ImageFX"
            (prompt
               "Do you want to add an ImageFX: assign to your startup sequence?"
            )
            (help @startup-help)
            (command
               "Assign ImageFX: \"" @default-dest "\"\n"
               "SetEnv AmigaGuide/Path ImageFX:Help"
            )
         )
      )
      ;else
      (
         (onerror
            (message
               "Cannot update startup sequence.  You will need to "
               "add the following command manually: "
               "'Assign ImageFX: \"%ls\"'" @default-dest
            )
         )

         (startup "ImageFX"
            (prompt "Do you want to add an ImageFX: assign to your Startup sequence?")
            (help @startup-help)
            (command "Assign ImageFX: \"" @default-dest "\"")
         )
      )
   )

   (run "c:delete RAM:UNLZ quiet")

   ; Installation complete!
)
