home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / STORM1.DMS / in.adf / StormC Install-Script < prev    next >
Encoding:
Text File  |  1995-11-06  |  25.4 KB  |  915 lines

  1. ; $VER: StormC V1.0 Install Version 1.02 (4.11.95)
  2. ; Installations-Script - na, wofür wohl?
  3.  
  4. (complete 0)
  5.  
  6. ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
  7. ; Versionen.
  8.  
  9. (set stcpp-version "1.00")
  10. (set stcpp-date "(04 Nov 95)")
  11.  
  12. ;====================================================================
  13. ; Initialisierungen
  14.  
  15.  
  16. (set @default-dest "")
  17.  
  18. (set os-version (/ (getversion) 65536))
  19. (set os-13 (< os-version 36))
  20. (set os-20 (>= os-version 36))
  21. (set os-21 (>= os-version 38))
  22.  
  23. (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
  24.  
  25. ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
  26.  
  27. (set run-lha                "run RAM:Lhex x -a ")
  28. (set run-free                "run StormC_Disk2:StormFree")
  29.  
  30. ; Die Pfadnamen der einzelnen Quell-Dateien.
  31.  
  32. (set source-more                            "StormC_Disk1:C/More")
  33. (set source-lhx                            "StormC_Disk1:C/LHex")
  34. (set source-ikon                            "StormC_Disk1:C/StormCPP.info")
  35. (set source-Liesmich                        "StormC_Disk1:Liesmich")
  36.  
  37. (set archive-compiler                    "StormC_Disk1:StormC.LHA")
  38. (set archive-editor                        "StormC_Disk1:StormED.LHA")
  39. (set archive-libs                            "StormC_Disk1:Libraries.LHA")
  40. (set archive-ikons                        "StormC_Disk1:BeispIkons.LHA")
  41.  
  42. (set archive-menulib                        "StormC_Disk2:Menumanager.LHA")
  43. (set archive-lexika                        "StormC_Disk2:Lexiken.LHA")
  44. (set archive-settings                    "StormC_Disk2:Settings.LHA")
  45. (set archive-asm                            "StormC_Disk2:StormASM.LHA")
  46. (set archive-cpp                            "StormC_Disk2:StormCPP.LHA")
  47. (set archive-run                            "StormC_Disk2:StormRUN.LHA")
  48. (set archive-shell                        "StormC_Disk2:StormShell.LHA")
  49. (set archive-grafiken                    "StormC_Disk2:Grafiken.LHA")
  50. (set archive-env                            "StormC_Disk2:ENV.Lha")
  51. (set archive-include                        "StormC_Disk2:Includes.lha")
  52. (set archive-demos                        "StormC_Disk2:C-Demos.lha")
  53.  
  54. (set !auswahlhilfe
  55.     (cat "\nAuf Ihrer Festplatte befindet sich bereits eine Version "
  56.         "der Datei die installiert werden soll. \n\n"
  57.         "Wählen Sie \"Ja\", wenn Sie die alte Datei mit der neuen "
  58.         "überschreiben möchten. Anderenfalls wählen Sie bitte \"Nein\"!\n"))
  59.  
  60. ; Die benötigten Disketten
  61.  
  62. (set #prp-insert-disk1
  63.         (cat "\n\n\nBitte legen Sie nun die Diskette 1 \"StormC_Disk1\" "
  64.                  "in ein beliebiges Laufwerk ein!"))
  65. (set #prp-insert-disk2
  66.         (cat "\n\n\nBitte legen Sie nun die Diskette 2 \"StormC_Disk2\" "
  67.                  "in ein beliebiges Laufwerk ein!"))
  68. ;(set #prp-insert-disk3
  69. ;        (cat "\n\n\nBitte legen Sie nun die Diskette 3 \"StormC_Disk3\" "
  70. ;                 "in ein beliebiges Laufwerk ein!"))
  71.  
  72. (set #prp-copy-menu-lib
  73.     "Kopiere die Menümanager-Library")
  74. (set #hlp-copy-menu-lib
  75.     (cat    "Die Menümanager-Library beinhaltet die Menüleisten des Systems.\n\n "))
  76. (set #wrk-create-pref-file
  77.     "\nDie Voreinstellungs-Datei wird erzeugt...")
  78.  
  79. ; Die Dateigrößen
  80.  
  81. (set size-stormcpp            54000)
  82. (set size-stormc                424000)
  83. (set size-stormed                312000)
  84. (set size-stormshell              416000)
  85. (set size-stormrun            381000)
  86. (set size-stormasm            36000)
  87. (set size-stormpics            50000)
  88. (set size-stormlex            50000)
  89. (set size-libs                    320000)
  90. (set size-inlcudes            950000)
  91. (set size-demos                200000)
  92.  
  93. (set size-komplett    ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
  94.  
  95. ;=====================================================================================
  96. ; Beginn der Installation
  97. ;=====================================================================================
  98.  
  99. ; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
  100.  
  101. (set act-user-level @user-level)
  102. (user 1)
  103.  
  104. (message (cat    "\nWillkommen bei der Installation von \n\n\"StormC "
  105.                      stcpp-version " vom "stcpp-date "\"!\n\n"
  106.                     "Dieses Skript kopiert die verschiedenen Dateien, "
  107.                     "aus denen sich das Compilersystem zusammensetzt, "
  108.                     "auf Ihre Festplatte.\n"))
  109.  
  110. (user act-user-level)
  111. (welcome)
  112.  
  113. (complete 5)
  114.  
  115. (set act-user-level @user-level)
  116. (user 1)
  117.  
  118.  
  119. ;    Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
  120.  
  121. (set folder "WORK:StormC")
  122.  
  123. (if (<> (getassign "STORMC") "")
  124.     (
  125.         (message (cat    "Auf Ihrer Festplatte befindet sich bereits eine "
  126.                         "Installation von StormC! Wählen Sie einfach die bereits "
  127.                         "vorhandene Schublade an, wenn Sie ihr altes System "
  128.                         "aktualisieren möchten! \n\n"
  129.                         "Voreinstellungen wie das Default-Projekt oder die "
  130.                         "Systemeinstellungen werden nicht verändert!\n\n"))
  131.  
  132.     (set folder (getassign "STORMC"))
  133.     )
  134. )
  135.  
  136. (makeassign "STORMC")
  137.  
  138. (user act-user-level)
  139.  
  140. (if (= @user-level 0)
  141.     (
  142.     (user 1)
  143.     (message (cat    "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
  144.                         "einer Festplatte installiert wird, auf der noch mindestens "
  145.                         "ca. 5 MByte freier Speicherplatz verfügbar sind. Sie werden "
  146.                         "dazu im nächsten Fenster nach dem Namen der gewünschten "
  147.                         "Schublade gefragt.\n\n"
  148.                         "Alle weiteren Angaben werden dann vom Installations-Skript "
  149.                         "möglichst genau an Ihr System angepaßt."))))
  150.  
  151. (set ok 0)
  152. (while (not ok)
  153.     (set folder
  154.         (askdir
  155.             (prompt "Auswahl des Pfades für die Compiler-Installation.\nBitte wählen Sie eine Schublade!")
  156.             (help (cat    "    Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  157.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  158.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  159.                             "gekennzeichneten Einträge auswählen.\n"
  160.                             "    Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  161.                             "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  162.                             "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  163.                             "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
  164.                             "\n\n"
  165.                             "Storm C kann nur in eine Schublade nicht aber auf eine "
  166.                             "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
  167.                             "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
  168.                             @askdir-help))
  169.             (default folder)
  170.             (disk)
  171.         )
  172.     )
  173.  
  174.     ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
  175.     ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
  176.     ; kann die Auswahl-Schleife beendet werden.
  177.     (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
  178.         (message (cat    "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
  179.                             "eine gültige Schublade!\n\n"
  180.                             "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  181.                             "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  182.                             "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  183.                             "gekennzeichneten Einträge auswählen.\n"
  184.                             "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
  185.                                "Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
  186.                                "angelegt, die Sie soeben betrachten."))
  187.         ;else
  188.         (
  189.             (set freediskspace (getdiskspace folder))    ; Der freie Speicher auf diesem Medium
  190.  
  191.             (if (< freediskspace size-komplett)
  192.                 (
  193.                 (user 1)
  194.                 (message (cat    "\nAuf der ausgewählten Festplattenpartition "
  195.                                             "steht nicht genügend freier Speicher für die "
  196.                                             "komplette Installation des Compilersystems zur Verfügung.\n\n"
  197.                                             "Freier Speicher " freediskspace "!\n"
  198.                                             "Benötigter Speicher " size-komplett "!\n\n"
  199.                                             "Bitte wählen Sie eine andere Partition, auf "
  200.                                             "der entsprechende Kapazitäten vorhanden sind!"))                
  201.                 )
  202.             ;else
  203.             (set ok 1)
  204.             )
  205.         )
  206.     )
  207. )
  208.  
  209. (user act-user-level)
  210.  
  211. (set destbin    (tackon folder "BIN"))
  212. (if                                          ; Compiler-Verzeichnis erzeugen
  213.     (= (exists destbin) 0)
  214.     (makedir destbin (infos))
  215. )
  216.  
  217. (set destdemo    (tackon folder "Beispiele"))
  218. (if                                          ; Demo-Verzeichnis erzeugen
  219.     (= (exists destdemo) 0)
  220.     (makedir destdemo (infos))
  221. )
  222. (set destinclude (tackon folder "Include"))
  223. (if                                          ; Includes-Verzeichnis erzeugen
  224.     (= (exists destinclude) 0)
  225.     (makedir destinclude)
  226. )
  227.  
  228. (set destlib    (tackon folder "Lib"))
  229. (if                                          ; Libraries-Verzeichnis erzeugen
  230.     (= (exists destlib) 0)
  231.     (makedir destlib)
  232. )
  233.  
  234. ; Diskette 1 einlegen!
  235.  
  236. (askdisk
  237.     (prompt #prp-insert-disk1)
  238.     (help #askdir-help)
  239.     (dest "StormC_Disk1")
  240. )
  241.  
  242. (complete 5)
  243.  
  244. ; Lhx wird in die RAM-Disk kopiert, damit das Programm nicht jedesmal von Disk
  245. ; geladen werden muß.
  246.  
  247. (copyfiles
  248.     (source source-lhx)
  249.     (dest "RAM:")
  250. )
  251.  
  252.  
  253. ; Liesmich Datei auf Festplatte kopieren!
  254.  
  255. (copyfiles
  256.     (source source-Liesmich)
  257.     (dest folder)
  258.     (infos)
  259. )
  260.  
  261. (complete 10)
  262.  
  263. (set destinfo    (tackon folder "StormCPP.info"))
  264. (if                                          ; Projekt-Ikon erzeugen
  265.     (= (exists destinfo) 0)
  266.     (copyfiles
  267.         (source source-ikon)
  268.         (dest folder)
  269.     )
  270. )
  271.  
  272. (complete 15)
  273.  
  274. ;(copylib                                              ; Menumanager-Library kopieren
  275. ;        (prompt #prp-copy-menu-lib)
  276. ;        (help #hlp-copy-menu-lib)
  277. ;        (source source-menulib)
  278. ;        (dest "LIBS:")
  279. ;        (confirm)
  280. ;)
  281.  
  282. (makeassign "lhex_temp" destbin)
  283.  
  284. (set bool 1)
  285.  
  286. (set destbinexists    (tackon destbin "STORMC"))
  287.  
  288. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Compiler vorhanden?
  289.     (
  290.         (set bool (askbool
  291.                         (prompt "\n\nMöchten Sie den Compiler \"StormC\" installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  292.                         (help !auswahlhilfe)
  293.                         (default 1)
  294.                         (choices "Ja" "Nein")
  295.                    )
  296.          )
  297.     )
  298. )
  299.  
  300. ;(debug "Rückgabe von AskBool" bool)
  301.  
  302. (if (= bool 1)
  303.     (
  304.         (working "Entpacke das Compilersystem..." " \n\n" "ANSI C/C++ Compiler" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  305.         (makeassign "lhex_temp" destbin)
  306.     
  307.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-compiler))
  308.         (if  ( <> COMPERROR 0)
  309.             (message
  310.                 "\n\n\n\n"
  311.                 "Fehler beim Entpacken des Compilers.\n"
  312.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  313.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  314.                 " Lösch- oder Schreibgeschützt sind.")
  315.         )
  316.     )
  317. )
  318.  
  319. (complete 20)
  320.  
  321. (set bool 1)
  322.  
  323. (set destbinexists    (tackon destbin "STORMED"))
  324.  
  325. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Editor vorhanden?
  326.     (
  327.         (set bool (askbool
  328.                         (prompt "\n\nMöchten Sie den Editor \"StormED\" installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  329.                         (help !auswahlhilfe)
  330.                         (default 1)
  331.                         (choices "Ja" "Nein")
  332.                    )
  333.          )
  334.     )
  335. )
  336.  
  337. ;(debug "Rückgabe von AskBool" bool)
  338.  
  339. (if (= bool 1)
  340.     (
  341.         (working "Entpacke das Compilersystem..." " \n\n" "Storm-Editor" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  342.         (makeassign "lhex_temp" destbin)
  343.     
  344.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-editor))
  345.         (if  ( <> COMPERROR 0)
  346.             (message
  347.                 "\n\n\n\n"
  348.                 "Fehler beim Entpacken des Editors.\n"
  349.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  350.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  351.                 " Lösch- oder Schreibgeschützt sind.")
  352.         )
  353.     )
  354. )
  355.  
  356. (makeassign "lhex_temp")
  357.  
  358. (complete 25)
  359.  
  360. ; Libraries entpacken
  361.  
  362. (set bool 1)
  363.  
  364. (set destlibexists    (tackon destlib "logfile"))
  365.  
  366. (if (AND (> @user-level 0) (> (exists destlibexists) 0))            ; Libs vorhanden?
  367.     (
  368.         (set bool (askbool
  369.                         (prompt "\n\nMöchten Sie die Bibliotheken überinstallieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  370.                         (help !auswahlhilfe)
  371.                         (default 1)
  372.                         (choices "Ja" "Nein")
  373.                    )
  374.          )
  375.     )
  376. )
  377.  
  378. ;(debug "Rückgabe von AskBool" bool)
  379.  
  380. (if (= bool 1)
  381.     (
  382.  
  383.         (working "Entpacke die OS 3.1 Bibliotheken..." " \n\n\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  384.  
  385.         (makeassign "lhex_temp" destlib)
  386.  
  387.         (set INCLERROR (run "ram:lhex -qfw=lhex_temp: x " archive-libs))
  388.         (if  ( <> INCLERROR 0)
  389.             (message
  390.                 "\n\n\n\n"
  391.                 "Fehler beim Entpacken der Bibliotheken.\n"
  392.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  393.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  394.                 " Lösch- oder Schreibgeschützt sind.")
  395.         )
  396.     )
  397. )
  398.  
  399. (complete 30)
  400.  
  401.  
  402. (set bool 1)
  403.  
  404. (set destdemoexists    (tackon destdemo "COLORWHEEL.info"))
  405.  
  406. (if (= (exists destdemoexists) 0)            ; Beispiele vorhanden?
  407.     (
  408.         (working "Entpacke die Beispiel-Datei-Ikons..." " \n\n\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  409.  
  410.         (makeassign "lhex_temp" destdemo)
  411.  
  412.         (set DEMOERROR (run "ram:lhex -qfw=lhex_temp: x " archive-ikons))
  413.         (if  ( <> DEMOERROR 0)
  414.             (message
  415.                 "\n\n\n\n"
  416.                 "Fehler beim Entpacken der Beispieldatei-Ikons.\n"
  417.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  418.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  419.                 " Lösch- oder Schreibgeschützt sind.")
  420.         )
  421.  
  422.     )
  423. )
  424.  
  425. (complete 35)
  426.  
  427. (makeassign "lhex_temp")
  428.  
  429. ; Diskette 2 einlegen! **********************************************************************************
  430.  
  431. (askdisk
  432.     (prompt #prp-insert-disk2)
  433.     (help #askdir-help)
  434.     (dest "StormC_Disk2")
  435. )
  436.  
  437. ; Compiler-System entpacken
  438.  
  439. (set bool 1)
  440.  
  441. (set destbinexists    (tackon destbin "STARTBILD"))
  442.  
  443. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Startbild vorhanden?
  444.     (
  445.         (set bool (askbool
  446.                         (prompt "\n\nMöchten Sie die neuen Startgrafiken installieren?\n ")
  447.                         (help !auswahlhilfe)
  448.                         (default 1)
  449.                         (choices "Ja" "Nein")
  450.                    )
  451.          )
  452.     )
  453. )
  454.  
  455. ;(debug "Rückgabe von AskBool" bool)
  456.  
  457. (if (= bool 1)
  458.     (
  459.     (working "Entpacke das Compilersystem..." " \n\n" "Grafiken" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  460.  
  461.     (makeassign "lhex_temp" destbin)
  462.  
  463.     (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-grafiken))
  464.     (if  ( <> COMPERROR 0)
  465.         (message
  466.             "\n\n\n\n"
  467.             "Fehler beim Entpacken der Startgrafiken.\n"
  468.             "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  469.             " und, falls die Dateien bereits vorhanden sind diese nicht "
  470.             " Lösch- oder Schreibgeschützt sind.")
  471.     ))
  472. )
  473.  
  474. (complete 40)
  475.  
  476.  
  477. (set bool 1)
  478.  
  479. (set destbinexists    (tackon destbin "LEXIKON"))
  480.  
  481. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Lexikon vorhanden?
  482.     (
  483.         (set bool (askbool
  484.                         (prompt "\n\nMöchten Sie die neuen Lexika installieren?\n ")
  485.                         (help !auswahlhilfe)
  486.                         (default 1)
  487.                         (choices "Ja" "Nein")
  488.                    )
  489.          )
  490.     )
  491. )
  492.  
  493. ;(debug "Rückgabe von AskBool" bool)
  494.  
  495. (if (= bool 1)
  496.     (
  497.         (working "Entpacke das Compilersystem..." " \n\n" "Editor-Lexiken" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  498.  
  499.         (makeassign "lhex_temp" destbin)
  500.  
  501.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-lexika))
  502.         (if  ( <> COMPERROR 0)
  503.             (message
  504.                 "\n\n\n\n"
  505.                 "Fehler beim Entpacken der Lexiken.\n"
  506.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  507.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  508.                 " Lösch- oder Schreibgeschützt sind.")
  509.         )
  510.     )
  511. )
  512.  
  513. (complete 45)
  514.  
  515. (set bool 1)
  516.  
  517. (set destbinexists    (tackon destbin "STORMASM"))
  518.  
  519. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; StormASM vorhanden?
  520.     (
  521.         (set bool (askbool
  522.                         (prompt "\n\nMöchten Sie die neue Assembler Schnittstelle installieren?\n ")
  523.                         (help !auswahlhilfe)
  524.                         (default 1)
  525.                         (choices "Ja" "Nein")
  526.                    )
  527.          )
  528.     )
  529. )
  530.  
  531. ;(debug "Rückgabe von AskBool" bool)
  532.  
  533. (if (= bool 1)
  534.     (
  535.         (working "Entpacke das Compilersystem..." " \n\n" "Assembler-Schnittstelle" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  536.         (makeassign "lhex_temp" destbin)
  537.  
  538.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-asm))
  539.         (if  ( <> COMPERROR 0)
  540.             (message
  541.                 "\n\n\n\n"
  542.                 "Fehler beim Entpacken der Assemblerschnittstelle.\n"
  543.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  544.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  545.                 " Lösch- oder Schreibgeschützt sind.")
  546.         )
  547.     )
  548. )
  549.  
  550. (complete 50)
  551.  
  552. (set bool 1)
  553.  
  554. (set destbinexists    (tackon destbin "STORMCPP"))
  555.  
  556. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; StormCPP vorhanden?
  557.     (
  558.         (set bool (askbool
  559.                         (prompt "\n\nMöchten Sie den neuen Lader \"StormCPP\" installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  560.                         (help !auswahlhilfe)
  561.                         (default 1)
  562.                         (choices "Ja" "Nein")
  563.                    )
  564.          )
  565.     )
  566. )
  567.  
  568. ;(debug "Rückgabe von AskBool" bool)
  569.  
  570. (if (= bool 1)
  571.     (
  572.         (working "Entpacke das Compilersystem..." " \n\n" "Ladeprogramm" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  573.         (makeassign "lhex_temp" destbin)
  574.  
  575.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-cpp))
  576.         (if  ( <> COMPERROR 0)
  577.             (message
  578.                 "\n\n\n\n"
  579.                 "Fehler beim Entpacken des Ladeprogramms.\n"
  580.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  581.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  582.                 " Lösch- oder Schreibgeschützt sind.")
  583.         )
  584.     )
  585. )
  586.  
  587. (complete 55)
  588.  
  589. (set bool 1)
  590.  
  591. (set destbinexists    (tackon destbin "STORMRUN"))
  592.  
  593. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Startbild vorhanden?
  594.     (
  595.         (set bool (askbool
  596.                         (prompt "\n\nMöchten Sie den Debugger \"StormRUN\" installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  597.                         (help !auswahlhilfe)
  598.                         (default 1)
  599.                         (choices "Ja" "Nein")
  600.                    )
  601.          )
  602.     )
  603. )
  604.  
  605. ;(debug "Rückgabe von AskBool" bool)
  606.  
  607. (if (= bool 1)
  608.     (
  609.         (working "Entpacke das Compilersystem..." " \n\n" "RunShell" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  610.         (makeassign "lhex_temp" destbin)
  611.  
  612.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-run))
  613.         (if  ( <> COMPERROR 0)
  614.             (message
  615.                 "\n\n\n\n"
  616.                 "Fehler beim Entpacken der RunShell.\n"
  617.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  618.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  619.                 " Lösch- oder Schreibgeschützt sind.")
  620.         )
  621.     )
  622. )
  623.  
  624. (complete 60)
  625.  
  626. (set bool 1)
  627.  
  628. (set destbinexists    (tackon destbin "STORMSHELL"))
  629.  
  630. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Shell vorhanden?
  631.     (
  632.         (set bool (askbool
  633.                         (prompt "\n\nMöchten Sie die Projektverwaltung \"StormShell\" installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  634.                         (help !auswahlhilfe)
  635.                         (default 1)
  636.                         (choices "Ja" "Nein")
  637.                    )
  638.          )
  639.     )
  640. )
  641.  
  642. ;(debug "Rückgabe von AskBool" bool)
  643.  
  644. (if (= bool 1)
  645.     (
  646.         (working "Entpacke das Compilersystem..." " \n\n" "StormShell" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  647.         (makeassign "lhex_temp" destbin)
  648.     
  649.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-shell))
  650.         (if  ( <> COMPERROR 0)
  651.             (message
  652.                 "\n\n\n\n"
  653.                 "Fehler beim Entpacken der StormShell.\n"
  654.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  655.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  656.                 " Lösch- oder Schreibgeschützt sind.")
  657.         )
  658.     )
  659. )
  660.  
  661.  
  662. (complete 65)
  663.  
  664. (set bool 1)
  665.  
  666. (set destbinexists    (tackon destbin "STORMSETTINGS.RUN"))
  667.  
  668. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Settings vorhanden?
  669.     (
  670.         (set bool (askbool
  671.                         (prompt "\n\nMöchten Sie die neuen Voreinstellungen installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  672.                         (help !auswahlhilfe)
  673.                         (default 1)
  674.                         (choices "Ja" "Nein")
  675.                    )
  676.          )
  677.     )
  678. )
  679.  
  680. ;(debug "Rückgabe von AskBool" bool)
  681.  
  682. (if (= bool 1)
  683.     (
  684.         (working "Entpacke das Compilersystem..." " \n\n" "Einstellungen" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  685.         (makeassign "lhex_temp" destbin)
  686.     
  687.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-settings))
  688.         (if  ( <> COMPERROR 0)
  689.             (message
  690.                 "\n\n\n\n"
  691.                 "Fehler beim Entpacken der Voreinstellungen.\n"
  692.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  693.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  694.                 " Lösch- oder Schreibgeschützt sind.")
  695.         )
  696.     )
  697. )
  698.  
  699. (complete 70)
  700.  
  701. (if          ; Voreinstellungs-Verzeichnis prüfen und gegebenenfalls schreiben
  702.     (= (exists "ENVARC:STORMCPP") 0)
  703.         (
  704.         (makeassign "lhex_temp")
  705.         (makeassign "lhex_temp" "ENVARC:")
  706.         (set ENVERROR (run "ram:lhex -qfw=lhex_temp: x " archive-env))
  707.         (if  ( <> ENVERROR 0)
  708.             (message
  709.                 "\n\n\n\n"
  710.                 "Fehler beim Installieren der ENV-Argumente.\n"))
  711.         (makeassign "lhex_temp")
  712.         (makeassign "lhex_temp" "ENV:")
  713.         (set ENVERROR (run "ram:lhex -qfw=lhex_temp: x " archive-env))
  714.         (if  ( <> ENVERROR 0)
  715.             (message
  716.                 "\n\n\n\n"
  717.                 "Fehler beim Installieren der ENV-Argumente.\n"))
  718.         (makeassign "lhex_temp")
  719.         )
  720. )
  721.  
  722. (complete 75)
  723.  
  724. (makeassign "lhex_temp")
  725.  
  726. ; Includes entpacken
  727.  
  728. (set bool 1)
  729.  
  730. (set destincludeexists    (tackon destinclude "assert.h"))
  731.  
  732. (if (AND (> @user-level 0) (> (exists destincludeexists) 0))            ; Includes vorhanden?
  733.     (
  734.         (set bool (askbool
  735.                         (prompt "\n\nMöchten Sie die 3.1-Includes überinstallieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  736.                         (help !auswahlhilfe)
  737.                         (default 1)
  738.                         (choices "Ja" "Nein")
  739.                    )
  740.          )
  741.     )
  742. )
  743.  
  744. ;(debug "Rückgabe von AskBool" bool)
  745.  
  746. (if (= bool 1)
  747.     (
  748.  
  749.         (working "Entpacke die OS 3.1 Includes..." " \n\n\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  750.  
  751.         (makeassign "lhex_temp" destinclude)
  752.  
  753.         (set INCLERROR (run "ram:lhex -qfw=lhex_temp: x " archive-include))
  754.         (if  ( <> INCLERROR 0)
  755.             (message
  756.                 "\n\n\n\n"
  757.                 "Fehler beim Entpacken der Includes.\n"
  758.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  759.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  760.                 " Lösch- oder Schreibgeschützt sind.")
  761.         )
  762.     )
  763. )
  764.  
  765.  
  766. (makeassign "lhex_temp")
  767.  
  768. (complete 80)
  769.  
  770. ; ansidemo entpacken
  771.  
  772. (set bool 1)
  773.  
  774. (set destdemoexists    (tackon destdemo "COLORWHEEL"))
  775.  
  776. (if (AND (> @user-level 0) (> (exists destdemoexists) 0))            ; Beispiele vorhanden?
  777.     (
  778.         (set bool (askbool
  779.                         (prompt "\n\nMöchten Sie die Beispiele überinstallieren?\n")
  780.                         (help !auswahlhilfe)
  781.                         (default 1)
  782.                         (choices "Ja" "Nein")
  783.                    )
  784.          )
  785.     )
  786. )
  787.  
  788. ;(debug "Rückgabe von AskBool" bool)
  789.  
  790. (if (= bool 1)
  791.     (
  792.  
  793.         (working "Entpacke die Beispiel-Dateien..." " \n\n\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  794.  
  795.         (makeassign "lhex_temp" destdemo)
  796.  
  797.         (set DEMOERROR (run "ram:lhex -qfw=lhex_temp: x " archive-demos))
  798.         (if  ( <> DEMOERROR 0)
  799.             (message
  800.                 "\n\n\n\n"
  801.                 "Fehler beim Entpacken der Beispieldateien.\n"
  802.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  803.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  804.                 " Lösch- oder Schreibgeschützt sind.")
  805.         )
  806.     )
  807. )
  808.  
  809. (makeassign "lhex_temp")
  810.  
  811. (complete 90)
  812.  
  813. (set bool 1)
  814.  
  815. (set destbinexists    (tackon destbin "MENUMANAGER.LIBRARY"))
  816.  
  817. (if (AND (> @user-level 0) (> (exists destbinexists) 0))            ; Menumanager.Library vorhanden?
  818.     (
  819.         (set bool (askbool
  820.                         (prompt "\n\nMöchten Sie die neue Menübibliothek Schnittstelle installieren?\n\nWenn Sie \"Nein\" wählen ist es möglich, daß Ihr System nach der Installation nicht mehr korrekt funktioniert!")
  821.                         (help !auswahlhilfe)
  822.                         (default 1)
  823.                         (choices "Ja" "Nein")
  824.                    )
  825.          )
  826.     )
  827. )
  828.  
  829. ;(debug "Rückgabe von AskBool" bool)
  830.  
  831. (if (= bool 1)
  832.     (
  833.         (working "Entpacke das Compilersystem..." " \n\n" "Menübibliothek" "\n\n\n" "(Das dauert eine geraume Zeit, bitte haben Sie etwas Geduld...)")
  834.         (makeassign "lhex_temp" destbin)
  835.  
  836.         (set COMPERROR (run "ram:lhex -qfw=lhex_temp: x " archive-menulib))
  837.         (if  ( <> COMPERROR 0)
  838.             (message
  839.                 "\n\n\n\n"
  840.                 "Fehler beim Entpacken der Menübibliothek.\n"
  841.                 "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  842.                 " und, falls die Dateien bereits vorhanden sind diese nicht "
  843.                 " Lösch- oder Schreibgeschützt sind.")
  844.         )
  845.     )
  846. )
  847.  
  848. (complete 95)
  849.  
  850.  
  851. ; ------- STARTUP ÄNDERN
  852.  
  853. (set command1 (cat  "ASSIGN STORMC: " folder ""))
  854.  
  855. (set command1.txt
  856.     (cat 
  857.          "\n\n\nUm mit StromC richtig arbeiten zu "
  858.       "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
  859.          command1
  860.     )
  861. )
  862.  
  863. (startup "StormC"
  864.     (prompt command1.txt)
  865.     (help #help-startup)
  866.     (command command1)
  867. )
  868.  
  869. (makeassign "STORMC")
  870. (makeassign "STORMC" folder)
  871.  
  872. (set FREERROR (run "StormC_Disk2:StormFree"))
  873.  
  874. ;(debug "Freerror ist " FREERROR)
  875.  
  876. (if  ( <> FREERROR 0)
  877.     (
  878.     (delete "STORMC:BIN/StormCPP")
  879.     (delete "STORMC:BIN/StormCPP.info")
  880.     (delete "STORMC:StormCPP.info")
  881.     (message
  882.         "\n\n\n\n"
  883.         "Fehler bei der Installation.\n"
  884.         "Die Installation war fehlerhaft!\n\n"
  885.         "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
  886.         " und, falls die Dateien bereits vorhanden sind diese nicht "
  887.         " Lösch- oder Schreibgeschützt sind.")
  888.     )
  889. )
  890.  
  891. (complete 100)
  892.  
  893. ; ------- FERTIG
  894.  
  895. ; Diskette 1 wieder einlegen!
  896.  
  897. ;(askdisk
  898. ;    (prompt #prp-insert-disk1)
  899. ;    (help #askdir-help)
  900. ;    (dest "StormC_Disk1")
  901. ;)
  902.  
  903. (run "run StormC_Disk2:C/More StormC:Liesmich")
  904.  
  905. (message (cat 
  906.     "Installation des StormC Compilers beendet.\n"
  907.    "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
  908.    "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
  909.    "Entfernen Sie nun die Diskette aus Ihrem Laufwerk und starten Sie "
  910.    "StormC.\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
  911. )
  912.  
  913. (exit (quiet))
  914.