home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 3 / CD_Magazyn_EXEC_nr_3.iso / Recent / hard / hack / mccontrol.lha / MCControl / Install / MCControl.install < prev    next >
Encoding:
Text File  |  2000-08-22  |  29.7 KB  |  802 lines

  1. ; $VER: MCControl.install 1.48 (14.07.00)
  2. ; Install script for MCControl (Workbench 2.0 or higher)
  3. ;
  4. (COMPLETE 0)
  5. ;(USER 2)
  6. (SET #ApplicationName "MCControl")
  7. (SET #ApplicationDir "sys:tools")
  8. (SET #ApplicationDir1 "sys:utilities")
  9. (SET #ApplicationDir2 "work:tools")
  10. (SET #ApplicationDir3 "tools:")
  11. (SET #ApplicationDir4 "work:utilities")
  12. (SET #ArchiveDir "/")
  13. (SET #Language -1)
  14. (SET #Documents -1)
  15. (SET #ApplicationKeyfile (CAT #ApplicationName ".key"))
  16. ;=============================================================================
  17. ; English strings
  18.  
  19. (SET default_lang 1)
  20.  
  21. (SET #bad-kick "You must have at least Workbench 2.0+")
  22. (SET #bad-installer
  23. (CAT "You have an old version of the program 'Installer' "
  24.      "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  25.      "Please check your configuration!\n"
  26. ))
  27.  
  28. (SET #App-InstallMsg
  29. (CAT "\n\n%s Installation Script.\n\n"
  30.         "This script installs %s on your Amiga.\n\n"
  31.         "Read the guide file for more information\n"
  32.         " on the distribution of %s.\n\n"
  33.         "%s © 1995-2000 Guido Mersmann\n"
  34.         "All rights reserved."
  35. ))
  36. (SET #App-MainMode "Please choose mode:")
  37.  
  38. (SET #App-Where
  39. (CAT "Where would you like to install %s ?\n"
  40.         "(A drawer will be created)"
  41. ))
  42.  
  43. (SET #App-Update
  44. (CAT "\n\nA %s drawer does already exist in the selected "
  45.         " directory.\n\n By selecting \"Proceed\", you"
  46.         " indicate that you want to update the %s"
  47.         " installation with the most recent version.\n\n"
  48.         "Several %s specific files will be overwritten!"
  49. ))
  50.  
  51. (SET #App-Main "Which %s version should be installed ?")
  52. (SET #App-Main-help
  53. (CAT "The OS2.0+ version should only be used on Systems with OS2."
  54.      " The OS2.1+ and the OS3.0+ version need less Memory. Locale is required!"
  55.      " Special OS3.0+ functions are used to save more memory."
  56. ))
  57.  
  58. (SET #App-Language "Which languages should be installed ?")
  59. (SET #App-Language-help
  60. (CAT "\nThe Amiga can be operated in many different"
  61.           " languages."
  62.           "To reduce the amount of space consumed by the"
  63.           " language files, you can select to have only the"
  64.           " files of specific languages copied.\n\n"
  65.           "Simply check the boxes of the languages you wish"
  66.           " to have available on your system.\n\n"
  67.           @askoptions-help
  68. ))
  69.  
  70. (SET #App-Help "Which Amiga-guide files should be installed ?")
  71.  
  72. (SET #App-Exit "\n\n%s installed !!\n\n%s can be found in your \"%s\" drawer (or partiton).")
  73. ;--------- DEINSTALLATION STRINGS
  74. (SET #App-DeInstallWhere "Where is the location of %s ?\n")
  75. (SET #App-Install "Install")
  76. (SET #App-DeInstall "Deinstall")
  77. (SET #bad-DeInstall "There is no %s installation at the specified position!")
  78. (SET #StartupRemove-prompt "\nRemove %s lines within your user-startup?")
  79. (SET #Deinstall-Done "\n%s is now deinstalled.")
  80. ;=============================================================================
  81. ; German strings
  82.  
  83. (IF (= @language "deutsch")
  84. (
  85. (SET default_lang 2)
  86.  
  87. (SET #bad-kick "Sie benötigen Workbench 2.0 oder größer")
  88. (SET #bad-installer
  89. (CAT "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  90.      "auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
  91.      "Bitte überprüfen Sie Ihre Konfiguration!\n"
  92. ))
  93.  
  94. (SET #App-InstallMsg
  95. (CAT "\n%s Installationsskript.\n\n"
  96.         "Dieses Skript installiert oder deinstalliert\n"
  97.         "%s auf Ihrem Amiga.\n\n"
  98.         "Lesen Sie die Anleitungsdatei für weitere Informationen"
  99.         " über den Vertrieb von %s.\n\n"
  100.         "%s © 1999-2000 Guido Mersmann\n"
  101.         "Alle Rechte reserviert."
  102. ))
  103. (SET #App-MainMode "Wählen Sie den gewünschten Vorgang:")
  104.  
  105. (SET #App-Where
  106. (CAT "Wo möchten Sie %s installieren ?\n"
  107.         "(Ein Verzeichnis wird angelegt)"
  108. ))
  109.  
  110. (SET #App-Update
  111. (CAT "\nEin %s-Verzeichnis existiert im ausgewählen"
  112.         " Verzeichnis.\n\n Wenn Sie fortfahren,"
  113.         " bestätigen Sie, daß Sie die alte %s-Installation"
  114.         " mit der neuesten Version überschreiben wollen.\n\n"
  115.         "Verschiedene %s-Dateien (z.B überflüssige Dateien) werden falls nötig überschrieben!"
  116. ))
  117.  
  118. (SET #App-Main "Welche Version von %s möchten Sie installieren?")
  119. (SET #App-Main-help
  120. (CAT "Die OS2.0+ Version läuft unter allen Systemen ab OS2.0."
  121.      " Die OS2.1+ Version hat den Nutzen, daß sie weniger Resourcen"
  122.      " benutzt, wenn sich %s im Hintergrund befindet. Dazu MUß"
  123.      " die Locale.library eingebunden sein. Für die OS3.0+ gilt das Selbe"
  124.      " wie für die OS2.1 Verison. Es werden OS3.0+ Routinen benutzt, die"
  125.      " weiteren Speicher sparen."
  126. ))
  127.  
  128. (SET #App-Language "Welche Sprachen sollen installiert werden ?")
  129.  
  130. (SET #App-Language-help
  131. (CAT "\nDer Amiga kann in vielen verschiedenen Sprachen"
  132.          " arbeiten. Um Plattenkapazität zu sparen können Sie"
  133.          " nur die Sprachen anwählen, die sie benötigen"
  134.          " Haken Sie also einfach die Sprachen ab, die Sie"
  135.          " Ihrem System zugänglich machen wollen."
  136.           @askoptions-help
  137. ))
  138.  
  139. (SET #App-Help "Welche Anleitungs- und Informationsdateien wollen Sie installieren ?")
  140.  
  141. (SET #App-Exit "\n\n%s installiert!!\n\nSie finden %s im Verzeichnis \"%s\"")
  142. ;------- DEINSTALL STRINGS
  143. (SET #App-DeinstallWhere "Wo liegt %s auf Ihrer Platte ?\n")
  144. (SET #App-Install "%s Installieren")
  145. (SET #App-DeInstall "%s Deinstallieren")
  146. (SET #bad-DeInstall "Es gibt keine %s Installation an der angegeben Position")
  147. (SET #StartupRemove-prompt "\n\nDie zu %s gehörenden Einträge in der User-startup werden gelöscht!")))
  148. (SET #Deinstall-Done "\n%s ist jetzt deinstalliert!")
  149. ;=============================================================================
  150. ; français strings
  151.  
  152. (IF (= @language "français")
  153. (
  154. (SET default_lang 4)
  155.  
  156. (SET #bad-kick "Vous devez avoir le Workbench 2.0 au moins")
  157. (SET #bad-installer
  158. (CAT "Vous avez une ancienne version du programme 'Installer' "
  159.      "sur votre Amiga!\n\nLa procédure d'installation a besoin d'Installer 42.9 ou supérieur.\n\n"
  160.      "Veuillez vérifier votre configuration!\n"
  161. ))
  162.  
  163. (SET #App-InstallMsg
  164. (CAT "\n\nScript d'installation pour %s.\n\n"
  165.         "Ce script installe %s sur votre Amiga.\n\n"
  166.         "Lisez le guide pour de plus amples informations\n"
  167.         " sur cette distribution de %s.\n\n"
  168.         "%s © 1995-2000 Guido Mersmann\n"
  169.         "Tous droits réservés."
  170. ))
  171. (SET #App-MainMode "Veuillez choisir le mode:")
  172.  
  173. (SET #App-Where
  174. (CAT "Où voulez-vous installer %s ?\n"
  175.         "(Un tiroir sera crée)"
  176. ))
  177.  
  178. (SET #App-Update
  179. (CAT "\n\nUn tiroir %s existe déja dans le répertoire "
  180.         " sélectionné.\n\n En sélectionnant \"Continuer\", vous"
  181.         " indiquez que vous voulez mettre à jour l'installation"
  182.         " de %s par la version la plus récente.\n\n"
  183.         "Plusieurs fichiers spécifiques à %s vont être mis à jour!"
  184. ))
  185.  
  186. (SET #App-Main "Quelle version de %s doit être installée ?")
  187. (SET #App-Main-help
  188. (CAT "La version OS2.0+ ne devrait être utilisée que sur un système tournant sous AmigaOS 2."
  189.      " Les versions OS2.1+ et OS3.0+ utilisent moins de mémoire. Le système de localisation est nécéssaire!"
  190.      " Des fonction spéciales de l'OS3.0+ sont utilisées pour gagner plus de mémoire."
  191. ))
  192.  
  193. (SET #App-Language "Quelles langues doivent être installées ?")
  194. (SET #App-Language-help
  195. (CAT "\nL'Amiga peut être utilisé dans beaucoup de langues"
  196.           " différentes."
  197.           "Pour réduire la place utilisée par les fichiers de"
  198.           " localisation, vous pouvez choisir de n'avoir"
  199.           " que certaines langues spécifiques installées.\n\n"
  200.           "Sélectionnez simplement les cases à cocher correspondant aux"
  201.           " langues que vous voulez sur votre système.\n\n"
  202.           @askoptions-help
  203. ))
  204.  
  205. (SET #App-Help "Quels fichiers d'aide doivent être installés ?")
  206.  
  207. (SET #App-Exit "\n\n%s est installé !!\n\n%s se trouve dans le tiroir (ou la partition) \"%s\".")
  208. ;--------- DEINSTALLATION STRINGS
  209. (SET #App-DeInstallWhere "Où est situé %s ?\n")
  210. (SET #App-Install "Installer")
  211. (SET #App-DeInstall "Désinstaller")
  212. (SET #bad-DeInstall "Il n'y a aucune installation de %s à l'emplacement spécifié!")
  213. (SET #StartupRemove-prompt "\nSuppression des lignes relatives à %s dans votre user-startup?")
  214. (SET #Deinstall-Done "\n%s est maintenant désinstallé.")
  215. ;---------
  216. ))
  217. ;=============================================================================
  218. ; Español strings
  219.  
  220. (IF (= @language "español")
  221. (
  222. (SET default_lang 8)
  223.  
  224. (SET #bad-kick "Necesitas al menos Workbench 2.0+")
  225. (SET #bad-installer
  226. (CAT "Tienes una versión antigua del 'Installer' "
  227.      "en tu Amiga!\n\nEl proceso de instalación requiere al menos el Installer 42.9.\n\n"
  228.      "Revisa tu configuración!\n"
  229. ))
  230.  
  231. (SET #App-InstallMsg
  232. (CAT "\n\nGuión de instalación de %s .\n\n"
  233.         "Este script instala %s en tu Amiga.\n\n"
  234.         "Lee el amigaguide para más información\n"
  235.         " sobre la distribución de %s.\n\n"
  236.         "%s © 1995-2000 Guido Mersmann\n"
  237.         "Todos los derechos reservados."
  238. ))
  239. (SET #App-MainMode "Elige uno de los modos:")
  240.  
  241. (SET #App-Where
  242. (CAT "¿ Dónde quieres instalar %s ?\n"
  243.         "(Un cajón será creado)"
  244. ))
  245.  
  246. (SET #App-Update
  247. (CAT "\n\nYa existe un cajón %s en ese"
  248.         " directorio.\n\n Si seleccionas \"Seguir\","
  249.         " actualizarás la instalación %s"
  250.         " con la versión más reciente.\n\n"
  251.         "!Algunos ficheros específicos de %s serán sobreescritos¡"
  252. ))
  253.  
  254. (SET #App-Main "¿ Qué versión de %s quieres instalar ?")
  255. (SET #App-Main-help
  256. (CAT "La versión OS2.0+ sólo debería funcionar bajo sistemas con OS2."
  257.      " Las versiones OS2.1+ y OS3.0+ requieren menos Memoria. Necesitas Locale!"
  258.      " Algunas funciones del OS3.0+ reducen el consumo de memoria."
  259. ))
  260.  
  261. (SET #App-Language "¿ Qué lenguajes quieres instalar ?")
  262. (SET #App-Language-help
  263. (CAT "\nRl Amiga puede trabajar en numerosos lenguajes"
  264.           " diferentes."
  265.           "Parar reducir la cantidad de espacio necesaria para los"
  266.           " ficheros de lenguaje, puedes copiar sólo"
  267.           " los lenguajes específicos.\n\n"
  268.           "Marca las cajas de los lenguajes que quieras"
  269.           " tener disponibles en tu sistema.\n\n"
  270.           @askoptions-help
  271. ))
  272.  
  273. (SET #App-Help "¿Qué Amiga-guides queres instalar ?")
  274.  
  275. (SET #App-Exit "\n\n%s instalado !!\n\n%s está en el cajón \"%s\" (o partición).")
  276. ;--------- DEINSTALLATION STRINGS
  277. (SET #App-DeInstallWhere "¿ En qué directorio está %s ?\n")
  278. (SET #App-Install "Instalar")
  279. (SET #App-DeInstall "Desinstalar")
  280. (SET #bad-DeInstall "No hay instalación de %s en el lugar indicado")
  281. (SET #StartupRemove-prompt "\n¿ Elimino las líneas %s de tu fichero user-startup ?")
  282. (SET #Deinstall-Done "\n%s ha sido desinstalado.")
  283. ;---------
  284. ))
  285. ;=============================================================================
  286. ; Português strings
  287.  
  288. (IF (= @language "português")
  289. (
  290. (SET default_lang 16)
  291.  
  292. (SET #bad-kick "Você necessita pelo menos do Workbench 2.0+")
  293. (SET #bad-installer
  294. (CAT "Você tem uma versão antiga do 'Installer' "
  295.      "no seu Amiga!\n\nO processo de instalação requer no minimo o Installer 42.9.\n\n"
  296.      "Por favor verifique a sua configuração!\n"
  297. ))
  298.  
  299. (SET #App-InstallMsg
  300. (CAT "\n\nScript de instalação %s .\n\n"
  301.         "Este script instala %s no seu Amiga.\n\n"
  302.         "Leia o documento amigaguide para mais informações\n"
  303.         " acerca da distribução de %s.\n\n"
  304.         "%s © 1995-2000 Guido Mersmann\n"
  305.         "Todos os direitos reservados."
  306. ))
  307. (SET #App-MainMode "Por favor escolha um dos modos:")
  308.  
  309. (SET #App-Where
  310. (CAT "Onde deseja instalar %s ?\n"
  311.         "(Será criado uma gaveta)"
  312. ))
  313.  
  314. (SET #App-Update
  315. (CAT "\n\njá existe uma gaveta %s nesse"
  316.         " directório.\n\n Se seleccionar \"Proceguir\", você"
  317.         " indicará que deseja actualizar a instalação %s"
  318.         " para a versão mais recente.\n\n"
  319.         "Alguns ficheiros específicos em %s seram sobstituidos!"
  320. ))
  321.  
  322. (SET #App-Main "Que versão de %s deseja instalar ?")
  323. (SET #App-Main-help
  324. (CAT "A versão OS2.0+ só deve ser usada em Sistemas com o OS2."
  325.      " As versões OS2.1+ e OS3.0+ requerem menos Memória. Necessita do Locale!"
  326.      " Algumas funções do OS3.0+ reduzem o consumo de memória."
  327. ))
  328.  
  329. (SET #App-Language "Que idioma deseja instalar ?")
  330. (SET #App-Language-help
  331. (CAT "\nO Amiga pode funcionar com vários idiomas"
  332.           " diferentes."
  333.           "Para reduzir a quantidade de espaço necessário para os"
  334.           " ficheiros de idiomas, você pode copiar só"
  335.           " os idiomas que quiser.\n\n"
  336.           "Simplesmente veja as gavetas dos idiomas que quer"
  337.           " ter disponíveis no seu Sistema.\n\n"
  338.           @askoptions-help
  339. ))
  340.  
  341. (SET #App-Help "Que documentos Amiga-guides deseja instalar ?")
  342.  
  343. (SET #App-Exit "\n\n%s instalado !!\n\n%s pode ser encontrado na gaveta \"%s\" (ou partição).")
  344. ;--------- DEINSTALLATION STRINGS
  345. (SET #App-DeInstallWhere "Em que directório está %s ?\n")
  346. (SET #App-Install "Instalar")
  347. (SET #App-DeInstall "Desinstalar")
  348. (SET #bad-DeInstall "Não existe nenhuma instalação de %s no lugar indicado")
  349. (SET #StartupRemove-prompt "\nRemovo as linhas %s no seu ficheiro user-startup ?")
  350. (SET #Deinstall-Done "\n%s foi agora desinstalado.")
  351. ;---------
  352. ))
  353. ;----------------------------------------------------------------------------
  354. ;----------------------------------------------------------------------------
  355. ;       P_Requirements
  356. ;----------------------------------------------------------------------------
  357. ;----------------------------------------------------------------------------
  358. (PROCEDURE P_Requirements
  359. ; Workbench 37 or better required
  360. (IF (< (/ (getversion) 65536) 37)
  361. (
  362.   (abort #bad-kick)
  363. )
  364. )
  365. ; Installer 42.9 or better required
  366. (if (< @installer-version 2752521)
  367. (
  368. (abort #bad-installer)
  369. )
  370. ) ;if
  371. ) ;PROCDURE
  372. ;----------------------------------------------------------------------------
  373. ;----------------------------------------------------------------------------
  374. ;       P_DeInstall
  375. ;----------------------------------------------------------------------------
  376. ;----------------------------------------------------------------------------
  377. (PROCEDURE P_DeInstall #InstallerMode
  378.  
  379. (SET #Dummy             (ASKCHOICE
  380.                         (PROMPT #App-MainMode)
  381.                         (HELP @askchoice-help)
  382.                         (CHOICES
  383.                                 (#App-Install #ApplicationName)
  384.                                 (#App-Deinstall #ApplicationName)
  385.                         )
  386.                         ;(DEFAULT #Documents)
  387.                         )
  388. )
  389. ) ;PROCDURE
  390. ;----------------------------------------------------------------------------
  391. ;----------------------------------------------------------------------------
  392. ;       GetApplicationDir
  393. ;----------------------------------------------------------------------------
  394. ;----------------------------------------------------------------------------
  395. (PROCEDURE P_GetApplicationDir
  396. (SET #Dummy #ApplicationDir)
  397. (if (= (exists (TACKON #ApplicationDir1 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir1))
  398. (if (= (exists (TACKON #ApplicationDir2 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir2))
  399. (if (= (exists (TACKON #ApplicationDir3 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir3))
  400. (if (= (exists (TACKON #ApplicationDir4 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir4))
  401.  
  402. (SET #ApplicationDir
  403.         (TACKON
  404.                 (ASKDIR
  405.                         (PROMPT (#App-Where #ApplicationName))
  406.                         (HELP @askdir-help)
  407.                         (default #Dummy)
  408.                 )
  409.                 #ApplicationName
  410.         )
  411. )
  412. (SET @default-dest #ApplicationDir)
  413. ) ;PROCEDURE
  414. ;----------------------------------------------------------------------------
  415. ;----------------------------------------------------------------------------
  416. ;       GetDeinstallDir
  417. ;----------------------------------------------------------------------------
  418. ;----------------------------------------------------------------------------
  419. (PROCEDURE P_GetDeInstallDir
  420. (SET #Dummy #ApplicationDir)
  421. (if (= (exists (TACKON #ApplicationDir1 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir1))
  422. (if (= (exists (TACKON #ApplicationDir2 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir2))
  423. (if (= (exists (TACKON #ApplicationDir3 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir3))
  424. (if (= (exists (TACKON #ApplicationDir4 #ApplicationName) (NOREQ)) 2) (SET #Dummy #ApplicationDir4))
  425.  
  426. (SET #ApplicationDir
  427.                 (ASKDIR
  428.                         (PROMPT (#App-DeInstallWhere #ApplicationName))
  429.                         (HELP @askdir-help)
  430.                         (default #Dummy)
  431.                 )
  432. )
  433.          (SET #Dummy (EXISTS (TACKON #Applicationdir #ApplicationName)))
  434.  
  435.         (Select #Dummy
  436.          (abort (#bad-DeInstall #ApplicationName))
  437.          (SET #Applicationdir #Applicationdir)
  438.          (SET #Applicationdir (TACKON #Applicationdir #ApplicationName))
  439.         ) ;Select
  440. (SET @default-dest #ApplicationDir)
  441.  
  442. ) ;PROCEDURE
  443. ;----------------------------------------------------------------------------
  444. ;----------------------------------------------------------------------------
  445. ;       Ask for Catalogs
  446. ;----------------------------------------------------------------------------
  447. ;----------------------------------------------------------------------------
  448. (PROCEDURE P_AskCatalogs #Language
  449.  
  450. (SET #Dummy     (ASKOPTIONS
  451.                 (PROMPT #App-Language)
  452.                 (HELP #App-Language-help)
  453.                 (CHOICES
  454.                         "English"
  455.                         "Deutsch"
  456.                         "Français"
  457.                         "Español"
  458.                         "Português")
  459.                 (DEFAULT default_lang)
  460.         )
  461. )
  462. ) ;PROCEDURE
  463. ;----------------------------------------------------------------------------
  464. ;----------------------------------------------------------------------------
  465. ;       Copy Selected Catalogs
  466. ;----------------------------------------------------------------------------
  467. ;----------------------------------------------------------------------------
  468. (PROCEDURE P_CopyCatalogs #Language
  469. (SET n 0)
  470. (SET #DestinationRoot (TACKON #ApplicationDir "Catalogs"))
  471. (SET #SourceRoot (TACKON #ArchiveDir "Catalogs"))
  472. (MAKEDIR #DestinationRoot)
  473.  
  474. (while (< n 5)
  475.         (SET #Dummy (SELECT n "english" "deutsch" "français" "español" "português"))
  476.         (
  477.                 (IF (IN #Language n)
  478.                 (
  479.         (MAKEDIR (TACKON #DestinationRoot #Dummy))
  480.                         (COPYFILES
  481.                                 (SOURCE (TACKON #SourceRoot #Dummy))
  482.                                 (DEST (TACKON #DestinationRoot #Dummy))
  483.                                 (HELP @copyfiles-help)
  484.                                 (ALL)
  485.                         )
  486.                 )
  487.                 )
  488.         )
  489. (SET n (+ n 1))
  490. )
  491. ) ;PROCEDURE
  492. ;----------------------------------------------------------------------------
  493. ;----------------------------------------------------------------------------
  494. ;       Ask for Help
  495. ;----------------------------------------------------------------------------
  496. ;----------------------------------------------------------------------------
  497. (PROCEDURE P_AskHelp #Documents
  498. (SET #Dummy             (ASKOPTIONS
  499.                         (PROMPT #App-Help)
  500.                         (HELP @askoptions-help)
  501.                         (CHOICES
  502.                                 "english"
  503.                                 "deutsch"
  504.                         )
  505.                         (DEFAULT default_lang)
  506.                   )
  507. )
  508. ) ;PROCEDURE
  509. ;----------------------------------------------------------------------------
  510. ;----------------------------------------------------------------------------
  511. ;       Copy Help
  512. ;----------------------------------------------------------------------------
  513. ;----------------------------------------------------------------------------
  514. (PROCEDURE P_CopyHelp #Documents
  515. (SET n 0)
  516. (SET #DestinationRoot (TACKON #ApplicationDir "Help"))
  517. (SET #SourceRoot (TACKON #ArchiveDir "Help"))
  518. (MAKEDIR #DestinationRoot)
  519.  
  520. (while (< n 2)
  521.         (SET #Dummy (SELECT n
  522.                 "english"
  523.                 "deutsch"
  524.         )
  525.         )
  526.         (
  527.                 (IF (IN #Documents n)
  528.                 (
  529.         (MAKEDIR (TACKON #DestinationRoot #Dummy))
  530.                         (COPYFILES
  531.                                 (SOURCE (TACKON #SourceRoot #Dummy))
  532.                                 (DEST (TACKON #DestinationRoot #Dummy))
  533.                                 (HELP @copyfiles-help)
  534.                                 (INFOS)
  535.                                 (ALL)
  536.                         )
  537.                 )
  538.                 )
  539.         )
  540. (SET n (+ n 1))
  541. )
  542. ) ;PROCEDURE
  543. ;----------------------------------------------------------------------------
  544. ;----------------------------------------------------------------------------
  545. ;       Copy_Dir (Dir)
  546. ;----------------------------------------------------------------------------
  547. ;----------------------------------------------------------------------------
  548. (PROCEDURE P_CopyDir #Dummy
  549.  
  550. (SET #DestinationRoot (TACKON #ApplicationDir #Dummy))
  551. (SET #SourceRoot (TACKON #ArchiveDir #Dummy))
  552. (MAKEDIR #DestinationRoot)
  553.  
  554.                    (COPYFILES
  555.         (SOURCE #SourceRoot)
  556.         (DEST #DestinationRoot)
  557.         (HELP @copyfiles-help)
  558.         (OPTIONAL <force>)
  559.         (ALL)
  560.         (INFOS)
  561.                    )
  562. ) ;PROCEDURE
  563. ;----------------------------------------------------------------------------
  564. ;----------------------------------------------------------------------------
  565. ;       Copy_File (Name)
  566. ;----------------------------------------------------------------------------
  567. ;----------------------------------------------------------------------------
  568. (PROCEDURE P_CopyFile #Dummy
  569.  
  570. (if (<> (exists (TACKON #ArchiveDir #Dummy) (noreq)) 0) 
  571. (
  572.                    (COPYFILES
  573.         (SOURCE (TACKON #ArchiveDir #Dummy))
  574.         (DEST #ApplicationDir)
  575.         (HELP @copyfiles-help)
  576.         (OPTIONAL <force>)
  577.         (ALL)
  578.         (INFOS)
  579.                    )
  580. )
  581. ) ;If
  582. ) ;PROCEDURE
  583. ;----------------------------------------------------------------------------
  584. ;----------------------------------------------------------------------------
  585. ;       P_Update
  586. ;----------------------------------------------------------------------------
  587. ;----------------------------------------------------------------------------
  588. (PROCEDURE P_Update
  589. (if (= (exists #ApplicationDir) 2)
  590.         (message (#App-Update #ApplicationName #ApplicationName #ApplicationName))
  591. )
  592. ) ;PROCEDURE
  593. ;----------------------------------------------------------------------------
  594. ;----------------------------------------------------------------------------
  595. ;       P_AskBinary
  596. ;----------------------------------------------------------------------------
  597. ;----------------------------------------------------------------------------
  598. (PROCEDURE P_AskBinary
  599. (set #Dummy (/ (getversion) 65536))
  600.  
  601. (if (= #Dummy 37) (set #Binary 0))
  602. (if (= #Dummy 38) (set #Binary 1))
  603. (if (>= #Dummy 39) (set #Binary 2))
  604.  
  605. (set #Dummy (/ (getversion "icon.library" (Resident)) 65536))
  606. (if (>= #Dummy 44) (set #Binary 3))
  607.  
  608. (set #Binary (askchoice
  609.         (prompt (#App-Main #ApplicationName))
  610.         (help (#App-Main-help #ApplicationName))
  611.         (choices
  612.                         "OS2.0+"
  613.                         "OS2.1+"
  614.                         "OS3.0+"
  615.                         "OS3.5+"
  616.                         )
  617.         (default #Binary)
  618.             )
  619. )
  620. ) ;PROCEDURE
  621. ;----------------------------------------------------------------------------
  622. ;----------------------------------------------------------------------------
  623. ;       P_CopyBinary
  624. ;----------------------------------------------------------------------------
  625. ;----------------------------------------------------------------------------
  626. (PROCEDURE P_CopyBinary #Dummy
  627.  
  628. (set #BinaryName (SELECT #Binary #Dummy (CAT "Bin/" #Dummy "_OS21") (CAT "Bin/" #Dummy "_OS30") (CAT "Bin/" #Dummy "_OS35") ))
  629. (copyfiles
  630.         (source (tackon #ArchiveDir #BinaryName) (infos))
  631.         (dest #ApplicationDir)
  632.         (newname #Dummy)
  633.         (help @copyfiles-help)
  634.         (optional <force>)
  635. )
  636. ) ;PROCEDURE
  637. ;----------------------------------------------------------------------------
  638. ;----------------------------------------------------------------------------
  639. ;       P_KeyFile
  640. ;----------------------------------------------------------------------------
  641. ;----------------------------------------------------------------------------
  642. (PROCEDURE P_KeyFile
  643.  
  644. (SET #Dummy (tackon (tackon #ArchiveDir "Keyfile") #ApplicationKeyfile))
  645.  
  646. (if (<> (exists #Dummy (noreq)) 0) ((P_CopyDir "KeyFile"))
  647. )
  648. ) ;PROCEDURE
  649. ;----------------------------------------------------------------------------
  650. ;----------------------------------------------------------------------------
  651. ;       P_CopyArchiveIcon
  652. ;----------------------------------------------------------------------------
  653. ;----------------------------------------------------------------------------
  654. (PROCEDURE P_CopyArchiveIcon
  655.                    (COPYFILES
  656.         (SOURCE (CAT (CAT (TACKON #ArchiveDir "/") #ApplicationName) ".info"))
  657.         (DEST (TACKON #ApplicationDir "/"))
  658.         (HELP @copyfiles-help)
  659.                    )
  660. ) ;PROCEDURE
  661. ;----------------------------------------------------------------------------
  662. ;----------------------------------------------------------------------------
  663. ;       P_AskBool
  664. ;----------------------------------------------------------------------------
  665. ;----------------------------------------------------------------------------
  666. (PROCEDURE P_AskBool #dummy
  667.  (SET #dummy (ASKBOOL      (prompt #dummy)
  668.            (help @askbool-help)
  669.            (default 1)
  670.              )
  671.  )
  672. ) ;PROCEDURE
  673. ;----------------------------------------------------------------------------
  674. ;----------------------------------------------------------------------------
  675. ;       MAIN
  676. ;----------------------------------------------------------------------------
  677. ;----------------------------------------------------------------------------
  678. (P_Requirements)
  679. (message (#App-installmsg #ApplicationName #ApplicationName #ApplicationName #ApplicationName))
  680. (SET #InstallerMode (P_DeInstall))
  681. (welcome)
  682. ;-----------------------------------------------
  683. (IF (= #InstallerMode "0")
  684. (
  685. ;-----------------------------------------------
  686.  (SET #ApplicationDir (P_GetApplicationDir))
  687.  
  688. (COMPLETE 1)
  689.  (P_Update)
  690.  (SET #Binary (P_AskBinary))
  691. (COMPLETE 2)
  692.  (SET #Language (P_AskCatalogs #Language))
  693. (COMPLETE 3)
  694.  (SET #Documents (P_AskHelp #Documents))
  695. (COMPLETE 4)
  696.  
  697. ;***** Delete old Data and Prefs *****
  698. (DELETE (TACKON #ApplicationDir "Docs") (optional FORCE) (ALL))
  699. (DELETE (TACKON #ApplicationDir "Docs.info" (optional FORCE) ))
  700. (DELETE (TACKON #ApplicationDir "DefaultCards/Default.Card" (optional FORCE) ))
  701. (DELETE (TACKON #ApplicationDir "DefaultCards/Sun-1152BLK.Card" (optional FORCE) ))
  702. (DELETE (TACKON #ApplicationDir "Modules/Modules.doc" (optional FORCE) ))
  703. (DELETE (TACKON #ApplicationDir "Modules/RamCard_mcm.asm" (optional FORCE) ))
  704. (DELETE (TACKON #ApplicationDir "Modules/Empty_mcm.asm" (optional FORCE) ))
  705. (DELETE (TACKON #ApplicationDir "Modules/Include.i" (optional FORCE) ))
  706. (DELETE (TACKON #ApplicationDir "Patches/SGT/SGT.doc" (optional FORCE) ))
  707. ;***** Create empty Drawers *****
  708. (MAKEDIR #ApplicationDir)
  709. (MAKEDIR (TACKON #ApplicationDir "Prefs"))
  710. (MAKEDIR (TACKON #ApplicationDir "SaveGames"))
  711.  
  712. (COMPLETE 10)
  713. (DELETE (TACKON #ApplicationDir "bin") (optional FORCE) (ALL))
  714.  (P_CopyBinary #ApplicationName)
  715. (COMPLETE 20)
  716. (DELETE (TACKON #ApplicationDir "catalogs") (optional FORCE) (ALL))
  717.  (P_CopyCatalogs #Language)
  718. (COMPLETE 30)
  719. (DELETE (TACKON #ApplicationDir "Help") (optional FORCE) (ALL))
  720.  (P_CopyHelp #Documents)
  721. (COMPLETE 40)
  722.  (P_CopyDir "Modules")
  723. (COMPLETE 50)
  724.  (P_CopyDir "MemoryCards")
  725. (COMPLETE 60)
  726.  (P_CopyDir "DefaultCards")
  727. (COMPLETE 70)
  728.  (P_CopyDir "Patches")
  729.  (P_CopyDir "Prefs")
  730.  (P_CopyDir "Help/Pictures")
  731.  (P_Keyfile)
  732. (COMPLETE 80)
  733.  (P_CopyDir "Bonus")
  734.  (P_CopyArchiveIcon)
  735.  (P_CopyFile "MCControl.info")
  736.  (P_CopyFile "Help.info")
  737.  (P_CopyFile "Warning")
  738.  
  739. (COMPLETE 90)
  740. ;-----
  741. (DELETE (TACKON #ApplicationDir "Modules.info"))
  742. (DELETE (TACKON #ApplicationDir "MemoryCards.info"))
  743. (DELETE (TACKON #ApplicationDir "DefaultCards.info"))
  744. (DELETE (TACKON #ApplicationDir "Patches.info"))
  745.  
  746. (DELETE (TACKON #ApplicationDir "Prefs.info"))
  747. (DELETE (TACKON #ApplicationDir "SaveGames.info"))
  748. (DELETE (TACKON #ApplicationDir "Bonus.info"))
  749.  
  750. (run "c:avail Flush")
  751. (COMPLETE 100)
  752. (message (#App-exit #ApplicationName #ApplicationName #ApplicationDir))
  753. (exit (QUIET))
  754. ;-----------------------------------------------
  755. )) ;IF #InstallerMode = 0
  756. ;-----------  Deinstallation -------------------
  757. (IF (= #InstallerMode "1") (
  758.  
  759. (SET #ApplicationDir (P_GetDeInstallDir))
  760.  
  761. (COMPLETE 20)
  762. (DELETE (TACKON #ApplicationDir "Modules") (optional FORCE) (ALL))
  763. (DELETE (TACKON #ApplicationDir "DefaultCards") (optional FORCE) (ALL))
  764. (DELETE (TACKON #ApplicationDir "Patches") (optional FORCE) (ALL))
  765. (COMPLETE 30)
  766. (DELETE (TACKON #ApplicationDir "Help") (optional FORCE) (ALL))
  767. (DELETE (TACKON #ApplicationDir "Help.info" (optional FORCE) ))
  768. (COMPLETE 40)
  769. (DELETE (TACKON #ApplicationDir "Install") (optional FORCE) (ALL))
  770. (DELETE (TACKON #ApplicationDir "Install.info" (optional FORCE) ))
  771. (COMPLETE 50)
  772. (DELETE (TACKON #ApplicationDir "Catalogs") (optional FORCE) (ALL))
  773. (COMPLETE 60)
  774. (DELETE (TACKON #ApplicationDir "Bin") (optional FORCE) (ALL))
  775. (COMPLETE 70)
  776. (DELETE (TACKON #ApplicationDir "Prefs") (optional FORCE) (ALL))
  777. (COMPLETE 80)
  778. (DELETE (TACKON #ApplicationDir "MCControl") (optional FORCE))
  779. (DELETE (TACKON #ApplicationDir "MCControl.info" (optional FORCE) ))
  780. (DELETE (TACKON #ApplicationDir "Warning") (optional FORCE))
  781. (DELETE (TACKON #ApplicationDir "Warning.info" (optional FORCE) ))
  782. (COMPLETE 90)
  783. (DELETE (TACKON #ApplicationDir "MemoryCards/example.mcd") (optional FORCE))
  784. (DELETE (TACKON #ApplicationDir "MemoryCards/example2.mcd") (optional FORCE))
  785. (DELETE (TACKON #ApplicationDir "MemoryCards/example3.mcd") (optional FORCE))
  786.  
  787. (DELETE (TACKON #ApplicationDir "MemoryCards"))
  788. (DELETE (TACKON #ApplicationDir "SaveGames"))
  789. (DELETE (TACKON #ApplicationDir "Bonus"))
  790. (DELETE #ApplicationDir)
  791. (DELETE (CAT #ApplicationDir ".info"))
  792.  
  793. (COMPLETE 100)
  794.  
  795. (Message (#Deinstall-Done #ApplicationName))
  796. (exit (QUIET))
  797.  
  798. ;-----------------------------------------------
  799. )) ;IF #InstallerMode = 1
  800. ;-----------------------------------------------
  801.  
  802.