;$VER: akJFIF_Installer 43.91 (27.6.1997) #DOS © Msi Software

FAILAT 21

;Check OS version!
c/akT OS 39
IF WARN
   ECHO "You need OS 3.0 or later!"
   ASK "Press return!"
   QUIT
ENDIF

;Display old and new dt version etc!
c/akT >ENV:akver VER classes/Datatypes/akJFIF.datatype
c/akT >ENV:akverold VER Sys:Classes/Datatypes/akJFIF.datatype
IF NOT WARN
   C:RequestChoice >NIL: "Andreas Ralph Kleinert presents:" "$akver" "Install/Update"
ELSE
   C:RequestChoice >NIL: "Andreas Ralph Kleinert presents:" "$akver*N(old: $akverold)" "Install/Update"
ENDIF
UNSETENV akver
UNSETENV akverold

;Create dt prefs drawer if not found!
IF NOT EXISTS SYS:Prefs/DataTypes
   C:Makedir >NIL: SYS:Prefs/DataTypes
   C:Copy >NIL: prefs/datatypes.info SYS:Prefs/DataTypes.info CLONE
ENDIF

;Move any dtprefs to sys:prefs/datatypes!
IF EXISTS sys:prefs/akJFIFprefs
   C:Rename >NIL: sys:prefs/akJFIFprefs#? sys:prefs/datatypes
ENDIF

;Create ENV:Datatypes if not found!
IF NOT EXISTS ENV:Datatypes
   C:Makedir >NIL: ENV:Datatypes ENVARC:Datatypes
ENDIF

;Install dtprefs if not found or current one is old!
c/akT CHK prefs/datatypes/akJFIFPrefs SYS:prefs/datatypes/akJFIFPrefs
IF WARN
   C:Copy >NIL: prefs/datatypes/akJFIFPrefs SYS:prefs/datatypes CLONE
   IF NOT EXISTS
      C:Copy >NIL: prefs/datatypes/akJFIFPrefs.info SYS:prefs/datatypes CLONE
   ENDIF
ENDIF

;Install correct dt!
c/akT CHK classes/datatypes/akJFIF.datatype SYS:classes/datatypes/akJFIF.datatype
IF WARN
   c/akT CPU 060
   IF NOT WARN
      C:Copy >NIL: classes/datatypes/akJFIF.datatype.060 SYS:Classes/datatypes/akJFIF.datatype CLONE
   ELSE
      c/akT CPU 040
      IF NOT WARN
         C:Copy >NIL: classes/datatypes/akJFIF.datatype.040 SYS:Classes/datatypes/akJFIF.datatype CLONE
      ELSE
         c/akT CPU 030
         IF NOT WARN
            C:Copy >NIL: classes/datatypes/akJFIF.datatype.030 SYS:Classes/datatypes/akJFIF.datatype CLONE
         ELSE
            c/akT CPU 020
            IF NOT WARN
               C:Copy >NIL: classes/datatypes/akJFIF.datatype.030 SYS:Classes/datatypes/akJFIF.datatype CLONE
            ELSE
               C:Copy >NIL: classes/datatypes/akJFIF.datatype SYS:Classes/datatypes/akJFIF.datatype CLONE
            ENDIF
         ENDIF
      ENDIF
   ENDIF

   ;Move any old dt headers to storage!
   Rename >NIL: SYS:Devs/Datatypes/#?JFIF SYS:Storage/Datatypes/
   Rename >NIL: SYS:Devs/Datatypes/#?JPEG#? SYS:Storage/Datatypes/
   Rename >NIL: SYS:Devs/Datatypes/JPG#? SYS:Storage/Datatypes/

   ;Install new dt header!
   C:Copy >NIL: devs/datatypes/JFIF DEVS:DataTypes
   IF NOT EXISTS DEVS:DataTypes/JFIF.info
      C:Copy >NIL: devs/datatypes/JFIF.info DEVS:DataTypes
   ENDIF

   ;If VMEM assign not found, assign it and add to user-startup!
   c/akT ASN vmem
   IF WARN
      C:RequestChoice >NIL: "ak Installer" "The VMEM: assign was not found!*NIt is needed by this datatype,*Nto be used as temporary directory." "Assign"
      C:RequestFile >ENV:akvmem "SYS:" TITLE="Please select temporary dir:" SAVEMODE DRAWERSONLY NOICONS
      ECHO >>S:User-Startup "*N;BEGIN VMEM"
      ECHO >>S:User-Startup "Assign >NIL: VMEM: $akvmem"
      ECHO >>S:User-Startup ";END VMEM"
      C:Assign >NIL: VMEM: $akvmem
      UNSETENV akvmem
   ENDIF

   ;Change dir to docs!
   CD Docs

   ;Show guide and start dtprefs!
   Run >NIL: MultiView akJFIF.guide
   Run >NIL: /Prefs/DataTypes/akJFIFPrefs

   ;Install completed message!
   C:RequestChoice >NIL: "ak Installer" "Install completed!*NPlease reboot the system,*Nto use the new datatype!*N*NIf this is the first time you install,*Nyou do not need to reboot!" "Ok"
   C:AddDataTypes >NIL: REFRESH
ELSE
   ;Install not needed message!
   C:RequestChoice >NIL: "ak Installer" "Install not needed!*NYou have the same or a higher version!" "Ok"
ENDIF

;Clean up memory/free resources!
C:Avail >NIL: FLUSH
