home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 18 / amigaformatcd18.iso / mui / mui_install / install-mui < prev    next >
Text File  |  1997-03-04  |  27KB  |  792 lines

  1. ; $VER: Install-MUI 3.8 (02.02.97)
  2.  
  3. (set current_version "3.8")
  4. (set current_libver  19)
  5. (set lng @language)
  6. (set #tmpdir "t:mui.inst")
  7.  
  8. (complete 0)
  9.  
  10.  
  11.  
  12. ;=============================================================================
  13. ; Locale strings
  14.  
  15. (set #intro_0 (cat "\n\Magic User Interface " current_version "\n========================\n© 1992-97, Stefan Stuntz"))
  16.  
  17.  
  18. ;=============================================================================
  19. ; german
  20.  
  21. (if (= lng "deutsch")
  22. (
  23.  
  24. (set #intro_1      "Willkommen zum MUI Installationsprogramm. Hiermit können Sie MUI neu auf Ihrem System installieren oder eine bereits vorhandene, ältere Version von MUI ersetzen.")
  25. (set #intro_2      "Neue MUI Versionen sind immer abwärtskompatibel, alle MUI-Programme funktionieren weiter und profitieren automatisch von Verbesserungen im MUI-System.")
  26.  
  27. (set #obso_1       "\nWARNUNG\n=======\n\nDie auf Ihrer Festplatte installierte Datei\n\n")
  28. (set #obso_2       "\n\nist überflüssig und kann die Funktionsfähigkeit von MUI beeinträchtigen. Soll diese Datei nun gelöscht werden (dringend empfohlen)?")
  29. (set #obso_yes     "Ja, löschen!")
  30. (set #obso_no      "Nein, nicht löschen!")
  31. (set #obso_nodel1  "\nDie Funktionsfähigkeit von MUI kann durch das Vorhandensein der nicht gelöschten aber überflüssigen Datei\n\n")
  32. (set #obso_nodel2  "\n\nbeeinträchtigt werden. Falls MUI nach der Installation nicht funktioniert, löschen Sie die Datei bitte von Hand.")
  33. (set #obso_help    "\nAlle zu MUI gehörenden Dateien werden innerhalb eines einzigen Verzeichnises namens 'MUI' installiert. Wenn sich MUI-Dateien in Ihrem System außerhalb dieses Verzeichnises befinden (etwa weil diese von früheren Installationen übrig geblieben sind), kann das die Funktionsfähigkeit von MUI beeinträchtigen. \n\nEs wird deshalb dringend empfohlen, solche Dateien wie vom Installationsprogramm vorgeschlagen zu löschen.")
  34.  
  35. (set #oldmui_1     "ist auf Ihrem System bereits im Verzeichnis\n\n")
  36. (set #oldmui_2_1   "\n\nvorhanden. Sie können diese Installation updaten (empfohlen) oder ein neues Verzeichnis auswählen.")
  37. (set #oldmui_2_2   "\n\nvorhanden. Dieses Paket ist bereits aktueller als die Dateien die Sie gerade installieren möchen. Sie können die Installation nun abbrechen (empfohlen) oder das Verzeichnis wechseln.")
  38. (set #oldmui_yes_1 "Update")
  39. (set #oldmui_yes_2 "Abbrechen")
  40. (set #oldmui_no    "Verzeichnis wechseln")
  41.  
  42. (set #destdir      "Bitte wählen Sie einen Platz für MUI. Ein Verzeichnis namens 'MUI' wird dort automatisch erzeugt. Der minimale Platzbedarf beträgt 500 kB, eine Komplett-Installation benötigt etwa 2.5 MB.")
  43. (set #destexists_1 "\nIm gewählten Zielverzeichnis\n\n")
  44. (set #destexists_2 "\n\nexistiert bereits eine MUI-Schublade. Wenn Sie fortfahren, wird die dort befindliche MUI-Installation aktualisiert.")
  45.  
  46. (set #guideask     "\nBitte wählen Sie die Sprache(n) für die AmigaGuide Dokumentation aus. Diese wird unter anderem für die Online-Hilfe im Voreinsteller und Screen Manager benötigt.")
  47. (set #dviask       "\nBitte wählen Sie die Sprache(n) für die DVI Dokumentation aus. DVI Dokumentationen werden hauptsächlich zum Ausdrucken benötigt.")
  48. (set #imgask       "\nWählen Sie die zusätzlichen Image-Pakete aus, die Sie installieren möchten.")
  49.  
  50. (set #nainfo1      "Mit")
  51. (set #nainfo2      "(n/a)")
  52. (set #nainfo3      "markierte Elemente sind aus Platzmangel im aktuellen Installations-Archiv nicht verfügbar.")
  53.  
  54. (set #copying      "\nKopiere ")
  55. (set #copydoc2     "Dokumentation")
  56. (set #copydoc3     "ist im aktuellen Installations-Archiv nicht verfügbar, sie wurden aus Platzmangel weggelassen. MUI benötigt diese Dateien nicht zur korrekten Funktion.")
  57.  
  58. (set #finished_0   "MUI wurde erfolgreich installiert im Verzeichnis")
  59. (set #finished_1   "Bitte starten Sie nun Ihren Rechner neu, um MUI ins System einzubinden.")
  60.  
  61. (set #demosdrawer  "\nMUI-Beispielprogramme demonstrieren einige der Möglichkeiten, mit denen man Benutzeroberflächen gestalten kann. Eine Installation ist für die korrekte Funktion von MUI jedoch nicht erforderlich. Wollen Sie die MUI-Beispielprogramme (ca. 250 kB) jetzt installieren?")
  62.  
  63. (set #yes          "Ja")
  64. (set #no           "Nein")
  65.  
  66. (set #extracting   "Entpacke Dateien aus komprimierter Distribution...")
  67.  
  68. (set #reg_prompt "Vielen Dank, daß Sie sich für MUI registriert haben. Um MUI-Demoversionen in registrierte Vollversionen zu verwandeln, muß Ihr personalisiertes Keyfile auf Ihrer Festplatte im S: Verzeichnis installiert werden. Wollen Sie das jetzt tun (empfohlen)?")
  69. (set #reg_yes    "Ja, Keyfile installieren")
  70. (set #reg_no     "Nein, Keyfile nicht installieren")
  71. (set #reg_help   "\nDas Keyfile verwandelt Demoversionen von MUI in registrierte Vollversionen. Nach seiner Installation im S: Verzeichnis Ihrer Festplatte werden alle Möglichkeiten von MUI verfügbar sein. Das Keyfile ist personalisiert und darf unter keinen Umständen weitergegeben werden.")
  72. (set #reg_noway  "\nSie haben sich entschieden, daß Keyfile jetzt nicht zu installieren. Die nur für registrierte Benutzer zugänglichen Optionen werden gesperrt sein.\n\nSie können das Installationsprogramm jederzeit wieder starten oder das Keyfile von Hand kopieren. Benutzen Sie dazu einen Befehl wie\n\ncopy df0:mui.key S:")
  73.  
  74. )
  75.  
  76.  
  77. ;=============================================================================
  78. ; english
  79.  
  80. (
  81.  
  82. (set #intro_1      "Welcome to the MUI installation program. Use this tool to install MUI on your system or to update a previously installed MUI release.")
  83. (set #intro_2      "All new versions of MUI are backwards compatible, all MUI programs will continue to work and automatically benefit from new features.")
  84.  
  85. (set #obso_1       "\nWARNING\n=======\n\nThe file\n\n")
  86. (set #obso_2       "\n\non your harddisk is unneccessary and may cause MUI to malfunction. Shall this file be deleted (recommended)?")
  87. (set #obso_yes     "Yes, delete")
  88. (set #obso_no      "No, don't delete")
  89. (set #obso_nodel1  "\nThe presence of the file\n\n")
  90. (set #obso_nodel2  "\n\nmay cause MUI to malfunction after the installation. If you encounter problems, please delete the file.")
  91. (set #obso_help    "\nAll MUI files belong to a single directory called 'MUI'. If there are any MUI files outside this directory (e.g. because they were left over from a previous installation), MUI might not work as expected.\n\nIt is strongly recommended to delete those files, like suggested by the installation program.")
  92.  
  93. (set #oldmui_1     "is already installed in the drawer\n\n")
  94. (set #oldmui_2_1   "\n\nYou can update this installation (recommended) or select a new drawer.")
  95. (set #oldmui_2_2   "\n\nThis package is more recent than the files you're about to install. You can abort this installation (recommended) or select a new drawer.")
  96. (set #oldmui_yes_1 "Update")
  97. (set #oldmui_yes_2 "Abort")
  98. (set #oldmui_no    "Change drawer")
  99.  
  100. (set #destdir      "Please select a place for the MUI package. A drawer called 'MUI' will be created here. The minimum space required is about 500 kB, a complete installation takes 2.5 MB.")
  101. (set #destexists_1 "\nThe directory\n\n")
  102. (set #destexists_2 "\n\nalready contains a MUI drawer. If you continue, the MUI installation in this drawer is updated.")
  103.  
  104. (set #guideask     "Select the language(s) of AmigaGuide documentations you wish to install. You must choose at least one language if you want to use online help with the MUI preferences programs.")
  105. (set #dviask       "Select the language(s) of DVI documentations you wish to install. DVI docs are mainly useful for printing.")
  106. (set #imgask       "Select the image set(s) you wish to install.")
  107.  
  108. (set #nainfo1      "Items marked as")
  109. (set #nainfo2      "(n/a)")
  110. (set #nainfo3      "are not available in the current distribution archive due to space considerations.")
  111.  
  112. (set #copying      "\nCopying ")
  113. (set #copydoc2     "documenation")
  114. (set #copydoc3     "is not present in the current installation archive. It has probably been left out due to space considerations. However, MUI will run fine without those files.")
  115.  
  116. (set #finished_0   "MUI was successfully installed in the drawer")
  117. (set #finished_1   "Please reboot your machine before starting any MUI applications.")
  118.  
  119. (set #demosdrawer  "\nMUI example programs demonstrate some of the posssibilities that MUI offers for creation of user interfaces. They are not required for a working MUI installation. Do you want to install the example programs (about 250 kB) now?")
  120.  
  121. (set #yes          "Yes")
  122. (set #no           "No" )
  123.  
  124. (set #extracting   "Extracting files from compressed distribution...")
  125.  
  126. (set #reg_prompt "Thank you very much for purchasing MUI. To turn your demo version into a registered version, your personalized keyfile needs to be installed on your hard disk in the S: directory. Do you want to do that now (recommended)?")
  127. (set #reg_yes    "Yes, install keyfile")
  128. (set #reg_no     "No, don't install keyfile")
  129. (set #reg_help   "\nThe keyfile turns any MUI demo version into a registered version. After installation in the S: directory of your harddisk, all features will be enabled. The keyfile is personalized with your name and address and may not be redistributed under any circumstances.")
  130. (set #reg_noway  "\nYou choose not to install your keyfile. The options for registered users won't be enabled until you do that.\n\nYou can restart the installer script later or copy the keyfile manually with a command like\n\ncopy df0:mui.key S:")
  131.  
  132. ))
  133.  
  134.  
  135.  
  136. ;=============================================================================
  137. ; procedure COPYDOC
  138. ;
  139. ; cd_language - language
  140. ; cd_name     - "MUI.guide" or "MUI.dvi"
  141. ; cd_srcdir    - Docs dir
  142.  
  143. (procedure COPYDOC
  144. (
  145.     (set cdsrc (tackon (tackon cd_srcdir cd_language) cd_name))
  146.     (set cddst (tackon (tackon destination "Docs") cd_language))
  147.  
  148.     (if (<> (exists cdsrc (noreq)) 0)
  149.     (
  150.         (run (cat "copy " (tackon cd_srcdir cd_language) ".info " "\"" cddst ".info" "\"" ))
  151.  
  152.         (copyfiles
  153.             (prompt #copying cd_language " " cd_name " " #copydoc2 "...")
  154.             (source cdsrc)
  155.             (dest cddst)
  156.             (infos)
  157.             (help @copyfiles-help)
  158.             (confirm "expert")
  159.         )
  160.     )
  161.     (
  162.         (message cd_name " (" cd_language ") " #copydoc3)
  163.     ))
  164. ))
  165.  
  166.  
  167.  
  168. ;=============================================================================
  169. ; procedure COPYIMAGEDIR
  170. ;
  171. ; ci_dir - image dir name
  172.  
  173. (procedure COPYIMAGEDIR
  174. (
  175.     (set cdsrc ci_dir)
  176.     (set cddst (tackon (tackon destination "Images") (fileonly ci_dir)))
  177.  
  178.     (if (exists cdsrc (noreq))
  179.     (
  180.         (copyfiles
  181.             (prompt #copying ci_dir "...")
  182.             (source cdsrc)
  183.             (dest cddst)
  184.             (all)
  185.             (help @copyfiles-help)
  186.             (confirm "expert")
  187.         )
  188.     )
  189.     (
  190.         (message ci_dir " " #copydoc3)
  191.     )
  192.     )
  193. )
  194. )
  195.  
  196.  
  197.  
  198. ;=============================================================================
  199. ; procedure CHECKOBSO
  200. ;
  201. ; co_name - name of obsolete file/dir
  202.  
  203. (procedure CHECKOBSO
  204. (
  205.     (if (exists co_name (noreq))
  206.     (
  207.         (if (askbool (prompt #obso_1 co_name #obso_2) (choices #obso_yes #obso_no) (default 1) (help #obso_help))
  208.         (
  209.             (run (cat "delete all force quiet " co_name))
  210.         )
  211.         (
  212.             (message (cat #obso_nodel1 co_name #obso_nodel2))
  213.         )
  214.         )
  215.     )
  216.     )
  217. )
  218. )
  219.  
  220.  
  221.  
  222. ;=============================================================================
  223. ; procedure COPYDRAWER
  224. ;
  225. ; cd_name - name of drawer
  226. ; cd_ask - prompt
  227. ; cd_opts - additional options
  228.  
  229. (procedure COPYDRAWER
  230. (
  231.     (set #sdir (P_PREPARE cd_name))
  232.  
  233.     (if (exists (tackon #sdir cd_name) (noreq))
  234.     (
  235.         (set doit 1)
  236.  
  237.         (if (> (strlen cd_ask) 0)
  238.         (
  239.             (if (askbool (prompt cd_ask) (choices #yes #no) (default 1) (help @askbool-help))
  240.             (
  241.                 (set doit 1)
  242.             )
  243.             (
  244.                 (set doit 0)
  245.             )
  246.             )
  247.         )
  248.         )
  249.  
  250.         (if (= doit 1)
  251.         (
  252.             (P_COPYFILE 0 (cat (tackon #sdir cd_name) ".info") destination)
  253.             ;(run (cat "copy " cd_name ".info \"" destination "\"" ))
  254.  
  255.             (copyfiles
  256.                 (prompt #copying cd_name " drawer...")
  257.                 (source (tackon #sdir cd_name))
  258.                 (dest (tackon destination cd_name))
  259.                 (all)
  260.                 (infos)
  261.                 (help @copyfiles-help)
  262.                 (confirm "expert")
  263.                 (optional cd_opts)
  264.             )
  265.         )
  266.         )
  267.     )
  268.     )
  269.  
  270.     (P_CLEANTMP)
  271. )
  272. )
  273.  
  274.  
  275.  
  276. (procedure P_COPYDIR #lib #sourcedir #destdir
  277. (
  278.     (transcript #lib " " #sourcedir " " #destdir " " #wix)
  279.  
  280.     (if (exists #sourcedir)
  281.     (
  282.         (foreach #sourcedir "#?"
  283.         (
  284.             (if (< @each-type 0)
  285.                 (P_COPYFILE #lib (tackon #sourcedir @each-name) #destdir)
  286.             )
  287.         )
  288.         )
  289.     )
  290.     )
  291. )
  292. )
  293.  
  294.  
  295. (procedure P_COPYFILE #lib #srcname #dstdir
  296. (
  297.     (if #lib
  298.     (
  299.         (copylib
  300.             (prompt #copying #srcname "...")
  301.             (help @copylib-help)
  302.             (source #srcname)
  303.             (dest #dstdir)
  304.             (optional "force" "askuser")
  305.             (confirm "expert")
  306.             (infos)
  307.         )
  308.     )
  309.     (
  310.         ;(transcript "copy '" #srcname "'")
  311.  
  312.         (copyfiles
  313.             (prompt #copying #srcname "...")
  314.             (help @copyfiles-help)
  315.             (source #srcname)
  316.             (dest #dstdir)
  317.             (optional "force" "askuser")
  318.             (confirm "expert")
  319.             (infos)
  320.         )
  321.     )
  322.     )
  323. )
  324. )
  325.  
  326.  
  327. (procedure P_PREPARE #drw
  328. (
  329.     (if (exists (#drw))
  330.     (
  331.         (cat "")
  332.     )
  333.     (
  334.         (if (= #drw "MUI")
  335.         (
  336.             ; prepare root dir
  337.             (P_EXTRACT "MUI MUI.info PSI PSI.info \" \" \" .info\"")
  338.             (cat #tmpdir)
  339.         )
  340.         (
  341.             (P_EXTRACT (cat #drw "/* " #drw ".info"))
  342.             (cat #tmpdir)
  343.         )
  344.         )
  345.     )
  346.     )
  347. )
  348. )
  349.  
  350.  
  351. (procedure P_EXTRACT #pats
  352. (
  353.     (working #extracting)
  354.     (run (cat "t:unlzx -m x muipack.lzx " #pats " " #tmpdir "/"))
  355. )
  356. )
  357.  
  358.  
  359. (procedure P_CLEANTMP
  360. (
  361.     (if (exists #tmpdir)
  362.     (
  363.         (run (cat "delete \"" (tackon #tmpdir "#?") "\" all quiet"))
  364.     )
  365.     )
  366. )
  367. )
  368.  
  369.  
  370.  
  371. ;=============================================================================
  372. ; Copy keyfile if registered version
  373.  
  374. (if (exists "/mui.key")
  375. (
  376.     (if (askbool (prompt (cat #intro_0 "\n\n" #reg_prompt)) (choices #reg_yes #reg_no) (default 1) (help #reg_help))
  377.     (
  378.         (copyfiles
  379.             (prompt #reg_copying)
  380.             (source "/mui.key")
  381.             (dest "S:")
  382.             (help @copyfiles-help)
  383.             (confirm "expert")
  384.         )
  385.     )
  386.     (
  387.         (message #reg_noway)
  388.     )
  389.     )
  390. )
  391. )
  392.  
  393.  
  394. ;=============================================================================
  395. ; Say hello
  396.  
  397. ;(set @default-dest "Work:")
  398. (message #intro_0 "\n\n" #intro_1 "\n\n" #intro_2)
  399.  
  400. (if (exists "muipack.lzx")
  401. (
  402.     (run "copy unlzx t:")
  403.     (if (= (exists #tmpdir) 0) ( (makedir #tmpdir (help @makedir-help)) ))
  404. )
  405. )
  406.  
  407.  
  408.  
  409. ;=============================================================================
  410. ; Obsolete File Check
  411.  
  412. (complete 5)
  413.  
  414. (set co_name "sys:libs/muiwinborder.class"     ) (CHECKOBSO)
  415. (set co_name "sys:libs/muiscreen.library"      ) (CHECKOBSO)
  416. (set co_name "sys:libs/muirexx.library"        ) (CHECKOBSO)
  417. (set co_name "sys:libs/muipropg.class"         ) (CHECKOBSO)
  418. (set co_name "sys:libs/muimaster.library"      ) (CHECKOBSO)
  419. (set co_name "sys:libs/muilowlevel.library"    ) (CHECKOBSO)
  420. (set co_name "sys:libs/muilocale.library"      ) (CHECKOBSO)
  421. (set co_name "sys:libs/muihelp.library"        ) (CHECKOBSO)
  422. (set co_name "sys:libs/muigfx.library"         ) (CHECKOBSO)
  423. (set co_name "sys:libs/muiconfig.library"      ) (CHECKOBSO)
  424. (set co_name "sys:libs/muiwinscroller.class"   ) (CHECKOBSO)
  425. (set co_name "sys:libs/muipop.library"         ) (CHECKOBSO)
  426. (set co_name "sys:libs/muispecial.library"     ) (CHECKOBSO)
  427. (set co_name "sys:libs/mui"                    ) (CHECKOBSO)
  428.  
  429. (set co_name "sys:classes/muiwinborder.class"  ) (CHECKOBSO)
  430. (set co_name "sys:classes/muiscreen.library"   ) (CHECKOBSO)
  431. (set co_name "sys:classes/muirexx.library"     ) (CHECKOBSO)
  432. (set co_name "sys:classes/muipropg.class"      ) (CHECKOBSO)
  433. (set co_name "sys:classes/muimaster.library"   ) (CHECKOBSO)
  434. (set co_name "sys:classes/muilowlevel.library" ) (CHECKOBSO)
  435. (set co_name "sys:classes/muilocale.library"   ) (CHECKOBSO)
  436. (set co_name "sys:classes/muihelp.library"     ) (CHECKOBSO)
  437. (set co_name "sys:classes/muigfx.library"      ) (CHECKOBSO)
  438. (set co_name "sys:classes/muiconfig.library"   ) (CHECKOBSO)
  439. (set co_name "sys:classes/muiwinscroller.class") (CHECKOBSO)
  440. (set co_name "sys:classes/muipop.library"      ) (CHECKOBSO)
  441. (set co_name "sys:classes/muispecial.library"  ) (CHECKOBSO)
  442. ;(set co_name "sys:classes/mui"                 ) (CHECKOBSO)
  443.  
  444. (set co_name "sys:prefs/MUI"                   ) (CHECKOBSO)
  445. (set co_name "sys:prefs/MUI.info"              ) (CHECKOBSO)
  446. (set co_name "sys:prefs/PSI"                   ) (CHECKOBSO)
  447. (set co_name "sys:prefs/PSI.info"              ) (CHECKOBSO)
  448.  
  449.  
  450.  
  451. ;=============================================================================
  452. ; Select destination directory
  453.  
  454. (complete 10)
  455.  
  456. (set seldir 1)
  457.  
  458. (if (<> (exists "mui:" (noreq)) 0)
  459. (
  460.     (set @default-dest (expandpath "mui:/"))
  461.  
  462.     (set vernum 0)
  463.     (if (<> (exists "mui:MUI" (noreq)) 0) (set vernum (getversion "mui:MUI"))
  464.     (if (<> (exists "mui:PSI" (noreq)) 0) (set vernum (getversion "mui:PSI"))
  465.     ))
  466.  
  467.     (set ver (/ vernum 65536))
  468.  
  469.     (if (= ver  0) (set verstr ""   )
  470.     (if (< ver  6) (set verstr "1.x")
  471.     (if (= ver  6) (set verstr "1.4")
  472.     (if (= ver  7) (set verstr "2.0")
  473.     (if (= ver  8) (set verstr "2.1")
  474.     (if (= ver  9) (set verstr "2.2")
  475.     (if (= ver 10) (set verstr "2.3")
  476.     (if (= ver 11) (set verstr "3.0")
  477.     (if (= ver 12) (set verstr "3.1")
  478.     (if (= ver 13) (set verstr "3.2")
  479.     (if (= ver 14) (set verstr "3.3")
  480.     (if (= ver 15) (set verstr "3.4")
  481.     (if (= ver 16) (set verstr "3.5")
  482.     (if (= ver 17) (set verstr "3.6")
  483.     (if (= ver 18) (set verstr "3.7")
  484.     (if (= ver 19) (set verstr "3.8")
  485.     (if (= ver 20) (set verstr "3.9")
  486.     (if (> ver 20) (set verstr ""   )
  487.     ))))))))))))))))))
  488.  
  489.     (if (= (strlen verstr) 3)
  490.         (set verstr (cat verstr " (library versions " ver ".x)"))
  491.         (set verstr "(unknown version)")
  492.     )
  493.  
  494.     (if (> ver current_libver)
  495.     (
  496.         (if (askbool (prompt "\nMUI " verstr " " #oldmui_1 @default-dest #oldmui_2_2) (choices #oldmui_yes_2 #oldmui_no) (help @askbool-help))
  497.         (
  498.             (exit (quiet))
  499.         )
  500.         )
  501.     )
  502.     (
  503.         (if (askbool (prompt "\nMUI " verstr " " #oldmui_1 @default-dest #oldmui_2_1) (choices #oldmui_yes_1 #oldmui_no) (help @askbool-help))
  504.         (
  505.             (set seldir 0)
  506.         )
  507.         )
  508.     )
  509.     )
  510. )
  511. )
  512.  
  513. (if (<> seldir 0)
  514. (
  515.     (set @default-dest
  516.         (askdir
  517.             (prompt #destdir)
  518.             (help @askdir-help)
  519.             (default @default-dest)
  520.         )
  521.     )
  522.  
  523.     (set @default-dest (expandpath @default-dest))
  524. )
  525. )
  526.  
  527. (set destination (tackon @default-dest "MUI"))
  528.  
  529. (if (<> seldir 0)
  530. (
  531.     (if (<> (exists destination) 0)
  532.     (
  533.         (message (cat #destexists_1 @default-dest #destexists_2))
  534.     )
  535.     )
  536. )
  537. )
  538.  
  539.  
  540.  
  541. ;=============================================================================
  542. ; Lets go, create destination directory, copy main files and libs
  543.  
  544. (complete 15)
  545.  
  546. ; create destination directory
  547. (if (= (exists destination) 0) ( (makedir destination (help @makedir-help)) ))
  548.  
  549. ;mui drawer icon
  550. ;(if (not (exists (cat destination ".info")))
  551. ;(
  552.     (if (exists "/MUI-IBrowse.info") (run (cat "copy /MUI-IBrowse.info \"" destination ".info\""))
  553.     (if (exists "/MUI.info"        ) (run (cat "copy /MUI.info         \"" destination ".info\""))
  554.     ))
  555.  
  556.     (tooltype (dest destination) (noposition))
  557. ;)
  558. ;)
  559.  
  560. (complete 20)
  561.  
  562.  
  563. (copyfiles
  564.     (prompt (cat #copying "readme files ..."))
  565.     (source "")
  566.     (pattern "(ReadMe|LiesMich| )")
  567.     (dest destination)
  568.     (infos)
  569.     (help @copyfiles-help)
  570.     (confirm "expert")
  571. )
  572.  
  573. (complete 21)
  574.  
  575. (set #sdir (P_PREPARE "MUI"))
  576.  
  577. (P_COPYFILE 1 (tackon #sdir "MUI") destination)
  578. (P_COPYFILE 1 (tackon #sdir "PSI") destination)
  579. (P_COPYFILE 1 (tackon #sdir " ") destination)
  580.  
  581. (P_CLEANTMP)
  582.  
  583. (complete 22)
  584.  
  585.  
  586.  
  587. ;=============================================================================
  588. ; Libs
  589.  
  590. (set #sdir (P_PREPARE "Libs"))
  591.  
  592. (P_COPYFILE 0 (tackon #sdir "Libs.info") destination)
  593. (P_COPYDIR  1 (tackon #sdir "Libs"    ) (tackon destination "Libs"    ))
  594. (P_COPYDIR  1 (tackon #sdir "Libs/mui") (tackon destination "Libs/mui"))
  595.  
  596. (P_CLEANTMP)
  597.  
  598. (complete 30)
  599.  
  600.  
  601. ;=============================================================================
  602. ; Locale
  603.  
  604. (set #sdir (P_PREPARE "Locale"))
  605.  
  606. (P_COPYFILE 0 (tackon #sdir "Locale.info") destination)
  607. (if (= (exists (tackon destination "Locale"         )) 0) ( (makedir (tackon destination "Locale"         ) (help @makedir-help)) ))
  608. (if (= (exists (tackon destination "Locale/Catalogs")) 0) ( (makedir (tackon destination "Locale/Catalogs") (help @makedir-help)) ))
  609. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/deutsch"   ) (tackon destination "Locale/Catalogs/deutsch"   ))
  610. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/svenska"   ) (tackon destination "Locale/Catalogs/svenska"   ))
  611. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/greek"     ) (tackon destination "Locale/Catalogs/greek"     ))
  612. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/français"  ) (tackon destination "Locale/Catalogs/français"  ))
  613. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/català"    ) (tackon destination "Locale/Catalogs/català"    ))
  614. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/dansk"     ) (tackon destination "Locale/Catalogs/dansk"     ))
  615. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/suomi"     ) (tackon destination "Locale/Catalogs/suomi"     ))
  616. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/polski"    ) (tackon destination "Locale/Catalogs/polski"    ))
  617. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/czech"     ) (tackon destination "Locale/Catalogs/czech"     ))
  618. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/italiano"  ) (tackon destination "Locale/Catalogs/italiano"  ))
  619. (P_COPYDIR 1 (tackon #sdir "Locale/Catalogs/nederlands") (tackon destination "Locale/Catalogs/nederlands"))
  620.  
  621. (P_CLEANTMP)
  622.  
  623. (complete 32)
  624.  
  625.  
  626. ;=============================================================================
  627. ; Images
  628.  
  629. (complete 34)
  630.  
  631. (set #sdir (P_PREPARE "Images"))
  632.  
  633. (set #idir (tackon #sdir "Images"))
  634. (if (<> (exists #idir (noreq)) 0)
  635. (
  636.     (set img_xen    "Martin 'MagicWB' Huttenloher") (if (= (exists (tackon #idir "XEN"   )) 0) (set img_xen    (cat img_xen    " " #nainfo2)))
  637.     (set img_goonie "Andreas 'Goonie' Schildbach" ) (if (= (exists (tackon #idir "Goonie")) 0) (set img_goonie (cat img_goonie " " #nainfo2)))
  638.     (set img_kt     "Christian 'Kochtopf' Scholz" ) (if (= (exists (tackon #idir "KT"    )) 0) (set img_kt     (cat img_kt     " " #nainfo2)))
  639.     (set img_kmel   "Klaus 'kmel' Melchior"       ) (if (= (exists (tackon #idir "kmel"  )) 0) (set img_kmel   (cat img_kmel   " " #nainfo2)))
  640.     (set img_wd     "Walter Dörwald"              ) (if (= (exists (tackon #idir "WD"    )) 0) (set img_wd     (cat img_wd     " " #nainfo2)))
  641.  
  642.     (set choice
  643.         (askoptions
  644.             (prompt #imgask " " #nainfo1 " " #nainfo2 " " #nainfo3)
  645.             (choices img_xen img_goonie img_kt img_wd img_kmel)
  646.             (help @askoptions-help)
  647.         )
  648.     )
  649.  
  650.     (complete 35)
  651.  
  652.     (makedir (tackon destination "Images"))
  653.     (P_COPYFILE 0 (tackon #sdir "Images.info") destination)
  654.  
  655.     (complete 39) (if (BITAND choice  1) ( (set ci_dir (tackon #idir "XEN"   )) (COPYIMAGEDIR) ))
  656.     (complete 41) (if (BITAND choice  2) ( (set ci_dir (tackon #idir "Goonie")) (COPYIMAGEDIR) ))
  657.     (complete 43) (if (BITAND choice  4) ( (set ci_dir (tackon #idir "KT"    )) (COPYIMAGEDIR) ))
  658.     (complete 45) (if (BITAND choice  8) ( (set ci_dir (tackon #idir "WD"    )) (COPYIMAGEDIR) ))
  659.     (complete 47) (if (BITAND choice 16) ( (set ci_dir (tackon #idir "kmel"  )) (COPYIMAGEDIR) ))
  660.     (complete 49)                          (set ci_dir (tackon #idir "Misc"  )) (COPYIMAGEDIR)
  661. )
  662. )
  663.  
  664. (P_CLEANTMP)
  665.  
  666.  
  667.  
  668. ;=============================================================================
  669. ; Docs Drawer
  670.  
  671. (complete 50)
  672.  
  673. (set #sdir (P_PREPARE "Docs"))
  674.  
  675. (set #ddir (tackon #sdir "Docs"))
  676. (if (exists #ddir)
  677. (
  678.     (P_COPYFILE 0 (tackon #sdir "Docs.info") destination)
  679.  
  680.     (if (exists (tackon destination "Docs/Preview"     )) (delete (tackon destination "Docs/Preview"     ) (infos)))
  681.     (if (exists (tackon destination "Docs/Deutsch"     )) (delete (tackon destination "Docs/Deutsch"     ) (all)  ))
  682.     (if (exists (tackon destination "Docs/English"     )) (delete (tackon destination "Docs/English"     ) (all)  ))
  683.     (if (exists (tackon destination "Docs/Deutsch.info")) (delete (tackon destination "Docs/Deutsch.info")        ))
  684.     (if (exists (tackon destination "Docs/English.info")) (delete (tackon destination "Docs/English.info")        ))
  685.  
  686.     (copyfiles
  687.         (prompt "Creating Docs Drawer...")
  688.         (source #ddir)
  689.         (dest (tackon destination "Docs"))
  690.         (pattern "~(#?.lzx|English#?|Deutsch#?)")
  691.         (infos)
  692.         (help @copyfiles-help)
  693.         (confirm "expert")
  694.     )
  695.  
  696.     ; !!!
  697.     (if (exists "Docs/misc.lzx")
  698.     (
  699.         (run (cat "t:unlzx -m e Docs/misc.lzx \"" (tackon destination "Docs") "/\""))
  700.     )
  701.     )
  702.  
  703.     (if (exists (tackon #ddir "English/MUI.guide"))
  704.     ((set guide_english "English") (if (= lng "english") ((set defchoice 1))) )
  705.     ((set guide_english (cat "English " #nainfo2))))
  706.  
  707.     (if (exists (tackon #ddir "Deutsch/MUI.guide"))
  708.     ((set guide_german "Deutsch") (if (= lng "deutsch") ((set defchoice 2))) )
  709.     ((set guide_german (cat "Deutsch " #nainfo2))))
  710.  
  711.     (if (exists (tackon #ddir "Français/MUI.guide"))
  712.     ((set guide_french "Français") (if (= lng "français") ((set defchoice 4))) )
  713.     ((set guide_french (cat "Français " #nainfo2))))
  714.  
  715.     (set choice
  716.         (askoptions
  717.             (prompt #guideask " " #nainfo1 " " #nainfo2 " " #nainfo3)
  718.             (choices guide_english guide_german guide_french)
  719.             (default defchoice)
  720.             (help @askoptions-help)
  721.         )
  722.     )
  723.  
  724.     (set cd_name "MUI.guide")
  725.     (complete 53) (if (BITAND choice 1) ( (set cd_language "English" ) (set cd_srcdir #ddir) (COPYDOC) ))
  726.     (complete 56) (if (BITAND choice 2) ( (set cd_language "Deutsch" ) (set cd_srcdir #ddir) (COPYDOC) ))
  727.     (complete 59) (if (BITAND choice 4) ( (set cd_language "Français") (set cd_srcdir #ddir) (COPYDOC) ))
  728.  
  729.     (complete 60)
  730.  
  731.     (delete unarced)
  732. )
  733. )
  734.  
  735. (P_CLEANTMP)
  736.  
  737.  
  738.  
  739. ;=============================================================================
  740. ; Other drawers
  741.  
  742. (complete 65) (set cd_name "Demos"   ) (set cd_ask #demosdrawer) (set cd_opts ""      ) (COPYDRAWER)
  743. (complete 70) (set cd_name "Icons"   ) (set cd_ask ""          ) (set cd_opts ""      ) (COPYDRAWER)
  744. (complete 75) (set cd_name "Presets" ) (set cd_ask ""          ) (set cd_opts ""      ) (COPYDRAWER)
  745. (complete 80) (set cd_name "Rexx"    ) (set cd_ask ""          ) (set cd_opts ""      ) (COPYDRAWER)
  746. (complete 85) (set cd_name "Goodies" ) (set cd_ask ""          ) (set cd_opts ""      ) (COPYDRAWER)
  747. (complete 90) (set cd_name "Patterns") (set cd_ask ""          ) (set cd_opts "nofail") (COPYDRAWER)
  748.  
  749.  
  750. (if (exists (tackon destination "Install")) (delete (tackon destination "Install") (all)))
  751.  
  752.  
  753. ;=============================================================================
  754. ; Startup Sequence
  755.  
  756. (complete 93)
  757.  
  758. (startup "MUI"
  759.     (prompt "Some commands will be added to your \"s:user-startup\" file.")
  760.     (help @startup-help)
  761.     (command "if exists \"" destination "\"\n")
  762.     (command "   assign MUI: \"" destination "\"\n")
  763.     (command "   if exists MUI:Libs\n")
  764.     (command "      assign add LIBS: MUI:Libs\n")
  765.     (command "   endif\n")
  766.     (command "   if exists MUI:Locale\n")
  767.     (command "      assign add LOCALE: MUI:Locale\n")
  768.     (command "   endif\n")
  769.     (command "   version >nil: exec.library 39\n")
  770.     (command "   if not warn\n")
  771.     (command "      if exists MUI:Docs\n")
  772.     (command "         if exists HELP:dummy ; do not remove\n")
  773.     (command "         endif                ; this entry!\n")
  774.     (command "         assign add HELP: MUI:Docs\n")
  775.     (command "      endif\n")
  776.     (command "   endif\n")
  777.     (command "endif")
  778. )
  779.  
  780.  
  781.  
  782. ;=============================================================================
  783. ; Finish
  784.  
  785. (complete 95)
  786.  
  787. (run (cat "assign mui: " "\"" destination "\""))
  788.  
  789. (complete 100)
  790.  
  791. (exit #intro_0 "\n\n" #finished_0 "\n\n" destination "\n\n" #finished_1 (quiet))
  792.