home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -screenplay- / hd_installers / thomastte2 / thomas2install next >
Text File  |  1998-04-23  |  3KB  |  170 lines

  1. ;****************************
  2.  
  3. (set #readme-file "Thomas2ReadMe.Txt")    ;name of readme file
  4. (set #CI_drive "DF0:")        ;default source drive
  5. (set #cleanup "")        ;files to delete after install
  6. (set #last-disk 1)        ;amount of disks
  7.  
  8. ;****************************
  9. ;----------------------------
  10. ; Checks if given program is reachable via the path
  11. ; parameters:
  12. ;        #program        - to check
  13. ; result:
  14. ;        #instok            - 0 if not found
  15.  
  16. (procedure P_chkinst
  17.     (if
  18.         (= 0 (run ("cd SYS:\nWhich %s" #program)))
  19.         (set #instok 1)
  20.         (set #instok 0)
  21.     )
  22. )
  23.  
  24. ;----------------------------
  25. ; Checks if given program is reachable via the path
  26. ;  if not reachable tries to install from local to RAM:
  27. ;   if fails abort install
  28. ; parameters:
  29. ;        #program        - to check
  30.  
  31. (procedure P_chkrun
  32.     (P_chkinst)
  33.     (if
  34.         (= #instok 0)
  35.         (
  36.             (if
  37.                 (exists #program)
  38.                 (copyfiles
  39.                     (help @copyfiles-help)
  40.                     (source #program)
  41.                     (dest "RAM:")
  42.                 )
  43.                 (if
  44.                     (exists ("//c/%s" #program))        ;on installation package
  45.                     (copyfiles
  46.                         (help @copyfiles-help)
  47.                         (source ("//c/%s" #program))
  48.                         (dest "RAM:")
  49.                     )
  50.                     (abort ("You must install %s first !" #program))
  51.                 )
  52.             )
  53.             (set #cleanup ("RAM:%s %s" #program #cleanup))
  54.         )
  55.     )
  56. )
  57.  
  58. ;----------------------------
  59. ; Create disk-Image
  60. ; parameters:
  61. ;        #dest            - DestinationPath
  62. ;        #CI_diskname        - DiskName
  63. ;        #CI_diskno        - DiskNumber
  64. ;        #CI_drive        - DriveToReadFrom
  65.  
  66. (procedure P_image
  67.     (message ("\nInsert \"%s\" into drive %s !\n\nMake sure it's the right disk because it wont be checked." #CI_diskname #CI_drive))
  68.     (if
  69.         (= 0 (run ("cd \"%s\"\npath RAM: ADD\nDIC %s FD=%ld LD=%ld >con:///1000//CLOSE" #dest #CI_drive #CI_diskno #CI_diskno)))
  70.         ("")
  71.         (abort "\"DIC\" has failed to create a diskimage")
  72.     )
  73. )
  74.  
  75. ;****************************
  76.  
  77. ; check if WHDLoad is installed
  78. (set #program "WHDLoad")
  79. (P_chkinst)
  80. (if
  81.     (= #instok 0)
  82.     (abort "You must install WHDLoad first !")
  83. )
  84.  
  85. ; check if DIC is installed
  86. (set #program "DIC")
  87. (P_chkrun)
  88.  
  89. ; in expert mode ask for source drive
  90. (if
  91.     (= @user-level 2)
  92.     (set #CI_drive
  93.         (askstring
  94.             (prompt "Select source drive for diskimage")
  95.             (default #CI_drive)
  96.             (help @askstring-help)
  97.         )
  98.     )
  99. )
  100.  
  101. (set @default-dest
  102. (askdir
  103.     (prompt ("Where should \"%s\" be installed ?\nA drawer \"%s\" will be created automatically." @app-name @app-name))
  104.     (help @askdir-help)
  105.     (default @default-dest)
  106.     (disk)
  107. )
  108. )
  109.  
  110. (set #dest (tackon @default-dest @app-name))
  111.  
  112. ;if anything similar exist delete it
  113. (if
  114.     (exists #dest)
  115.     (run ("Delete %s %s.info all" #dest #dest))
  116. )
  117.  
  118. (makedir #dest
  119.     (help @makedir-help)
  120.     (infos)
  121. )
  122.  
  123. ;----------------------------
  124.  
  125. (copyfiles
  126.     (help @copyfiles-help)
  127.     (source ("%s.Slave" @app-name ))
  128.     (dest #dest)
  129. )
  130. (copyfiles
  131.     (help @copyfiles-help)
  132.     (source ("%s.inf" @app-name ))
  133.     (newname ("%s.info" @app-name ))
  134.     (dest #dest)
  135. )
  136. (if
  137.     (exists #readme-file)
  138.     (copyfiles
  139.         (help @copyfiles-help)
  140.         (source #readme-file)
  141.         (dest #dest)
  142.     )
  143. )
  144.  
  145. (set #CI_diskno 1)
  146. (while
  147.     (<= #CI_diskno #last-disk)
  148.     (
  149.         (set #CI_diskname ("%s Disk %ld" @app-name #CI_diskno))
  150.         (P_image)
  151.         (set #CI_diskno (+ #CI_diskno 1))
  152.     )
  153. )
  154.  
  155. ;----------------------------
  156.  
  157. (run ("Delete %s ALL QUIET FORCE" #cleanup))        ;delete all temporary files
  158.  
  159. (if
  160.     (exists #readme-file)
  161.     (if 
  162.         (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  163.         ("")
  164.         (run ("SYS:Utilities/More %s" #readme-file))
  165.     )
  166. )
  167.  
  168. (exit)
  169.  
  170.