home *** CD-ROM | disk | FTP | other *** search
/ Merciful 1 / Merciful - Disc 1.iso / software / c / c-net_pro / c-netprov3.03a.dms / in.adf / InstallCNet < prev    next >
Encoding:
Text File  |  1994-01-05  |  24.0 KB  |  1,112 lines

  1. ; $VER: CNet Install 1.04 (1.5.94)
  2. ; CNet Amiga Pro 3.0 Installation script
  3. ;
  4. ; The publishers of CNet PRO 3 wish to extend many THANKS to Bob Maple
  5. ; for the creation of this install script, (version 1.0 (12.13.93))
  6. ; His elegant work has been chopped and hacked by others since then,
  7. ; so if you find something here that looks sloppy, DON'T BLAME BOB!
  8. ;
  9. ; Requires Commodore 'Installer' program
  10. ;
  11. ; Slight tweaks by Jim Selleck for CNet/3 release version 3.04 (1.5.94)
  12.  
  13. ; This installation script is provided AS-IS, with no warranties expressed
  14. ; or implied.  The authors will not be held responsible for any damages due
  15. ; to the use or mis-use of this installation script; using this script is
  16. ; entirely at your own risk.
  17.  
  18. ;
  19. ; Define some global variables
  20. ;
  21.  
  22. (set Disk1 "CNet3_Disk_1:")    ; Installation referenced by Disk1 and Disk2
  23. (set Disk2 "CNet3_Disk_2:")    ; since actual disk names change
  24.  
  25. ; (set CNet_Dir "CNet:")
  26.  
  27. (set help-modify-self
  28.  
  29.     (cat        "If you have modified any of these files, "
  30.             "you might want to skip this part and manually "
  31.             "look for any changes/modify them yourself."
  32.     )
  33. )
  34.  
  35. (set ask-install-part    "Please select the partition/directory where you want the " )
  36. (set ask-install-part2  " directory created."                        )
  37. (set ask-install-nodir  "(NOTE: A new directory will NOT be created.)\n"            )
  38.  
  39.  
  40. ;
  41. ; BEGIN PROCEDURE DEFINITION
  42. ;
  43. ; The installer script basically consists of a series of calls to different
  44. ; procedures which install certain sets of data, depending on whether or not
  45. ; they are a new-installer or an update-installer.
  46. ;
  47.  
  48. (procedure    CleanItUp
  49. (
  50.     (run "delete ram:CStuff all")
  51. )
  52. )
  53.  
  54.  
  55.  
  56. (procedure    Decompress
  57. (
  58.     (working)
  59.     
  60.     (makedir "ram:CStuff")
  61.     
  62.     (set LHAString ("%slha x -a %s %s ram:CStuff/" Disk1 DecompFile DecompPat))
  63.     (run LHAString)
  64. )
  65. )
  66.  
  67.     
  68.         
  69. (procedure    CopyExecutables1    ; Copies executables/etc from disk 1
  70. (
  71.  
  72.     (set DecompFile ("%scnet/bbsexec.lha" Disk1))
  73.     (set DecompPat  "#?")
  74.     (Decompress)
  75.  
  76.     (copyfiles
  77.  
  78.         (source "RAM:CStuff")
  79.         (dest   "CNET:")
  80.  
  81.         (choices
  82.  
  83.             "bbs"        "control"    "YANK-Task"
  84.             "config"    "setpass"    "unlock"
  85.             "close"        "toss"        "trapwake"
  86.         )
  87.  
  88.         (optional "nofail" "askuser")
  89.     )
  90.  
  91.     ; Makes sure the PURE bit is set, saving millions of people asking
  92.     ; why this new version eats so much RAM. :)
  93.  
  94.     (protect "CNet:BBS" "+r +w +e +d +p")
  95.     (CleanItUp)
  96.  
  97.     (set DecompFile ("%scnet/pfiles/bbs/pfiles_bbs.lha" Disk1))
  98.     (set DecompPat  "#?")
  99.     (Decompress)
  100.  
  101.     (copyfiles
  102.  
  103.         (source "RAM:CStuff")
  104.         (dest    "PFiles:BBS")
  105.  
  106.         (all)
  107.         (optional "nofail" "askuser")
  108.     )
  109.         (CleanItUp)
  110.  
  111. )
  112. )
  113.  
  114. (procedure    CopyExecutables2    ; Copies executables from disk 2
  115. (
  116.  
  117.     (set SourcePath (tackon Disk2 "Workbench/c"))
  118.     (copyfiles
  119.  
  120.         (source SourcePath)
  121.         (dest    "C:"  )
  122.  
  123.         (all)
  124.         (optional "nofail" "askuser")
  125.     )
  126.  
  127.     (set SourcePath (tackon Disk2 "Workbench/Fonts"))
  128.     (copyfiles
  129.  
  130.         (source SourcePath)
  131.         (dest    "FONTS:"  )
  132.  
  133.         (all)
  134.         (optional "nofail" "askuser")
  135.     )
  136.  
  137.     (set SourcePath (tackon Disk2 "Workbench/L"))
  138.     (copyfiles
  139.  
  140.         (source (tackon SourcePath "fifo-handler"))
  141.         (dest    "L:" )
  142.  
  143.         (optional "nofail" "askuser")
  144.     )
  145.  
  146.     (set SourcePath (tackon Disk2 "Workbench/Libs"))
  147.     (copylib
  148.  
  149.         (prompt    "\nThe cnet.library is a shared library which CNet "
  150.             "and other utilities require on your system."
  151.         )
  152.         (help    "The CNet library is installed in LIBS: and is required "
  153.             "by CNet, and used by other external utilities, including "
  154.             "the possibility of some 3rd-party programs."
  155.         )
  156.  
  157.         (source (tackon SourcePath "cnet.library"))
  158.         (dest    "Libs:"  )
  159.  
  160.         (confirm)
  161.         (optional "nofail" "askuser")
  162.     )
  163.     (copylib
  164.  
  165.         (prompt    "\nThe fifo.library is a shared library which CNet "
  166.             "and other DOS utilities might require on your system."
  167.         )
  168.         (help    "The FIFO library is required if you plan on running "
  169.             "any regular AmigaDOS programs as PFiles through the BBS."
  170.         )
  171.  
  172.         (source (tackon SourcePath "fifo.library"))
  173.         (dest    "Libs:"  )
  174.  
  175.         (confirm)
  176.         (optional "nofail" "askuser")
  177.     )
  178.  
  179.     (copyfiles
  180.     
  181.         (source SourcePath)
  182.         (dest    "LIBS:")
  183.         
  184.         (pattern "xpr#?")
  185.     )
  186. )
  187. )
  188.  
  189. (procedure    CopyStandards
  190. (
  191.     (copyfiles
  192.  
  193.         (source (tackon Disk1 "CNet"))
  194.         (dest   "CNET:")
  195.  
  196.         (choices
  197.         
  198.             "bbsconfig3"        "bbsevents"    "bbsmenu"
  199.             "BIG_Numbers"        "bbstext"
  200.             "bbsroom0"        "bbslicense"
  201.         )
  202.  
  203.         (optional "nofail" "askuser")
  204.     )
  205. )
  206. )
  207.  
  208. (procedure    CopySpeller
  209. (
  210.     (set    DestPath
  211.  
  212.         (askdir
  213.  
  214.             (prompt    "\nPlease select where you want to install the speller "
  215.                 "master dictionary "
  216.                 ask-install-nodir
  217.             )
  218.             (help    "The dictionary can be anywhere you choose (suggestion: "
  219.                 "CNet:Spell).  Note that you must set up this path "
  220.                 "with CONFIG as well.  Consult your CNet manual."
  221.             )
  222.  
  223.             (default "CNet:Spell")
  224.         )
  225.     )
  226.  
  227.     (copyfiles
  228.  
  229.         (source (tackon Disk2 "Spell"))
  230.         (dest    DestPath)
  231.  
  232.         (pattern "#?")
  233.         (files)
  234.         (optional "nofail" "askuser")
  235.     )
  236.  
  237. )
  238. )
  239.  
  240. (procedure    CopyMaints
  241. (
  242.  
  243.     (set    DestPath
  244.  
  245.         (askdir
  246.  
  247.             (prompt    "\nPlease select where you want your maintenance "
  248.                 "executables to be installed "
  249.                 ask-install-nodir
  250.             )
  251.             (help    "The maintenance executables consist of programs "
  252.                 "like 'count', 'missing', 'pointers' (see your "
  253.                 "manual for more information).\n\n"
  254.                 "Some people install them in different places, "
  255.                 "according to how they have their PFiles setup. "
  256.                 "A common installation place is a directory "
  257.                 "called 'maintenance' inside PFiles:."
  258.             )
  259.  
  260.             (default "PFiles:Maintenance")
  261.         )
  262.     )
  263.  
  264.     (copyfiles
  265.  
  266.         (source (tackon Disk1 "CNet/PFiles/Maintenance"))
  267.         (dest    DestPath)
  268.  
  269.         (pattern "#?")
  270.         (files)
  271.         (optional "nofail" "askuser")
  272.     )
  273. )
  274. )
  275.  
  276. (procedure    CopyFIDOs
  277. (
  278.  
  279.     (set    DestPath
  280.  
  281.         (askdir
  282.  
  283.             (prompt    "\nPlease select where you want your FIDO maintenance "
  284.                 "executables to be installed "
  285.                 ask-install-nodir
  286.             )
  287.             (help    "It's a good idea to throw all your FIDO executables "
  288.                 "in a separate directory, just to keep things together.\n\n"
  289.             )
  290.  
  291.             (default "PFiles:FIDO")
  292.         )
  293.     )
  294.  
  295.     (copyfiles
  296.  
  297.         (source (tackon Disk2 "FIDO"))
  298.         (dest    DestPath)
  299.  
  300.         (pattern "#?")
  301.         (files)
  302.         (optional "nofail" "askuser")
  303.     )
  304.  
  305.     
  306.     (makedir "Mail:Inbound")
  307.     (makedir "Mail:Outbound")
  308.     (makedir "Mail:Dupetables")
  309.     (makedir "Mail:Nodelist")
  310. )
  311. )
  312.  
  313. (procedure    CopyUUCPs
  314. (
  315.  
  316.     (set    DestPath
  317.  
  318.         (askdir
  319.  
  320.             (prompt    "\nPlease select where you want your UUCP maintenance "
  321.                 "executables to be installed "
  322.                 ask-install-nodir
  323.             )
  324.             (help    "It's a good idea to throw all your UUCP executables "
  325.                 "in a separate directory, just to keep things together.\n\n"
  326.             )
  327.  
  328.             (default "PFiles:UUCP")
  329.         )
  330.     )
  331.  
  332.     (copyfiles
  333.  
  334.         (source (tackon Disk2 "UUCP"))
  335.         (dest    DestPath)
  336.  
  337.         (pattern "#?")
  338.         (files)
  339.         (optional "nofail" "askuser")
  340.     )
  341. )
  342. )
  343.  
  344. (procedure    CopyMenus
  345. (
  346.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  347.     (set DecompPat  "menu/#?")
  348.     (Decompress)
  349.  
  350.     (copyfiles
  351.  
  352.         (source "ram:cstuff/menu")
  353.         (dest    "SysText:Menu")
  354.  
  355.         (all)
  356.         (optional "nofail" "askuser")
  357.     )
  358.  
  359.     (CleanItUp)
  360. )
  361. )
  362.  
  363. (procedure    CopyLicense
  364. (
  365.     (if (= (exists "CNet:bbslicense") 0)
  366.  
  367.         (copyfiles
  368.  
  369.             (source (tackon Disk1 "cnet/bbslicense"))
  370.             (dest   "CNet:")
  371.  
  372.             (files)
  373.             (optional "nofail" "askuser")
  374.         )
  375.     )
  376. )
  377. )
  378.  
  379. (procedure    CopyVDEs
  380. (
  381.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  382.     (set DecompPat  "vde/#?")
  383.     (Decompress)
  384.  
  385.     (copyfiles
  386.  
  387.         (source "ram:cstuff/vde")
  388.         (dest    "SysText:VDE")
  389.  
  390.         (all)
  391.         (optional "nofail" "askuser")
  392.     )
  393.  
  394.     (CleanItUp)
  395. )
  396. )
  397.  
  398. (procedure    CopyHelp
  399. (
  400.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  401.     (set DecompPat  "help/#?")
  402.     (Decompress)
  403.  
  404.     (copyfiles
  405.  
  406.         (source "ram:cstuff/help")
  407.         (dest    "SysText:Help")
  408.  
  409.         (all)
  410.         (optional "nofail" "askuser")
  411.     )
  412.     
  413.     (CleanItUp)
  414. )
  415. )
  416.  
  417. (procedure    CopyNew
  418. (
  419.     (set DecompFile ("%scnet/systext/systext.lha" Disk1))
  420.     (set DecompPat  "new/#?")
  421.     (Decompress)
  422.  
  423.     (copyfiles
  424.  
  425.         (source "ram:cstuff/new")
  426.         (dest    "SysText:New")
  427.  
  428.         (all)
  429.         (optional "nofail" "askuser")
  430.     )
  431.     
  432.     (CleanItUp)
  433. )
  434. )
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442. ;
  443. ; BEGIN MASTER INSTALL PROCEDURES
  444. ; The following two procedures handle new installations and update
  445. ; installations, calling the proper procedures defined above as well as
  446. ; doing other specialized tasks.
  447. ;
  448.  
  449. (procedure    DoUpdateInstall
  450. (
  451.     (askdisk
  452.  
  453.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  454.  
  455.         (prompt "\nPlease insert Disk 1 of CNet Amiga."
  456.         )
  457.         (help    "Insert the CNet Amiga disk labeled as disk 1.  "
  458.             "You can put it in any drive--and, if you have two "
  459.             "floppy drives, you can also put disk 2 in your other "
  460.             "free drive to save yourself time later."
  461.         )
  462.     )
  463.  
  464.     (CopyExecutables1)
  465.     (CopyLicense)
  466.     (CopyVDEs)
  467.     (CopyMaints)
  468.  
  469.     (if
  470.         (askbool
  471.         
  472.             (prompt "\nDo you want to re-install the menu files?")
  473.             (help    "Copies all the menu files into SYSTEXT:Menu. "
  474.                 help-modify-self
  475.             )
  476.         )
  477.  
  478.         ; TRUE (Yes) statement
  479.         (
  480.             (CopyMenus)
  481.         )
  482.     )
  483.  
  484.     (if
  485.         (askbool
  486.         
  487.             (prompt "\nDo you want to re-install the help files?")
  488.             (help    "Copies all the help files into SYSTEXT:Help. "
  489.                 help-modify-self
  490.             )
  491.         )
  492.  
  493.         ; TRUE (Yes) statement
  494.         (
  495.             (CopyHelp)
  496.         )
  497.     )
  498.  
  499.     (if
  500.         (askbool
  501.         
  502.             (prompt "\nDo you want to re-install the new-user files?")
  503.             (help    "Copies all the new-user help files into SYSTEXT:New.\n\n"
  504.                 "The new-user files are all the pieces of text "
  505.                 "which describe questions new users are asked when "
  506.                 "logging in, as well as the public and sysop questions.\n\n"
  507.                 help-modify-self
  508.             )
  509.         )
  510.  
  511.         ; TRUE (Yes) statement
  512.         (
  513.             (CopyNew)
  514.         )
  515.     )
  516.  
  517.     (askdisk
  518.  
  519.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  520.  
  521.         (prompt "\nPlease insert Disk 2 of CNet Amiga."
  522.         )
  523.         (help    "Insert the CNet Amiga disk labeled as disk 2."
  524.         )
  525.     )
  526.  
  527.     (CopyExecutables2)
  528.  
  529.     (if
  530.         (askbool
  531.         
  532.             (prompt "\nDo you want to re-install the CNet speller dictionary?" )
  533.             (help    "This master-dictionary rarely changes, and chances "
  534.                 "are you have added words to it yourself already. "
  535.                 "It is recommended that you skip this part of the "
  536.                 "update installation if you have made any changes "
  537.                 "to your dictionary."
  538.             )
  539.         )
  540.  
  541.         ; TRUE (Yes) statement
  542.         (
  543.             (CopySpeller)
  544.         )
  545.     )
  546.  
  547.     (if
  548.         (askbool
  549.  
  550.             (prompt "\nDo you want to re-install the FIDO executables?")
  551.             (help    "This part is presented as an option because not "
  552.                 "everyone runs the FIDO network.\n\n"
  553.                 "See your CNet manual for information on the CNet "
  554.                 "FIDO tosser, and the FIDO import/exporters."
  555.             )
  556.         )
  557.  
  558.         ; TRUE Yes statement
  559.         (
  560.             (CopyFIDOs)
  561.         )
  562.     )
  563.  
  564.     (if
  565.         (askbool
  566.  
  567.             (prompt "\nDo you want to re-install the UUCP executables?")
  568.             (help    "This part is presented as an option because not "
  569.                 "everyone runs the UUCP/Usenet network.\n\n"
  570.                 "See your CNet manual for information on the CNet "
  571.                 "UUCP importers."
  572.             )
  573.         )
  574.  
  575.         ; TRUE Yes statement
  576.         (
  577.             (CopyUUCPs)
  578.         )
  579.     )
  580.  
  581.     (message
  582.  
  583.         "\nUpdate installed.  Please note that CNet:BBSTEXT and "
  584.         "CNet:BBSMENU were NOT installed.  Since most CNet SysOps "
  585.         "have heavily modified these files, there are several utilities "
  586.         "available which can detect changes and help you transfer those "
  587.         "changes into your CURRENT files, saving you from having to "
  588.         "start over completely from scratch.\n\nCheck the updating "
  589.         "section of your CNet manual, as well as the updating directory "
  590.         "on Disk 2.  There may be conversion files you need to run or "
  591.         "other file renaming procedures needed before you can safely "
  592.         "run your CNet update."
  593.     )
  594. )
  595. )
  596.  
  597.  
  598. (procedure    DoNewInstall
  599. (
  600.     (message
  601.  
  602.         "\nCNet Amiga has many different data files, and most related "
  603.         "files are grouped into directories, so that you can choose "
  604.         "different places for each set of data to go (for instance, "
  605.         "you might put your menus, help files, and other small data "
  606.         "sets on one small HD partition, while you might want your "
  607.         "message bases on a larger HD partition.)\n\n"
  608.         "I will now ask you to choose a place for each data set.  "
  609.         "Consult your CNet Amiga manual for information on what is "
  610.         "what, or use the HELP key for information."
  611.     )
  612.  
  613.     (set    DestDir
  614.  
  615.         (askdir
  616.  
  617.             (prompt    ask-install-part "master CNET" ask-install-part2
  618.             )
  619.             (help    "The master CNet directory is the home of the "
  620.                 "main executable, as well as it's control files "
  621.                 "like Config, your modem setups, BBSTEXT, etc.\n\n"
  622.                 "It's suggested that you choose a medium-sized "
  623.                 "partition and use this as a 'base' for all your "
  624.                 "other directories, like GFiles, Mail, News, etc."
  625.             )
  626.             (default "Work:")
  627.         )
  628.     )
  629.     (makedir    (tackon DestDir "CNet"))
  630.     (makeassign "CNet" (tackon DestDir "CNet"))
  631.  
  632.     (message
  633.  
  634.         "\nAn assign called CNET: has been made to the master "
  635.         "directory just created.  Many of the following "
  636.         "installation questions might refer to this assignment."
  637.     )
  638.  
  639.     (set    DestDir
  640.  
  641.         (askdir
  642.  
  643.             (prompt    ask-install-part "GFILES" ask-install-part2
  644.             )
  645.             (help    "The GFiles directory holds any extra text-files "
  646.                 "(or [G]eneral Files) you want to install for your "
  647.                                 "users.\n\n"
  648.             )
  649.             (default "CNet:")
  650.         )
  651.     )
  652.     (makedir (tackon DestDir "GFiles"))
  653.     (makeassign "GFiles" (tackon DestDir "GFiles"))
  654.     (makedir "GFiles:Data")
  655.  
  656.     (set    DestDir
  657.  
  658.         (askdir
  659.  
  660.             (prompt    ask-install-part "PFILES" ask-install-part2
  661.             )
  662.             (help    "The PFiles directory holds a series of executables "
  663.                 "C-Net requires, as well as serving as a place to "
  664.                                 "store any extra PFiles you wish to install for your "
  665.                                 "users, like games.\n\n"
  666.             )
  667.             (default "CNet:")
  668.         )
  669.     )
  670.     (set DestDir (tackon DestDir "PFiles"))
  671.         (makedir DestDir)
  672.     (makeassign "PFiles" DestDir)
  673.     (makedir "PFiles:Data")
  674.     (makedir (tackon DestDir "BBS"))
  675.  
  676.     (set    DestDir
  677.  
  678.         (askdir
  679.  
  680.             (prompt    ask-install-part "MAIL" ask-install-part2
  681.             )
  682.             (help    "The Mail directory holds a series of directories "
  683.                 "(one for each user) in which unique user data is "
  684.                 "stored; user signature files, question files, their "
  685.                 "e-mail, etc."
  686.             )
  687.             (default "CNet:")
  688.         )
  689.     )
  690.     (set DestDir (tackon DestDir "Mail"))
  691.         (makedir DestDir)
  692.     (makeassign "Mail" DestDir)
  693.     (makedir (tackon DestDir "Users"))
  694.  
  695.     (set    DestDir
  696.  
  697.         (askdir
  698.  
  699.             (prompt    ask-install-part "NEWS" ask-install-part2
  700.             )
  701.             (help    "The News directory holds newsfiles; text files "
  702.                 "you can create which are shown to users when they "
  703.                 "login.  Called 'bulletins' on some systems."
  704.             )
  705.             (default "CNet:")
  706.         )
  707.     )
  708.     (makedir (tackon DestDir "News"))
  709.     (makeassign "News" (tackon DestDir "News"))
  710.     (makedir "News:Data")
  711.  
  712.     (set    DestDir
  713.  
  714.         (askdir
  715.  
  716.             (prompt    ask-install-part "BASE0" ask-install-part2
  717.             )
  718.             (help    "The Base0 directory holds the datafiles to your "
  719.                 "message bases.  Messages are stored here, as well as "
  720.                 "entry files, etc."
  721.             )
  722.             (default "CNet:")
  723.         )
  724.     )
  725.     (makedir (tackon DestDir "Base0"))
  726.     (makeassign "Base0" (tackon DestDir "Base0"))
  727.     (makedir "Base0:main")
  728.     (makedir "Base0:main/data")
  729.  
  730.     (set    DestDir
  731.  
  732.         (askdir
  733.  
  734.             (prompt    ask-install-part "UDBASE0" ask-install-part2
  735.             )
  736.             (help    "The UDBase0 directory holds the datafiles to your "
  737.                 "file (upload/download) bases.  Note that individual "
  738.                 "subboards can be split across multiple partitions, "
  739.                 "and files WON'T necessarily get uploaded here.  See "
  740.                 "your CNet manual for information."
  741.             )
  742.             (default "CNet:")
  743.         )
  744.     )
  745.     (makedir (tackon DestDir "UDBase0"))
  746.     (makeassign "UDBase0" (tackon DestDir "UDBase0"))
  747.     (makedir "UDBase0:main")
  748.     (makedir "UDBase0:main/data")
  749.  
  750.     (set    DestDir
  751.  
  752.         (askdir
  753.  
  754.             (prompt    ask-install-part "SYSDATA" ask-install-part2
  755.             )
  756.             (help    "The SysData directory holds critical BBS data like "
  757.                 "the master user-file and it's associated index files, "
  758.                 "as well as your BBSList files, log files, and "
  759.                 "voting booth information."
  760.             )
  761.             (default "CNet:")
  762.         )
  763.     )
  764.     (set DestDir (tackon DestDir "SysData"))
  765.         (makedir DestDir)
  766.     (makeassign "SysData" DestDir)
  767.     (makedir (tackon DestDir "Log"))
  768.     (makedir (tackon DestDir "Vote"))
  769.     (makedir (tackon DestDir "BBSList"))
  770.  
  771.     (set    DestDir
  772.  
  773.         (askdir
  774.  
  775.             (prompt    ask-install-part "SYSTEXT" ask-install-part2
  776.             )
  777.             (help    "The SysText directory holds all text-files used "
  778.                 "throughout the BBS like menus, help files, and new "
  779.                 "user files, as well as your VDE (Visual Data Editor) "
  780.                 "files required by the BBS for editing certain data."
  781.             )
  782.             (default "CNet:")
  783.         )
  784.     )
  785.     (set DestDir (tackon DestDir "SysText"))
  786.         (makedir DestDir)
  787.     (makeassign "SysText" DestDir)
  788.     (makedir (tackon DestDir "VDE" ))
  789.     (makedir (tackon DestDir "Menu"))
  790.     (makedir (tackon DestDir "Help"))
  791.     (makedir (tackon DestDir "New" ))
  792.  
  793.     (askdisk
  794.  
  795.         (dest (substr Disk1 0 (- (strlen Disk1) 1)))
  796.  
  797.         (prompt "\nPlease insert Disk 1 of CNet Amiga."
  798.         )
  799.         (help    "Insert the CNet Amiga disk labeled as disk 1.  "
  800.             "You can put it in any drive--and, if you have two "
  801.             "floppy drives, you can also put disk 2 in your other "
  802.             "free drive to save yourself time later."
  803.         )
  804.     )
  805.  
  806.     (CopyExecutables1)
  807.     (CopyMenus)
  808.     (CopyHelp)
  809.     (CopyVDEs)
  810.     (CopyNew)
  811.     (CopyMaints)
  812.     (CopyStandards)
  813.  
  814.     (askdisk
  815.  
  816.         (dest (substr Disk2 0 (- (strlen Disk1) 1)))
  817.  
  818.         (prompt "\nPlease insert Disk 2 of CNet Amiga."
  819.         )
  820.         (help    "Insert the CNet Amiga disk labeled as disk 2."
  821.         )
  822.     )
  823.  
  824.     (CopyExecutables2)
  825.  
  826.     (if    (askbool
  827.  
  828.             (prompt    "\nWould you like to install the built-in spell "
  829.                 "checker?"
  830.             )
  831.             (help    "CNet's VisualEd editor has a built-in spell "
  832.                 "checker.  However, in order for the spell checker "
  833.                 "to be activated, the master dictionary must be "
  834.                 "installed.\n\nIn addition, a couple of utilities "
  835.                 "will be installed which allow you to compress and "
  836.                 "decompress the master dictionary so that you may "
  837.                 "add/remove words from it."
  838.             )
  839.         )
  840.  
  841.         ; TRUE statement
  842.         (
  843.             (CopySpeller)
  844.  
  845.             (set SplLine1 ( "copy        \"%s\" RAM:" (tackon DestPath "dict"      ) ))
  846.             (set SplLine2 ( "copy        \"%s\" RAM:" (tackon DestPath "dict.index") ))
  847.  
  848.             (if
  849.                 (askbool
  850.                 
  851.                     (prompt "\nWould you like to run the speller "
  852.                         "out of RAM?"
  853.                     )
  854.                     (help    "Keeping the CNet dictionary in RAM "
  855.                         "will help speed up spell checks.  "
  856.                         "If you choose to install the dictionary "
  857.                         "in RAM, a statement will be added to your "
  858.                         "S:User-Startup file to automatically copy "
  859.                         "it into RAM on startup.\n\n"
  860.                         "Also remember that you should then set the "
  861.                         "speller path through CONFIG to be RAM:, not "
  862.                         ("\"%s\" (where you installed the speller.)" DestPath )
  863.                     )
  864.                 )
  865.                 
  866.                 ; TRUE statement
  867.                 (
  868.                     (message
  869.  
  870.                         "\nRemember to set your speller path to RAM: "
  871.                         "when you configure your BBS with CONFIG."
  872.                     )
  873.                 )
  874.                 
  875.                 ; FALSE statement
  876.                 (
  877.                     (set SplLine1 (cat "; " SplLine1))
  878.                     (set SplLine2 (cat "; " SplLine2))
  879.                 )
  880.             )
  881.         )
  882.     )
  883.  
  884.     (CopyFIDOs)
  885.  
  886.     (if    (askbool
  887.  
  888.             (prompt    "\nWould you like to install UUCP network "
  889.                 "utilities?"
  890.             )
  891.             (help    "CNet includes support for the Usenet network.  If "
  892.                 "you plan on being a part of this network, several "
  893.                 "utilities need to be installed which handle the "
  894.                 "import of network messages and mail."
  895.             )
  896.         )
  897.  
  898.         ; TRUE statement
  899.         (
  900.             (CopyUUCPs)
  901.         )
  902.     )
  903.  
  904.     (if    (askbool
  905.     
  906.             (prompt "\nDo you want to run CNet resident?")
  907.             (help    "CNet is a 'pure' program, meaning it can be "
  908.                 "made resident.  Programs which are resident "
  909.                 "have the distinct advantage of being re-entrant; "
  910.                 "meaning if you have 3 copies of it running, there "
  911.                 "is really only 1 copy taking up memory, with three "
  912.                 "different sets of variables.\n\n"
  913.                 "This saves a LOT of memory when running CNet in a "
  914.                 "multi-user enviornment, because you are saving about "
  915.                 "260k of RAM for *EVERY* extra port you have loaded.\n\n"
  916.                 "Even if you are only running 1 line, it's a good idea "
  917.                 "to make it resident, since you will probably have a 'port 0' "
  918.                 "or other local port up sometimes.\n\n"
  919.                 "Note that it does NOT waste memory to have CNet "
  920.                 "made resident even if you are only running 1 port."
  921.             )
  922.         )
  923.         
  924.         ; TRUE statement
  925.         (
  926.             (set ResFlag "")
  927.         )
  928.         
  929.         ; FALSE statement
  930.         (
  931.             (set ResFlag "; ")
  932.             
  933.             (message "\nThe BBS will NOT be made resident.  However, "
  934.                  "in your S:User-Startup file, the lines responsible "
  935.                  "for making the BBS resident will appear, but prefixed "
  936.                  "with semicolons (;), which comments them out.\n\n"
  937.                  "Should you wish to run the BBS resident in the future, "
  938.                  "all that needs to be done is removal of those semicolons."
  939.             )
  940.         )
  941.         
  942.     )
  943.  
  944.     (if    (askbool
  945.     
  946.             (prompt "\nDo you want to run CNet automatically when your system "
  947.                 "is started?"
  948.             )
  949.             (help    "If you wish CNet to automatically be started when your "
  950.                 "system is booted, answer YES.  It is a good idea to have "
  951.                 "CNet run automatically, especially in case of a power "
  952.                 "outage and when you aren't around to manually startup "
  953.                 "the BBS."
  954.             )
  955.         )
  956.         
  957.         ; TRUE statement
  958.         (
  959.             (set RunFlag "")
  960.         )
  961.         
  962.         ; FALSE statement
  963.         (
  964.             (set RunFlag "; ")
  965.             
  966.             (message "\nThe BBS will NOT be automatically run on startup. However, "
  967.                  "in your S:User-Startup file, the line responsible "
  968.                  "for starting the BBS will appear, but prefixed "
  969.                  "with a semicolon (;), which comments it out.\n\n"
  970.                  "Should you wish to run the BBS automatically on startup in the future, "
  971.                  "all that needs to be done is the removal of that semicolon."
  972.             )
  973.         )
  974.         
  975.     )
  976.  
  977.     (startup "CNet Amiga Pro 3"
  978.  
  979.         (prompt "\nSeveral assignments need to be made to your S:User-Startup "
  980.             "file which allow CNet to find all the files and directories "
  981.             "we've just installed.\n\n"
  982.             "In addition, other actions required by CNet will be "
  983.             "added."
  984.         )
  985.         (help    "CNet requires several assignments so that it can find "
  986.             "all it's files.  Many assign statements will be made "
  987.             "to your S:User-Startup file, and will also launch "
  988.             "several of the handlers CNet requires, set the stack "
  989.             "requirement automatically, etc."
  990.         )
  991.  
  992.         (command
  993.  
  994.         ("\n"                        )
  995.         ("assign CNet:     \"%s\"\n" (getassign "CNet"        ))
  996.         ("assign SysText:  \"%s\"\n" (getassign "SysText"    ))
  997.         ("assign SysData:  \"%s\"\n" (getassign "SysData"    ))
  998.         ("assign News:     \"%s\"\n" (getassign "News"        ))
  999.         ("assign GFiles:   \"%s\"\n" (getassign "GFiles"    ))
  1000.         ("assign PFiles:   \"%s\"\n" (getassign "PFiles"    ))
  1001.         ("assign Mail:     \"%s\"\n" (getassign "Mail"        ))
  1002.         ("assign Base0:    \"%s\"\n" (getassign "Base0"        ))
  1003.         ("assign UDBase0:  \"%s\"\n" (getassign "UDBase0"    ))
  1004.  
  1005.         ("\n; You may add other ASSIGNs here as necessary, for example")
  1006.         ("\n; for Base1: and UDBase1: etc.  Consult your manual!\n")
  1007.         
  1008.         ("\n; Sets up/launches CNet Amiga\n\n"         )
  1009.         ("run        <>NIL: L:FIFO-Handler\n"     )
  1010.         ("mount        <>NIL: PIPE:\n"             )
  1011.         ("rexxmast     >NIL:\n\n"             )
  1012.         ("stack        40000\n\n"             )
  1013.         ("%s\n"                    SplLine1 )
  1014.         ("%s\n\n"                SplLine2 )
  1015.         ("%sresident PURE CNet:bbs CNet:bbs ADD\n" ResFlag )
  1016.         ("%sresident PURE Pfiles:bbs/vote Pfiles:bbs/vote ADD\n" ResFlag )
  1017.         ("%sresident PURE Pfiles:bbs/join Pfiles:bbs/join ADD\n" ResFlag )
  1018.         ("\n%srun        <>NIL: CNet:Control\n"   RunFlag )
  1019.         )
  1020.     )
  1021.  
  1022. ;    (textfile
  1023. ;
  1024. ;        (dest    "S:CNet-Startup")
  1025. ;        (append
  1026. ;
  1027. ;        )
  1028. ;    )
  1029.  
  1030.     (if
  1031.         (askbool
  1032.  
  1033.             (prompt "\nInstallation complete!\n\n  You should now further configure "
  1034.                 "your system using C-Net's CONFIG program.\n\n"
  1035.                 "Do you wish to run CONFIG now?"
  1036.             )
  1037.             (help    "CONFIG is a mouse-driven program that allows you "
  1038.                 "to configure many imporant things about your system, "
  1039.                 "such as new user defaults, message limits, paths to "
  1040.                 "system data, and much much more.  There are many things "
  1041.                 "that require your attention before the BBS is ready "
  1042.                 "to go on-line.  See your CNet manual for more info."
  1043.             )
  1044.         )
  1045.  
  1046.         ; TRUE statement
  1047.         (
  1048.             (run "run CNet:Config" )
  1049.         )
  1050.     )
  1051. )
  1052. )
  1053.  
  1054.  
  1055. ;
  1056. ; BEGIN MAIN INSTALLATION SEQUENCE TREE
  1057. ;
  1058. ; The welcome statement determines whether or not to do an update
  1059. ; installation or a new-user installation, and then calls a master-procedure
  1060. ; defined above which handles that type of installation appropriately.
  1061. ;
  1062.  
  1063. (welcome
  1064.  
  1065.     (set @default-dest "CNet:")
  1066.  
  1067.     (if    
  1068.         (exists "CNet:bbs" (noreq))
  1069.  
  1070.         ; TRUE statement
  1071.         (
  1072.             (set NewInstall 0)
  1073.  
  1074.             (user 2)
  1075.             (message
  1076.                 "\nThe system has detected that you already have "
  1077.                 "CNet Amiga installed.\n\nThe installer will perform "
  1078.                 "an update installation, only "
  1079.                 "copying over the necessary executables, and will "
  1080.                 "only copy files which you might have customized "
  1081.                 "(menus, help files, etc) if you ask it to."
  1082.             )
  1083.         )
  1084.  
  1085.         ; FALSE statement
  1086.         (
  1087.             (set NewInstall 1)
  1088.  
  1089.             (message
  1090.                 "\nThe system has detected that you are installing "
  1091.                 "CNet for the first time.\n\nHave your manual handy, "
  1092.                 "and remember the HELP key works in most places."
  1093.             )
  1094.         )
  1095.     )
  1096. )
  1097.  
  1098. (if    NewInstall
  1099.  
  1100.     ; TRUE statement
  1101.     (
  1102.         (DoNewInstall)
  1103.     )
  1104.  
  1105.     ; FALSE statement
  1106.     (
  1107.         (DoUpdateInstall)
  1108.     )
  1109. )
  1110.