home *** CD-ROM | disk | FTP | other *** search
/ Hidden Truth / Hidden Truth.iso / amiga / other / mui / install-mui < prev    next >
Encoding:
Text File  |  1997-02-05  |  26.4 KB  |  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.