home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / AdPro2_5_0-5.DMS / AdPro2_5_0-5.adf / Install-Patch.dt < prev    next >
Encoding:
Text File  |  1993-12-18  |  9.2 KB  |  335 lines

  1. ; $Id: Install-Patch,v 1.2 93/02/23 12:08:51 lee Exp $
  2. ;
  3. ; This is the 4.6 patch install script for DeluxePaint AGA 
  4. ; © 1993 Electronic Arts Inc. All Rights Reserved
  5. ;
  6. ; The order in which the user is requested to things is
  7. ; as follows:
  8. ;
  9. ; 1) Input the DPaintIV Install Disk 1
  10. ; 2) Input a Destination Disk (to clone DPaintIV Install Disk)
  11. ; 3) Input 4.6 Patch Disk for patch data
  12. ; 4) Input Destination Disk to receive patched data
  13. ;
  14. ; CHANGES BY ASDG:
  15. ; 93/12/18 - Changed icon settings and volume name to "ADPro_D5".
  16. ;
  17. (set @default-dest "Work:")
  18.  
  19. ; due to a problem with spatch command line parsing, the name of 
  20. ; the patch disk should not contain spaces.
  21. (set PATCH_NAME   "ADPro_D5")
  22. (set PATCH_VOLUME (cat PATCH_NAME ":"))
  23.  
  24. (set SOURCE_NAME "DPaintIV Installationsdiskette 1")
  25. (set SOURCE_VOLUME (cat SOURCE_NAME ":"))
  26.  
  27. (set DEST_NAME "DPaint 4.6 Installationsdiskette")
  28. (set DEST_VOLUME (cat DEST_NAME ":"))
  29.  
  30. (set ASSIGN   "DPaintIV")
  31. (set PROGNAME "DPaint")
  32. (set UNPACKER "lharc")
  33. (set RUNWIN "NIL:")
  34.  
  35.  
  36. (set PATCHER   (cat PATCH_VOLUME "spatch"))
  37. (set PATCHFILE (cat PATCH_VOLUME "DPaint.pch.ger"))
  38.  
  39. (set LHARC_EXTRACT_HELP
  40.   (cat
  41.     "Der Installer benutzt LHARC zum Extrahieren des DPaint-Programms "
  42.         "aus seinem Archiv von der Original-Installationsdiskette."
  43.   )
  44. )
  45.  
  46. (set LHARC_ADD_HELP
  47.   (cat
  48.     "Das Installationsprogramm fügt die Patch-Version von DPaint mit Hilfe "
  49.         "von LHARC in sein Archiv auf der neuen Installationsdiskette ein."
  50.   )
  51. )
  52.  
  53. (set PATCH_HELP
  54.   (cat 
  55.        "Das Installationsprogrramm benutzt das SPATCH-Utility von SAS/C für "
  56.        "die Änderungen an einer Kopie Ihres Original-DPaint-Programms."
  57.   )
  58. )
  59.  
  60. (set RENAME_HELP
  61.    (cat "Der Installer ändert den Namen der eingelegten Diskette "
  62.         "von \""ZIEL_NAME"\" auf \"" QUELL_NAME "\", damit die "
  63.         "Originaldiskette im DPaint-Installationsvorgang ersetzt " 
  64.     "werden kann."
  65.    )
  66. )
  67.  
  68. (set INIT_HELP
  69.     (cat
  70.           "Das DPaint 4.6 Patch erfordert die originale 4.5 Installations- "
  71.                 "diskette und eine installierte Version von DPaint 4.5. Das Patch "
  72.                 "kopiert die Originalprogrammdatei ins RAM, ändert sie "
  73.                 "und kopiert die geänderte Version in das Verzeichnis, in dem "
  74.                 "Sie DPaint 4.5 installiert haben.\n\n"
  75.  
  76.                 "Dabei wird Ihre Original-DPaint 4.5 Installationsdiskette "
  77.         "in KEINER WEISE verändert.\n\n"
  78.  
  79.                 "Bitte vergewissern Sie sich, daß Ihre Original- DPaint 4.5 "
  80.         "Installationsdiskette SCHREIBGESCHÜTZT ist und daß Sie Ihre "
  81.         "Registriernummer parat haben."
  82.     )
  83. )
  84.  
  85. (set DIR_HELP
  86.      (cat  "Das Patch sucht nach der installierten Version von DPaint und "
  87.            "ersetzt die Originalprogrammdatei durch die gepatchte "
  88.            "Version.\n\n"
  89.  
  90.            "Bitte geben Sie den Datenträger und das Verzeichnis "
  91.            "an, wo DPaint 4.5 im Moment installiert ist."
  92.      )
  93. )
  94.  
  95. (set BACKUP_HELP
  96.      (cat "Bei Wahl von \"Ja\" kopiert das Installationsprogramm die momentan "
  97.           "installierte Version von \"DPaint\" in ein "Backup"-Verzeichnis. "
  98.           "Bei Wahl von \"Nein\" ersetzt oder überschreibt es "
  99.           "ganz einfach die installierte Version durch die Patch-Version."
  100.      )
  101. )
  102.  
  103. (procedure ask_sourcedisk
  104.     (askdisk
  105.         (prompt ("Bitte die Diskette namens \"%s\" einlegen." SrcDiskE))
  106.         (help @askdisk-help)
  107.         (dest SrcDiskE)
  108.     )
  109.  
  110.     (set SrcDiskE (cat SrcDiskE ":"))
  111. )
  112.  
  113. ; Destination disk confirmation.
  114. ;  DstDiskE: The disk to insert
  115. (procedure ask_destdisk
  116.     (askdisk
  117.         (prompt ("Bitte die Diskette namens \"%s\" einlegen." DstDiskE))
  118.         (help @askdisk-help)
  119.         (dest DstDiskE)
  120.     )
  121.  
  122.     (set DstDiskE (cat DstDiskE ":"))
  123. )
  124.  
  125. (set osversion (/ (getversion) 65536))
  126. (if (< osversion 37)
  127.     (abort    "DeluxePaint erfordert AmigaDOS 2.04 oder höher.")
  128. )
  129.  
  130. ; Make sure the user has the appropriate disks ready
  131. (
  132.     (if    (askbool
  133.             (prompt "Sie brauchen Ihre originale \"DPaintIV Installations- "
  134.                                 "diskette 1\" und eine installierte Version von "
  135.                 "DPaint 4.5. Die Original \"DPaintIV Installations- "
  136.                 "diskette 1\" wird in KEINER WEISE geändert, "
  137.                                 "aber die installierte Version wird auf die "
  138.                                 "Version 4.6 aktualisiert.\n\n"
  139.                
  140.                                 "Wenn Sie DPaint 4.5 noch nicht installiert "
  141.                                 "haben, tun Sie dies, bevor Sie das Patch "
  142.                 "auführen.\n\n"
  143.  
  144.                                 "Bitte halten Sie Ihre Registriernummer bereit; "
  145.                                 "Sie werden zum Registrieren Ihres Exemplars "
  146.                                 "von DPaint 4.6 aufgefordert."
  147.             )
  148.             (help INIT_HELP)
  149.             (choices "Weiter" "Abbrechen")
  150.             (default 1)
  151.         )
  152.  
  153.                 (set dummy 1)
  154.         (abort "Installation durch Benutzer abgebrochen")
  155.     )
  156. )
  157.  
  158. ; copy the necessary patch files to ram
  159. (
  160.         (set SrcDiskE PATCH_NAME)
  161.         (ask_sourcedisk)
  162.  
  163.     (copyfiles
  164.         (prompt "")
  165.         (help "")
  166.         (source (tackon SrcDiskE UNPACKER))
  167.         (dest "ram:")
  168.     )
  169.  
  170.         (set UNPACKER  (tackon "ram:" UNPACKER))
  171. )
  172.  
  173.  
  174. ; copy the original program file
  175. (
  176.        (set SrcDiskE SOURCE_NAME)
  177.        (ask_sourcedisk)
  178.         
  179.        ; make sure file isn't already there due to some previous attemp   
  180.        (delete "ram:DPaint")
  181.  
  182.        (working ("Extrahiert die DPaint 4.5-Programmdatei"))
  183.        (set archive (tackon SrcDiskE "dpaint.lzh"))
  184.        (set result 
  185.             (run ("%s x \"%s\" ram: dpaint* > %s" UNPACKER archive RUNWIN)
  186.                  (help LHARC_EXTRACT_HELP)
  187.                  (prompt ("Original-DPaint 4.5-Programmdatei extrahieren?"))
  188.                  (confirm)
  189.             )
  190.        )
  191.        (if result (abort "Fehler beim Extrahieren des Programms"))
  192. )
  193.  
  194.  
  195. (
  196.    (set SrcDiskE PATCH_NAME)
  197.    (ask_sourcedisk)
  198.  
  199.    (working ("DPaint-Programmdatei wird gepatcht"))
  200.  
  201.    ;  make sure file isn't already there due to some previous attempt
  202.    (delete "ram:patched")
  203.  
  204.    (set result 
  205.       (run 
  206.          ("\"%s\" -p%s -oram:patched ram:dpaint > %s" PATCHER PATCHFILE RUNWIN)
  207.          (help PATCH_HELP)
  208.          (prompt ("DPaint 4.5-Programmdatei patchen?"))
  209.          (confirm)
  210.       )
  211.    )
  212.  
  213.    (delete "ram:dpaint")
  214.    (if result (abort "Fehler beim Patchen des Programms"))
  215.    (rename "ram:patched" "ram:dpaint")
  216. )
  217.  
  218. ; see if this is really an update
  219.  
  220. (set dpaint_dest (getassign ASSIGN "a"))
  221.  
  222. ; if update, be sure they want program in same place
  223.  
  224. (if dpaint_dest
  225.     (if (not
  226.             (askbool
  227.                 (prompt "Ihre aktuelle Kopie von DPaintIV scheint in der Schublade "
  228.             "namens "\dpaint_dest "\" zu sein. Soll das Update auch "
  229.             "dort installiert werden?"
  230.                 )
  231.                 (help   DIR_HELP)
  232.                 (default 1)
  233.             )
  234.         )
  235.  
  236.         (set dpaint_dest        ; if user wants in different place
  237.                      (askdir
  238.                           (prompt "In welchem Laufwerk bzw. welcher Schublade "
  239.                                   "soll das 4.6 Patch installiert werden?"
  240.                           )
  241.                           (help (cat DIR_HELP "\n\n" @askdir-help))
  242.                           (default @default-dest)
  243.                       )
  244.         )
  245.     )
  246.  
  247. ; Update not found, so get a location for program
  248.  
  249.     (set dpaint_dest
  250.         (askdir
  251.             (prompt "Bitte wählen Sie das Verzeichnis, in dem Sie "
  252.                     "DPaint 4.5 installiert haben."
  253.             )
  254.             (help (cat DIR_HELP "\n\n" @askdir-help))
  255.             (default @default-dest)
  256.         )
  257.     )
  258. )
  259.  
  260. ; OK, we know where we'll be installing, so let's make it permanent
  261. (set @default-dest dpaint_dest)
  262.  
  263. (set ProgramFile (tackon dpaint_dest "DPaint"))
  264.  
  265. (if (exists ProgramFile)
  266.     (
  267.        (if (askbool 
  268.                (prompt "Backup der aktuell installierten Programmdatei anfertigen?")
  269.                (help BACKUP_HELP)
  270.                (default 1)
  271.             )
  272.  
  273.             ; Note: we copy the file to a backup directory instead of 
  274.             ; to a backup file name so the icons won't overlap
  275.             (copyfiles 
  276.                  (source ProgramFile)
  277.                  (dest (tackon dpaint_dest "Backup"))
  278.                  (help BACKUP_HELP)
  279.                  (infos)
  280.             )
  281.        )
  282.     )
  283. )
  284.  
  285. (if (exists (tackon ProgramFile ".info"))
  286.     ; use the existing .info file
  287.     (
  288.       (delete "ram:DPaint.info")
  289.       (copyfiles
  290.         (prompt "")
  291.         (help "")
  292.         (source "ram:DPaint")
  293.         (dest dpaint_dest)
  294.         (confirm)
  295.       )
  296.     )
  297.  
  298.     ; copy the .info file from ram:
  299.     (copyfiles
  300.         (prompt "")
  301.         (help "")
  302.         (source "ram:DPaint")
  303.         (dest dpaint_dest)
  304.         (confirm)
  305.         (infos)
  306.     )
  307. )
  308.  
  309. (delete UNPACKER)
  310. (delete "ram:dpaint")
  311. (delete "ram:dpaint.info")
  312.  
  313. ; Ask if the user would like to register
  314. ; his/herself by running the main program
  315.  
  316. (if (askbool
  317.        (prompt "Möchten Sie Ihr Exemplar von DPaint 4.6 starten "
  318.                "und auf Ihren Namen eintragen?")
  319.        (help
  320.                 "DPaint 4.6 muß beim ersten Mal auf den persönlichen Namen "
  321.                 "eingetragen werden. Sie können DPaint 4.6 auf Wunsch auch erst "
  322.                 "später betreiben und müssen es dann auf Ihren Namen eintragen."
  323.        )
  324.        (default 1)
  325.     )
  326.  
  327.    (run
  328.        ("run >NIL: <NIL: \"%s\"" ProgramFile)
  329.        (help RUNHELP)
  330.        (prompt "DPaint 4.6 starten")
  331.        (confirm)
  332.    )
  333. )
  334.  
  335. (exit)