home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / dosmenu6.zip / DOSMENU.DOC < prev    next >
Text File  |  1994-08-05  |  94KB  |  2,534 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                                    DOSmenu
  15.                                    ═══════
  16.  
  17.                       A Powerful, Easy Management System
  18.            For Novell Netware, Other Networks, And Stand-Alone PCs
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                       ▄▄▄▄▄▄▄▄▄▄▄
  33.                       █  ▄▄▄▄▄  █  (C)Copyright 1994
  34.                       █  █   █  █
  35.                       █  ▀▀▀▀▀  ▀  Bremer Corporation
  36.                       █  ▄▄▄▄▄  ▄  Austin, Texas
  37.                       █  █   █  █
  38.                       █  ▀▀▀▀▀  █  All Rights Reserved
  39.                       ▀▀▀▀▀▀▀▀▀▀▀
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.                                 Version 6.6a
  50.  
  51.                                  August 1994
  52.                               TABLE OF CONTENTS
  53. ══════════════════════════════════════════════════════════════════════════════
  54.  
  55.      Topic                                                        Page
  56.  
  57.      Introduction . . . . . . . . . . . . . . . . . . . . . . . .   4
  58.  
  59.      Miscellaneous  . . . . . . . . . . . . . . . . . . . . . . .   5
  60.           Requirements
  61.           Recommendations
  62.           Maximum Limits
  63.           Startup Options
  64.           Required Files
  65.           Optional Files
  66.           Update Procedure For Registered Users
  67.  
  68.      Installation Instructions  . . . . . . . . . . . . . . . . .   8
  69.           Notes
  70.  
  71.      Startup Batch File . . . . . . . . . . . . . . . . . . . . .   9
  72.  
  73.      Menu Commands  . . . . . . . . . . . . . . . . . . . . . . .  10
  74.  
  75.      System Setup . . . . . . . . . . . . . . . . . . . . . . . .  11
  76.  
  77.      Menu Definition  . . . . . . . . . . . . . . . . . . . . . .  16
  78.           Server-Based Convention
  79.           Rights-Based Convention
  80.           Notes
  81.           Testing Your Menu
  82.  
  83.      Menu Rules . . . . . . . . . . . . . . . . . . . . . . . . .  23
  84.           Rules
  85.           Notes
  86.           Loading Additional Menus (/LOAD, /MENU)
  87.           Chaining Startup Batch Files (/NEW)
  88.           Logging In To Other Servers (/LOGIN)
  89.  
  90.      Sub-Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  91.  
  92.      Compiling Menu Files  . . . . . . . . . . . . . . . . . . . . 27
  93.  
  94.      Translating Menu Files  . . . . . . . . . . . . . . . . . . . 28
  95.  
  96.      Temporary Batch Files . . . . . . . . . . . . . . . . . . . . 29
  97.  
  98.      DOS Environment Variables . . . . . . . . . . . . . . . . . . 30
  99.  
  100.      Noticing  . . . . . . . . . . . . . . . . . . . . . . . . . . 31
  101.  
  102.      Personal Menus  . . . . . . . . . . . . . . . . . . . . . . . 32
  103.  
  104.      Unattended Runs . . . . . . . . . . . . . . . . . . . . . . . 33
  105.  
  106.      DMutil Maintenance Utility  . . . . . . . . . . . . . . . . . 34
  107.           Command Parameters
  108.           The Menu File Editor
  109.  
  110.      Hardware Managing Service . . . . . . . . . . . . . . . . . . 35
  111.  
  112.      Software Metering Service . . . . . . . . . . . . . . . . . . 37
  113.  
  114.      DMmeter Metering Utility  . . . . . . . . . . . . . . . . . . 38
  115.  
  116.      WOmeter Metering Utility  . . . . . . . . . . . . . . . . . . 39
  117.  
  118.      DMquery Batch Input Utility . . . . . . . . . . . . . . . . . 40
  119.  
  120.      DMlogin Login Utility . . . . . . . . . . . . . . . . . . . . 41
  121.  
  122.      Windows Office Menu . . . . . . . . . . . . . . . . . . . . . 44
  123.  
  124.      Bonus Utilities (For Registered Users)  . . . . . . . . . . . 45
  125.  
  126.      Commonly Asked Questions  . . . . . . . . . . . . . . . . . . 47
  127.  
  128.      Example Menu File . . . . . . . . . . . . . . . . . . . . . . 50
  129.  
  130.      Shareware . . . . . . . . . . . . . . . . . . . . . . . . . . 52
  131.           Distribution
  132.           Registration
  133.           Disclaimer
  134.           Trademarks
  135.  
  136.      Additional DOSmenu Documentation Files  . . . . . . . . . . . 54
  137.                                  INTRODUCTION
  138. ══════════════════════════════════════════════════════════════════════════════
  139.  
  140. DOSmenu was designed as a simple yet powerful menu system for both network and
  141. stand-alone environments.
  142.  
  143. Here is a quick overview of DOSmenu:
  144.  
  145. o    Small executable size.
  146.  
  147. o    No memory overhead.
  148.  
  149. o    Unlimited menus.
  150.  
  151. o    Run any program, including TSRs.
  152.  
  153. o    Many rights options to determine whether a menu item is usable by a user.
  154.  
  155. o    Automatically knows NetWare.  Works with other networks and stand-alone
  156.      environments.
  157.  
  158. o    Change menu environment on-the-fly while users are active.
  159.  
  160. o    Optionally compile menu files for ultimate menu security.
  161.  
  162. o    One utility (DMutil) handles all menu maintenance tasks.
  163.  
  164. o    Translate NetWare menu files.
  165.  
  166. o    Complete user logging and reporting capabilities.
  167.  
  168. o    Complete Software Metering Service and reporting capabilities.
  169.  
  170. o    Complete Hardware Managing Service and reporting capabilities.
  171.  
  172. o    Full mouse support, activated screen saving, a menu utility set and
  173.      printed documentation with the registered version.
  174.                                 MISCELLANEOUS
  175. ══════════════════════════════════════════════════════════════════════════════
  176.  
  177. REQUIREMENTS
  178. ════════════
  179.  
  180. DOSmenu's only known requirement is that it must run under DOS 3.1 or higher.
  181. It loads Windows fine and runs fine from a Windows DOS session.
  182.  
  183.  
  184. RECOMMENDATIONS
  185. ═══════════════
  186.  
  187. We strongly recommend placing the command
  188.  
  189.      SHELL=C:\COMMAND.COM /E:512 /P {or more}
  190.  
  191. in all CONFIG.SYS files using this menu system.  The environment space is
  192. needed as DOSmenu passes many things through the DOS environment (thereby
  193. utilizing NO overhead).
  194.  
  195.  
  196. MAXIMUM LIMITS
  197. ══════════════
  198.  
  199. Number of..
  200.   menu files: unlimited
  201.   sub-menus per file: 40+ (depends on memory)
  202.   shown items per sub-menu: 30
  203.   DOS commands per menu item: 25
  204.   rights per menu item: 10
  205.   right items per right group: 10
  206.   active notices per user: 15
  207.   lines per notice: 10
  208.   metered applications: 100
  209.   managed workstations per server: 1000
  210.  
  211. Length of..
  212.   menu items: 50
  213.   menu rights: 128
  214.   menu commands: 60
  215.   help lines: 60
  216.   screen title: 78
  217.   questions: 72
  218.   notice lines: 70
  219.  
  220.  
  221. STARTUP OPTIONS
  222. ═══════════════
  223.  
  224. DOSmenu is actually started with the DOSMENU command from within the menu
  225. startup batch file, MENU.BAT.
  226.  
  227.  
  228. REQUIRED FILES
  229. ══════════════
  230.  
  231. The following files are necessary to run DOSmenu:
  232.  
  233. DOSMENU.EXE    The DOSmenu program.
  234.  
  235. DMMISC.EXE     Required for registered versions (it is the register-key file).
  236.                It must reside in DOSMENU.EXE's home directory (and
  237.                DMLOGIN.EXE's home directory, if different).
  238.  
  239. DMUTIL.EXE     The DOSmenu utility program.  It handles all menu system
  240.                maintenance chores.
  241.  
  242. DOSMENU.INI    The default DOSmenu INI file initially made and edited with
  243.                DMutil.  It configures your menu system environment.
  244.  
  245. DOSMENU.MNU    The default DOSmenu menu file initially made and edited with
  246.                DMutil.  This file is the default menu.
  247.  
  248. MENU.BAT       The startup batch file initially made and edited with DMutil.
  249.  
  250.  
  251. OPTIONAL FILES
  252. ══════════════
  253.  
  254. Although not required, these files can extends DOSmenu's usefulness:
  255.  
  256. DOSMENU.PER    Optional personal menu kept in users' private directory.
  257.  
  258. DOSMENU.NTE    The default DOSmenu note file initially made and edited with
  259.                DMutil.  This file holds user notices.
  260.  
  261. DOSMENU.LOG    If logging is enabled, this file is appended every time a user
  262.                performs a menu action.
  263.  
  264. DOSMENU.MTR    If metering is enabled, this is the central file where the
  265.                metering information is kept.
  266.  
  267. DMSAVER.EXE    An external screen saver (you may use your own as well).
  268.                (This feature is only called from DOSmenu in the registered
  269.                version.)
  270.  
  271. DMMANAGE.EXE   An external hardware managing utility that can keep a
  272.                management database of all workstations on your network.
  273.  
  274. DMMETER.EXE    An external software metering utility that can compliment the
  275.                metering services offered from within the DOSmenu.
  276.  
  277. DMQUERY.EXE    An external utility that gets and uses batch file input.
  278.  
  279. DMLOGIN.EXE    A great login/logout utility that enhances network order and
  280.                security.  (See DMLOGIN.DOC for specifics).
  281.  
  282. DMPAUSE.EXE    Like DOS 'pause' command but with ^C and ^Break key trapping.
  283.  
  284. INSTALL.EXE    The initial DOSmenu installation program.
  285.  
  286. WOMETER.EXE    A Windows-based software metering utility that can be used to
  287.                view, reset, and periodically erase the meter file.  This
  288.                program performs the same functions as DMmeter.
  289.  
  290. THREED.VBX     Required for WOMETER.EXE.  Place in \WINDOWS directory.
  291.  
  292. VBRUN300.DLL   Required for WOMETER.EXE.  Place in \WINDOWS directory.  (If
  293.                necessary, download it from most online services.  It is
  294.                shipped with the registered version.)
  295.  
  296. NOBRK.EXE      A very useful utility that can help to guarantee security
  297.                within your menu system with an approach different than the
  298.                inherent DOSmenu {r=nobreak} rights option.
  299.  
  300. Many additional utility programs (see BONUS UTILITIES section) are also
  301. shipped with the registered version.
  302.  
  303.  
  304. UPDATE PROCEDURES FOR REGISTERED USERS
  305. ══════════════════════════════════════
  306.  
  307. There are two ways to upgrade your registered version of DOSmenu starting with
  308. version 6.4.
  309.  
  310. Download from CIS (or other online services)
  311. ────────────────────────────────────────────
  312. You may download the latest shareware self-extracting ZIP file (DOSMNU.EXE)
  313. anytime, run it, and then copy its files over your existing registered files
  314. during installation.  It will then become registered automatically.  (Make
  315. sure you do not delete the existing DMMISC.EXE file, which is your
  316. register-key file.)
  317.  
  318. By mail directly from us
  319. ────────────────────────
  320. You may write to us and request the latest registered update.  Please include
  321. $15 US for shipping and handling.
  322.                           INSTALLATION INSTRUCTIONS
  323. ══════════════════════════════════════════════════════════════════════════════
  324.  
  325. To quickly get the menu system up and running, do the following (check the
  326. documentation later for specifics):
  327.  
  328. *    If you received a shareware version containing one self-executable file
  329.      called DOSMNU.EXE, then copy that file to a temporary directory on your
  330.      hard disk and then run 'DOSMNU' to unzip the DOSmenu distribution files.
  331.  
  332.  
  333. o    Run 'INSTALL' from the distribution disk to copy DOSmenu files to their
  334.      permanent directories and perform initial setup of DOSmenu support files.
  335.  
  336. o    After installation, you can further define your menu system with DMutil.
  337.  
  338.      'DMUTIL' edits all DOSmenu support files.
  339.      'DMUTIL /C DOSMENU.INI' compiles the init file for security.
  340.      'DMUTIL /C DOSMENU.MNU' compiles the menu file for security.
  341.      'DMUTIL /?' shows additional options.
  342.  
  343. o    Run 'MENU' to start the menu system.
  344.  
  345. o    Press F9 to further tailor the system with DMutil from within DOSmenu.
  346.  
  347.  
  348. NOTES
  349. ═════
  350.  
  351. The installation process does not alter any of your system start-up files.
  352.  
  353. During installation, the following files will be made in the target directory:
  354.  
  355.      MENU.BAT    - default menu startup batch file
  356.      DOSMENU.INI - init menu environment file
  357.      DOSMENU.MNU - default menu file
  358.      DOSMENU.NTE - note file for user/group notices
  359.  
  360. Check the documentation for specifics on DOSmenu's easy and powerful features.
  361.  
  362. Enjoy!
  363.                               STARTUP BATCH FILE
  364. ══════════════════════════════════════════════════════════════════════════════
  365.  
  366. As part of the initial file installation performed by DMutil, the file
  367. MENU.BAT will be made.  All DOSmenu files except for MENU.BAT and the MNU
  368. files _must_ remain in DOSmenu's home directory.  All users must have READ
  369. rights to this directory.  If you move or rename MENU.BAT, be sure to change
  370. it accordingly.  You may also move MNU files as long as you call them with
  371. their path.  If no path is given, then DOSmenu looks for them in its home
  372. directory.
  373.  
  374. Here is a commented MENU.BAT:
  375.  
  376. @echo off                           ;Cosmetics only
  377. ::uncomment variation of next line on networks when you don't want the menu to
  378. ::  appear if user is not logged in (especially if MENU.BAT is in LOGIN dir)
  379. REM if not exist f:\public\*.* goto END
  380. f:                                  ;Helps achieve a 'cleaner' logout
  381. cd \login                           ;"
  382. ::uncomment next line to allow hardware managing service
  383. REM if not '%1'=='/rerun' f:\login\dmmanage ;Use hardware managing service?
  384. ::replace %5 on next line only with menu name if not starting with DOSMENU.MNU
  385. f:\login\dosmenu /batch %1 %2 %3 %4 %5 ;Point to/run DOSmenu
  386. ::quitting the menu system?         ;255 passed with F10 or 'goto END' passed
  387. if errorlevel 255 goto END          ;If so, then leave loop and batch file
  388. ::running a new startup batch file? ;254 passed with /NEW or /LOGIN commands
  389. if errorlevel 254 goto NEW          ;If so, then leave loop and batch file
  390. %_dmcmd%                            ;The DOS command or temp batch file name
  391. ::do it again                       ;Keep running the batch file (and the menu
  392. f:\login\menu /rerun %3 %4 %5 %_dmmnu% ;  system) until system stopped
  393. goto END
  394. :NEW
  395. %_dmcmd%                            ;The new startup batch file name
  396. :END                                ;Place to go to when quitting
  397.  
  398. Be cautious about changing this batch file!  Note that starting with version
  399. 6.5, the /rerun must be the first parameter on the menu call line near the
  400. bottom (this change was made to accommodate DMmanage).
  401.  
  402. _dmcmd holds either the actual menu command or the temporary batch file path
  403. and name.
  404.  
  405. _dmmnu holds the name of the current 'main menu'.
  406.  
  407. Quitting will move to the end of the batch file, thereby stopping the system.
  408. You can place a quit command on your user's menu to do the same thing by
  409. defining a single DOS command for that menu item as 'goto END'.
  410.                                 MENU COMMANDS
  411. ══════════════════════════════════════════════════════════════════════════════
  412.  
  413. F1        HELP      Brings up context sensitive help.
  414.  
  415. F2        DOS       Performs any DOS command from within the confines of the
  416.                     menu system.  Can be password protected.
  417.  
  418. F3        VIEW DOS  Views last DOS screen.  If quit timing is enabled and an
  419.                     F2 password is enabled, this option is password protected.
  420.  
  421. F4        VIEW NOTE Views any notices that were directed to a user.
  422.  
  423. F5        PERSONAL  Load user's personal menu file.  Can be disabled.
  424.  
  425. F6        EDIT PER  Edit personal menu file.  Can be disabled.
  426.  
  427. F7        {nothing} No function with this version.
  428.  
  429. F8        WS STATS  Workstation status report (multiple screens). Can send to
  430.                     LPT1.  See HARDWARE MANAGING SERVICE section as well.
  431.  
  432. F9        ADMIN     Edits all menu system files at one time, interactively,
  433.                     while running the menu system.  Can be password protected.
  434.  
  435. F10       QUIT      Quits DOSmenu.  Can be password protected.
  436.  
  437. ESC       PREVIOUS  Backs up to the previous menu or cancels a question.
  438.  
  439. ENTER     RUN       Run the highlighted menu item.
  440.  
  441. ^ENTER    UNATTEND  Run the highlighted menu item in unattended mode.  See
  442.                     UNATTENDED RUNS section.
  443.  
  444.                                  SYSTEM SETUP
  445. ══════════════════════════════════════════════════════════════════════════════
  446.  
  447. DOSmenu has two setup phases, the initial default file creation and then
  448. configuration.
  449.  
  450.  
  451. DEFAULT MENU FILES CREATION
  452. ═══════════════════════════
  453.  
  454. The installation process copies DOSmenu files to a permanent home directory
  455. and then runs DMutil to make the initial menu file set consisting of
  456. DOSMENU.INI (the init file), DOSMENU.MNU (the menu file shell), DOSMENU.NTE
  457. (the note file) and MENU.BAT (the startup batch).
  458.  
  459.  
  460. SYSTEM CONFIGURATION
  461. ════════════════════
  462.  
  463. Installation also allows the first opportunity to edit the DOSMENU.INI file in
  464. order to set the environment for your specific system.  You may re-edit this
  465. file at any time by either pressing F9 from within DOSmenu (if you have
  466. appropriate rights) or by running 'DMUTIL' at the command line.  The INI file
  467. contains various options and switches that control how DOSmenu (and DMutil)
  468. will work for you and your users.  These are discussed here.
  469.  
  470.  
  471. [DMutil]
  472.  
  473. Activate mouse=
  474. ───────────────
  475. Default=yes.  With the registered version, you may optionally engage use of a
  476. mouse (if a mouse driver is available) or disengage use.  Disengaging can be
  477. useful if your system takes a long time to reset the mouse driver when loading
  478. DOS mouse-aware programs.
  479.  
  480. DOSmenu Startup Batch File=
  481. ───────────────────────────
  482. Default={directory you built files in originally}.  This option allows DMutil
  483. to load your startup batch file when loading the other menu system files with
  484. the 'DMUTIL' command.  This is necessary because you may (and should) move
  485. your MENU.BAT to a directory in the users' path.  You may also rename it,
  486. though you must be careful to change the file contents appropriately in that
  487. case.  Although not critical, you should enter the path and name of your
  488. startup batch file here.
  489.  
  490.  
  491. [Interface]
  492.  
  493. Use Mouse=
  494. ──────────
  495. Default=yes.  With the registered version, you may optionally use your mouse
  496. to manipulate your menu.  A mouse driver (like MOUSE.COM) must be loaded on
  497. the workstation to enable mouse support.
  498.  
  499. Desktop Color=
  500. ──────────────
  501. Default=71 or 70(mono machines).  This number determines the color of the menu
  502. system's desktop background.  The first number represents the foreground
  503. color, and the second number represents the background color.  If you enter
  504. only one color, then it will represent the background color and the foreground
  505. color will be 0.  Entering nothing or 0 will disable the desktop background.
  506. For example:
  507.  
  508.      71 = white on blue
  509.      7  = black on white
  510.      0  = no background
  511.  
  512. The standard MS-DOS colors are:
  513.  
  514.      0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white
  515.  
  516. Information Color=
  517. ──────────────────
  518. Default=7.  This single number determines the background color of the
  519. informations lines on the desktop.  You may enter a number from 0 to 7.  The
  520. colors are identified above.
  521.  
  522. Clear Screen By Default=
  523. ────────────────────────
  524. Default=yes.  This sets the menu default to either clear or not clearing the
  525. DOS screen before running menu items.  You can override this default with the
  526. {r=clear|noclear} right (see MENU DEFINITION section below).
  527.  
  528. Use CRT Border=
  529. ───────────────
  530. Default=yes.  Do you wish your CRT's border to be filled in.  This option does
  531. not work on monochrome monitors.
  532.  
  533. Max Menu Window Height=
  534. ───────────────────────
  535. Default=10.  You may enter a number from 3 to 17 to define the max height of
  536. all menu windows.
  537.  
  538. Screen Saver Time=
  539. ──────────────────
  540. Default=5.  0 disables screen saving.  (Only works with registered version.)
  541.  
  542. Screen Saver File=
  543. ──────────────────
  544. Default=[path]dmsaver.exe 1.  You may use your own saver as well.  KEEP IN
  545. MIND THAT THE SCREEN SAVER FEATURE WILL NOT FUNCTION IF A TIMED LOGOUT HAS
  546. BEEN DEFINED FOR THE SYSTEM (see below).  The parameter 1 (or 2 or 3) defines
  547. the screen saver type.  Type DMSAVER ? for specifics.
  548.  
  549. Screen Title=
  550. ─────────────
  551. Default=DOSmenu Menu System.  You may place your company name or something
  552. similar here, if you desire.  If this item is left blank, there will be no
  553. information line at the top of the screen.
  554.  
  555. Support Comment=
  556. ────────────────
  557. Default=For HELP Please Call Computer Support.  This phrase will be shown
  558. blinking at the bottom of the main help window.
  559.  
  560.  
  561. [Network]
  562.  
  563. Using NetWare=
  564. ──────────────
  565. Default=yes.  This switch tells DOSmenu whether it should make NetWare API
  566. calls to determine the actual user and server in force when it is running.
  567. If you answer no, and you are using or are going to use DOSmenu on a network,
  568. then you will need to set DOS variables equal to the current network user and
  569. file server from within your network login script and then define those
  570. variables for DOSmenu in the DOSMENU.INI file (options are described below).
  571. For instance, if you set the DOS variable _USER to the actual user ID in
  572. the network login script, then it will be found and used by DOSmenu if
  573. you enter _USER as the user DOS variable in DOSMENU.INI.
  574.  
  575. Non-NetWare DOS User Var=
  576. ─────────────────────────
  577. Default={nothing}.  As discussed above, this option allows DOSmenu to find the
  578. user ID when not on a NetWare network (or when you decide to override the API
  579. method).
  580.  
  581. Non-NetWare DOS Server Var=
  582. ───────────────────────────
  583. Default={nothing}.  As discussed above, this option allows DOSmenu to find the
  584. server name when not on a NetWare network (or when you decide to override the
  585. API method).
  586.  
  587. Any-Network DOS Node Var=
  588. ─────────────────────────
  589. Default={nothing}.  This option allows DOSmenu to use the workstation network
  590. node address as a determinant as to whether a menu item will be available or
  591. not.  Also required in order to utilize the Hardware Managing Service.
  592.  
  593. Private Directory=
  594. ──────────────────
  595. Default=c:\.  DOSmenu writes temporary batch files to run menu commands
  596. embedded within the menu file _only_ when there is more than one command for
  597. the chosen menu item.  These batch files must be written to an area where the
  598. user has WRITE and ERASE rights.
  599.  
  600. Typically, on networks, a 'private' area is mapped for each user on login as
  601. their personally mapped drive (actually just a network directory based on the
  602. user's ID) on the server.  In such a case, you should place that location
  603. here.  An example might be H:\ if you had performed a
  604.  
  605.      MAP ROOT F:\USERS\%LOGIN_NAME to H:\ (on a Novell network).
  606.  
  607. If no such directory is mapped or used on your network, then we suggest using
  608. C:\, which should always be private to the user for every session.
  609.  
  610. Remember, this batch file is only written if more than one DOS command is
  611. defined as part of a chosen menu item.  You may actually specify two private
  612. locations for this option, like
  613.  
  614.      Private Directory=h:\,c:\
  615.  
  616. to help take care of special cases like when a user does not have the proper
  617. network mappings.  You may use the syntax  =%var1%,%var2%  to use the contents
  618. of DOS variables for this purpose.  On a stand-alone environment, you do not
  619. need to define a private directory, and in that case, any temporary batch
  620. files will be written to DOSMENU.EXE's home directory.
  621.  
  622. Allow Personal Menus=
  623. ─────────────────────
  624. Default=yes.  If yes, then each user may maintain, run and edit a personal
  625. menu file, DOSMENU.PER, that resides in their defined private directory (see
  626. above).  Users must have WRITE and ERASE rights to this directory.
  627.  
  628. Force Personal NoBreaks=
  629. ────────────────────────
  630. Default=yes.  If personal menus are allowed, this protects the security of
  631. your system by forcing all menu items on the user menu to be run with the
  632. {r=nobreak} right set.  This effectively eliminates the possibility of a user
  633. breaking out of a batch file or DOS command by pressing ^C or ^Break.
  634. Strongly recommended.  However, understand that any batch file that uses an
  635. embedded NetWare _search_ mapping command will not be honored in this case.
  636. The alternative is to use the included NOBRK TSR utility.
  637.  
  638. Timed Group=
  639. ────────────
  640. Default={nothing}.  Enter one group name here to optionally time that group
  641. only if Timed Quit Menu Time= is entered below.
  642.  
  643. Untimed Group=
  644. ──────────────
  645. Default={nothing}.  Enter one group name here to optionally ignoring timing
  646. for that group only if Timed Quit Menu Time= is entered below.
  647.  
  648.  
  649. [Security]
  650.  
  651. F2 Run DOS Password=
  652. ────────────────────
  653. Default={nothing}.  If filled in, DOSmenu will require this password before
  654. allowing users the option of composing and running their own DOS commands.
  655. For security reasons, if a user enters nothing or a command that has the word
  656. 'command' anywhere within it, then it will be ignored.
  657.  
  658. F9 Admin Password=
  659. ──────────────────
  660. Default={nothing}.  If filled in, DOSmenu will require this password before
  661. allowing anyone to edit the menu system files.  If no password is defined,
  662. then anyone can edit your menu system.  This password is also queried by
  663. DMutil in case someone tries to run DMutil from DOS.
  664.  
  665. F10 Quit Menu Password=
  666. ───────────────────────
  667. Default={nothing}.  If filled in, DOSmenu will require this password before
  668. allowing users the option of quitting the menu system.  If no password is
  669. defined, the user is prompted to be sure they wish to quit the menu system.
  670.  
  671. NOTE: After defining password(s), you should compile the DOSMENU.INI file with
  672.  
  673.      DMUTIL /C DOSMENU.INI
  674.  
  675. to maintain security.
  676.  
  677. Password Exception Group=
  678. ─────────────────────────
  679. Default={nothing}.  If filled in, then members of this group will not be asked
  680. for any password from within DOSmenu, even if they are defined.
  681.  
  682. Use Hardware Managing=
  683. ──────────────────────
  684. Default=no.  This enables hardware metering.  You must fill out the next
  685. option and activate the Node address variable (above) as well.  See HARDWARE
  686. MANAGING SERVICE section for specifics.
  687.  
  688. Manage File=
  689. ────────────
  690. Default={nothing}.  If managing is enabled, then a path and filename must be
  691. entered here.  This file will become the central managing file for your system
  692. (on the current server).  Users must have WRITE and ERASE rights to this file.
  693.  
  694. Use Software Metering=
  695. ──────────────────────
  696. Default=no.  When enabled, the METER right will be enabled in your menu
  697. system.  You will be able to meter any DOS software application your users
  698. employ, which can help keep you and your company out of trouble.  See the
  699. SOFTWARE METERING SERVICE section for specifics.
  700.  
  701. Meter File=
  702. ───────────
  703. Default={nothing}.  If metering is enabled, then a path and filename must be
  704. entered here.  This file will become the central metering file for your system
  705. (on the current server).  Users must have WRITE and ERASE rights to this file.
  706.  
  707. Use Logging=
  708. ────────────
  709. Default=yes.  When enabled, the user's log file is appended whenever a user
  710. performs a menu action.  The file is normally kept in the private directory.
  711.  
  712. Central Logging=
  713. ────────────────
  714. Default=no.  If yes, then one log file for all users is written to the file
  715. specified in the next entry.
  716.  
  717. Central Log File=
  718. ─────────────────
  719. Default={nothing}.  Where to write central log information to, if activated.
  720. Users must have WRITE and ERASE rights to this area.
  721.  
  722. Max Log File Size=
  723. ──────────────────
  724. Default={nothing}.  If you enter a number here, then DOSmenu will delete the
  725. log file when its gets to the size you specify, like:
  726.  
  727.      Max Log File size=500000.
  728.  
  729. Timed Quit Menu Time=
  730. ─────────────────────
  731. Default=0.  This option, if enabled, allows you to control your user's allowed
  732. time of inactivity before forcing them off of the network (or simply out of
  733. the menu system).  Entering 0 or nothing disables this function.
  734.  
  735. Timed Quit Menu Command=
  736. ────────────────────────
  737. Default=logout.  If automatic quitting is enabled via the option above, then
  738. whatever is placed in this option will be run when the automatic quit is
  739. invoked.  Obviously entering 'logout' will log the user out of a Novell
  740. network.  If you simply wanted to remove a user from the menu system at
  741. automatic quit, then enter 'goto end' here.  This in affect will take the user
  742. out of the MENU.BAT internal loop that normally keeps DOSmenu going.
  743.  
  744.  
  745. [Global Keys]
  746.  
  747. AltF? Text= (where ? = 1 to 5)
  748. ───────────
  749. Default={variable}.  These lines determine what text will show by a global
  750. alternate function key.
  751.  
  752. Alt? Cmnd= (where ? = 1 to 5)
  753. ──────────
  754. Default={variable}.  These lines hold the DOS command for the appropriate
  755. global alternate function key.  These commands are always shown, when defined,
  756. and are run with the {r=nobreak} option, just like F2 DOS commands.  If no
  757. commands are defined, then pressing the Alt key will not show them on screen.
  758.                                MENU DEFINITION
  759. ══════════════════════════════════════════════════════════════════════════════
  760.  
  761. There are two conventions used to control the menu(s) a user gets when running
  762. the menu system, server-based and rights-based.  We will briefly both describe
  763. and show example code, offset with ';─────', throughout.
  764.  
  765.  
  766. SERVER-BASED CONVENTION
  767. ═══════════════════════
  768.  
  769. Approaching a menu file from the top down (in a vertical sense), it can be
  770. thought of as a server-based system.  This can become quite robust, as in our
  771. eight-server domain or quite simple, as in the case of a single server or a
  772. stand-alone environment.  Basically, the file is divided vertically into
  773. server sections that are defined by the actual server name.  An all
  774. encompassing name is also allowed, ALL.  Each server name, and ALL, must start
  775. at the beginning of a line with a colon, like :OUR_SERVER or :ALL.  You can
  776. have more than one section defined with the same server name, such as an :ALL
  777. section at the beginning and at the end.  Here is a segment of a menu
  778. definition showing the vertical server-based method:
  779.  
  780. ;─────
  781. %Main Menu
  782.  
  783. :ALL
  784. Word Perfect
  785.         wp
  786.  
  787. :MAIN_SERVER
  788. Paradox
  789.         paradox
  790. Lotus 1-2-3
  791.         123
  792.  
  793. :SECOND_SERVER
  794. Proprietary application
  795.         ourapp
  796.  
  797. :ALL
  798. Logout of the network
  799.         logout
  800. ;─────
  801.  
  802. In the above example, you can see that a person who is running on the main
  803. server would get the following main menu:
  804.  
  805. ─────
  806. Word Perfect
  807. Paradox
  808. Lotus 1-2-3
  809. Logout of the network
  810. ─────
  811. while a person running on the second server would get:
  812.  
  813. ─────
  814. Word Perfect
  815. Proprietary application
  816. Logout of the network
  817. ─────
  818.  
  819. Note that any menu items (and sub-menus and their items) may be accessible
  820. depending upon which section they are placed under, subject to the next
  821. convention of discrimination, rights-based, which is discussed below.
  822.  
  823.  
  824. RIGHTS-BASED CONVENTION
  825. ═══════════════════════
  826.  
  827. A secondary, more powerful means of segregating the menu file between users is
  828. the rights-based method.  Think of the rights-based convention in the
  829. horizontal sense. In other words, after deciding which server a user is using,
  830. we then must decide what the rights of that user are, and this convention does
  831. just that. Let's discuss each method in detail.
  832.  
  833.  
  834. All rights assumed
  835. ──────────────────
  836. Right = no right line entered.  This method actually checks nothing.  In other
  837. words, a menu item will show up on a user's menu if it is under the correct
  838. server name (or ALL), period.  In this case, you will be relying on your
  839. defined network rights to determine whether a user will be able to _run_ a
  840. menu item or not (they will always see the items on their menu).  This method
  841. is, of course, exactly what you would want to use on a stand-alone
  842. environment.
  843.  
  844. ;─────
  845. Paradox
  846.         paradox
  847. ;─────
  848.  
  849. User gets item if it is available, period.
  850.  
  851.  
  852. Directory rights
  853. ────────────────
  854. Right = {d=directory name or d=directory name1,directory name2 ..}.  DOSmenu
  855. looks to see if any of the listed directories exist for the user when it reads
  856. the menu file, and if none do, it does not place the item on the user's menu.
  857.  
  858. ;─────
  859. Paradox
  860.         {d=c:\apps\paradox}
  861.         paradox
  862. ;─────
  863.  
  864. User gets item only if F:\APPS\PARADOX is 'visible' in the user's environment.
  865.  
  866.  
  867. File rights
  868. ───────────
  869. Right = {f=file name or f=file name1,file name2 ..}.  DOSmenu looks to see if
  870. any of the listed files exist for the user when it reads the menu file, and if
  871. none do, it does not place the item on the user's menu.
  872.  
  873. ;─────
  874. Paradox
  875.         {f=f:\apps\paradox\paradox.exe}
  876.         paradox
  877. ;─────
  878.  
  879. User gets item only if F:\APPS\PARADOX\PARADOX.EXE is 'visible' in the user's
  880. environment.
  881.  
  882.  
  883. Server rights (NetWare only unless DOS variable/command line parameters used)
  884. ─────────────
  885. Right = {s=server_name1 or s=server_name1,server_name2 ..}.  Do not confuse
  886. this method with the server-based convention.  Here, by placing one or more
  887. server names with a menu item, you are saying only show this item when the
  888. user is logged into one of those servers.
  889.  
  890. ;─────
  891. Paradox
  892.         {s=main_server}
  893.         paradox
  894. ;─────
  895.  
  896. User gets item only if the user is logged into and running on MAIN_SERVER.
  897.  
  898.  
  899. Group rights (NetWare only unless DOS variable/command line parameters used)
  900. ────────────
  901. Right = {g=group_name1 or g=group_name1,group_name2 ..}.  Normally you define
  902. groups to group certain users that you can later assign trustee rights to,
  903. thereby giving them access to certain programs.  This method allows you to use
  904. that work when discriminating in your menu system.  There is an advantage
  905. here, however, in that even if you do not bother with trustee rights and your
  906. network is open, DOSmenu will act like it is all set up just right.  In other
  907. words, DOSmenu doesn't care about actual rights; it only cares about whether
  908. the user is in the group name or group names that you tell it.  If not, then
  909. the user does not get the menu item displayed (and therefore cannot run it).
  910.  
  911. ;─────
  912. Paradox
  913.         {g=paradox}
  914.         paradox
  915. ;─────
  916.  
  917. User gets item only if a member of group PARADOX.
  918.  
  919.  
  920. User rights (NetWare only unless DOS variable/command line parameters used)
  921. ───────────
  922. Right = {u=user_id or u=user_id1,user_id2 ..}.  This method takes the
  923. discrimination down to the actual user ID running the system.  If the user
  924. name is in the list, then the user gets the item on their menu (if any other
  925. specified rights are also approved and the server-based convention allows it).
  926.  
  927. ;─────
  928. Paradox
  929.         {u=joeb}
  930.         paradox
  931. ;─────
  932.  
  933. User gets item only if his user logon ID is JOEB.
  934.  
  935.  
  936. Node rights (DOS variable/command line parameter is required for this right)
  937. ───────────
  938. Right = {n=node_address or n=node_address1, node_address2 ..}.  This method
  939. takes the discrimination down to the actual workstation.  If the node address
  940. is the same as the workstation, the user gets the item on their menu (if any
  941. other rights are also approved and the server-based convention allows it).
  942.  
  943. ;─────
  944. Paradox
  945.         {n=fa164505}
  946.         paradox
  947. ;─────
  948.  
  949. User gets item only if his workstation's address is FA164505.
  950.  
  951. You must pull the workstation's node address to DOS by setting it to a DOS
  952. variable from within the network's initial login script.  Only then can you
  953. check for it from the menu system.
  954.  
  955.  
  956. Environment rights
  957. ──────────────────
  958. Right = {e=dos_env_var~env_var_text, ..}.  This powerful right tests for the
  959. contents of a DOS variable.  For instance, to run a menu item depending on
  960. what room a person is in, set ROOM=room_number at login; then enter this right
  961. for the menu item in the menu file:  {e=room~102}  to test for room 102.  To
  962. test whether the var room is null (does not exist), type {e=room~}.
  963.  
  964.  
  965. Today rights
  966. ────────────
  967. Right = {t=su,mo,tu,we,th,fr,sa}.  This right tests to see if the current day
  968. is equal to the day specified.
  969.  
  970.  
  971. Date greater than rights
  972. ────────────────────────
  973. Right = {>=MM/DD/YYYY}.  This right tests to see if the current day is greater
  974. than the specified date (must be in this format).
  975.  
  976.  
  977. Date same as rights
  978. ───────────────────
  979. Right = {==MM/DD/YYYY}.  This right tests to see if the current day is the
  980. same as the specified date (must be in this format).
  981.  
  982.  
  983. Date less than rights
  984. ─────────────────────
  985. Right = {<=MM/DD/YYYY}.  This right test to see if the current day is less
  986. than the specified date (must be in this format).
  987.  
  988.  
  989. Hour greater than rights
  990. ────────────────────────
  991. Right = {)=HH}.  This right tests to see if the current hour is greater than
  992. the specified hour (must be in 2-digit 24-hour format).
  993.  
  994.  
  995. Hour same as rights
  996. ───────────────────
  997. Right = {-=HH}.  This right tests to see if the current hour is the same as
  998. the specified hour (must be in 2-digit 24-hour format).
  999.  
  1000.  
  1001. Hour less than rights
  1002. ─────────────────────
  1003. Right = {(=HH}.  This right test to see if the current hour is less than the
  1004. specified hour (must be in 2-digit 24-hour format).
  1005.  
  1006. For hour rights, keep in mind that the shown menu items are update every time
  1007. the user leaves the menu and returns (like when running a program or the
  1008. screen saver activates).  So a user who sits in the menu to another hour may
  1009. have inaccurate menu items until the menu is somehow refreshed.
  1010.  
  1011. Date and Hour together example: To show a menu item only during business hours
  1012. in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show
  1013. only after June 30th and before August 1st of 1994 and then only after the
  1014. hour of 7 am and before the hour of 6 pm.
  1015.  
  1016.  
  1017. Password rights
  1018. ───────────────
  1019. Right = {p=password where password is any alphanumeric, non-case sensitive,
  1020. from 1 to 10 characters long}.  Placing a password on a menu item means that
  1021. when the user selects this item (no matter what type it is - command or
  1022. sub-menu), the user will be prompted for the correct password.
  1023.  
  1024. ;─────
  1025. Paradox
  1026.         {p=restrict}
  1027.         paradox
  1028. ;─────
  1029.  
  1030. User gets item only if he or she can answer the password prompt with RESTRICT.
  1031.  
  1032.  
  1033. Question rights
  1034. ───────────────
  1035. Right = {q=your question that demands a yes/no answer?}  This method pops up
  1036. your question for a Yes/No answer.  If No, then the item will not be run.
  1037.  
  1038. If a '!' is placed prior to the question, {q=!comment}, then the question
  1039. becomes a comment only.
  1040.  
  1041. ;─────
  1042. Paradox
  1043.         {q=Are you sure?}
  1044.         paradox
  1045. ;─────
  1046.  
  1047.  
  1048. View rights
  1049. ───────────
  1050. Right = {v=text_file_name}.  This method reads the text file and then displays
  1051. it in a window on screen.  The user can press escape to abort running the menu
  1052. item.  A maximum of 20 lines of 72 characters or less will be shown.
  1053.  
  1054.  
  1055. Software metering rights
  1056. ────────────────────────
  1057. Right = {m=command:number}.  Entering this right on an item's right line will
  1058. force the command for the item to be metered, if metering is turned on and the
  1059. meter file has been defined (within DOSMENU.INI).  See the SOFTWARE METERING
  1060. SERVICE section for a complete discussion.
  1061.  
  1062. ;─────
  1063. W WordPerfect
  1064.         {m=wp51:25}
  1065.         f:\apps\wp\wp
  1066. ;─────
  1067.  
  1068. This item runs as long as less than 25 users are running it at the same time.
  1069.  
  1070.  
  1071. Run rights
  1072. ──────────
  1073. Right = {r=nobreak,clear,noclear}.
  1074. NOBREAK:  This is where you determine whether batch files will be run with a
  1075. second copy of the DOS command processor (NOBREAK) or not.  This right is only
  1076. appropriate when running multi-line commands (which DOSmenu turns into batch
  1077. files) or by running batch files; it should not be used unless batch files are
  1078. being run (and then it is your choice).  One disadvantage of running NOBREAK
  1079. is that NetWare search mapping commands generated within a batch file will not
  1080. work.  Consider the included NOBRK TSR utility for fool-proof disabling of the
  1081. ^C and ^Break keys.
  1082.  
  1083. ;─────
  1084. M My batch file
  1085.         {r=nobreak}
  1086.         dir \
  1087.         pause
  1088. ;─────
  1089.  
  1090. CLEAR|NOCLEAR:  This simply clears/does not clear the DOS screen before
  1091. running the menu item command; else the DOSMENU.INI default decides.
  1092.  
  1093.  
  1094. Location rights
  1095. ───────────────
  1096. Right = {l=one_to_three_letters}.  You may optionally place this right on a
  1097. notice to set the location of it on the screen, like:
  1098.  
  1099. ;─────
  1100. {l=tl}
  1101. A note
  1102. ;─────
  1103.  
  1104. where T=top, L=left, B=bottom, and R=right, N=noise and F=Flash title.
  1105.  
  1106.  
  1107. NOTES
  1108. ═════
  1109.  
  1110. More than one of the above methods may be used at one time, either within the
  1111. same right grouping or by having two or more groupings separated with a ';'.
  1112. For example, you can place both a server (s=) method and a group (g=) method
  1113. on the same menu item, like:
  1114.  
  1115. ;─────
  1116. Paradox
  1117.         {g=paradox} {s=server1}
  1118.         paradox
  1119. ;─────
  1120. Here, it is read as member of paradox group _AND_ on server1.
  1121.  
  1122. ;─────
  1123. Paradox
  1124.         {g=paradox;s=server1}
  1125.         paradox
  1126. ;─────
  1127. Here, it is read as member of paradox _OR_ on server1.
  1128.  
  1129. Note that when using more than one grouping, each of the groupings must be
  1130. true for the item to be shown (they are ANDed).  When using one or more
  1131. methods within the same group, they are ORed.
  1132.  
  1133. Placing a '!' before a name means 'not'.  Where {g=paradox} means if the
  1134. current user is a member of group paradox, then display the menu item;
  1135. {g=!paradox} means display the item only if the current user is NOT a member
  1136. of group paradox (they are ORed only within each set of braces {}).
  1137.  
  1138. You may use spaces instead of commas.  The syntax {g=group1,group2} is the
  1139. same as {g=group1 group2}.
  1140.  
  1141. The biggest rule that you must remember about the rights methods are that
  1142. within each set of braces {}, the answer must be true.  So if you use more
  1143. than one set of braces for a menu item, they all must be true.  For example:
  1144.  
  1145. ;─────
  1146. P Paradox
  1147.         {g=paradox} {u=joe,jim;n=fa164505} {s=!server2}
  1148. ;─────
  1149.  
  1150. will only show on the menu if the user is a member of the PARADOX group _AND_
  1151. the user is JOE _OR_ JIM _OR_ the node address is FA164505 _AND_ the user is
  1152. not on SERVER2.
  1153.  
  1154.  
  1155. TESTING YOUR MENU
  1156. ═════════════════
  1157.  
  1158. After you have placed a lot of restrictions on your menu items, you may find
  1159. it frustrating to see what the final outcome of an item looks like.  There is
  1160. a way around this.  Enter a bogus user ID [server name] [node address] from
  1161. the command line.  For instance, if you wish to check the menu appearance for
  1162. John on APPSERVER at station F6085678, then enter the startup batch file with
  1163. the command
  1164.  
  1165.      MENU /U:JOHN [/S:APPSERVER] [/N:F6085678]
  1166.  
  1167. This will bring up the menu with the above restrictions so that you may run
  1168. through the sub-menus and check it out.  Be advised, however, that after
  1169. actually running a menu item command, DOSmenu will forget these restrictions.
  1170.                                   MENU RULES
  1171. ══════════════════════════════════════════════════════════════════════════════
  1172.  
  1173. The syntax for the menu file requires certain conventions.  In most cases,
  1174. DOSmenu will issue an error message if it has trouble interpreting the file
  1175. because of a syntax violation of one of the below described rules.  If you get
  1176. stuck in an error loop within the batch file, press Alt-F10 at the read error
  1177. message window to quit.
  1178.  
  1179.  
  1180. RULES
  1181. ═════
  1182.  
  1183. Main menu name
  1184. ──────────────
  1185. The first line of the file must be the main menu's name, starting with a
  1186. percent symbol '%'.  You can optionally place the starting x and y coordinates
  1187. of the menu window after the menu name, like:  %Main Menu, 5, 10.  This means
  1188. the upper left corner of the menu will be 5 columns from the left edge and 10
  1189. rows from the top.
  1190.  
  1191. Server sections
  1192. ───────────────
  1193. There must be at least one server name before any menu items, unless
  1194. operating in a standalone environment.  In a network environment, use :ALL, as
  1195. a minimum, just after the main menu title and the one REQUIRED blank line.
  1196.  
  1197. Comments
  1198. ────────
  1199. Any line starting with a semi-colon ';' is a programming comment only.
  1200.  
  1201. Blank lines
  1202. ───────────
  1203. Blank lines are only allowed (and, in fact, REQUIRED) before server sections
  1204. and menu titles. See EXAMPLE MENU FILE section for a properly formatted file.
  1205.  
  1206. Menu action character
  1207. ─────────────────────
  1208. The first letter of a menu item will always be highlighted and will be
  1209. searched when the used presses a key to move to a particular menu item.  It
  1210. may or may not be part of the first word of the menu item.  For example,
  1211.  
  1212.      Lotus 1-2-3
  1213.  
  1214. and
  1215.  
  1216.      L Lotus 1-2-3
  1217.  
  1218. offer the same result.  It is a cosmetic choice that you must make.  Of
  1219. course, you could also use
  1220.  
  1221.      1 Lotus 1-2-3.
  1222.  
  1223. Indenting
  1224. ─────────
  1225. All server name lines and menu item lines must NOT be indented.  All help
  1226. lines, rights lines and DOS commands MUST be indented at least one space.  A
  1227. tab character is allowed for the indentation.
  1228.  
  1229. Rights line length
  1230. ──────────────────
  1231. The maximum length from the beginning of the rights ({}{}..) line from
  1232. beginning to end (not including spaces or beginning tabs) is 120.  You may
  1233. have more than one rights line per menu item for convenience, put there
  1234. character count must all add up to 120 or less.
  1235.  
  1236. Parameters
  1237. ──────────
  1238. Single-command menu items may be setup to ask the user for a parameter prior
  1239. to actually running the command associated with the menu item.  This is not
  1240. allowed for multi-command menu items.  Place a question mark '@' at the exact
  1241. location you wish to add input to the command.  Here are some examples:
  1242.  
  1243. dir @ /p
  1244. chkdsk @:
  1245. format @: /u
  1246.  
  1247. For multi-command items and multi-response items, use the DMquery syntax.
  1248.  
  1249. Sub-menu names
  1250. ──────────────
  1251. All sub-menu names, both when called as a command and when entered as a
  1252. sub-menu title, must start with the percent symbol '%'.  There MUST be a
  1253. blank line before the sub-menu name.  Sub-menus must come somewhere _after_
  1254. the menu item that calls them.
  1255.  
  1256. Help lines
  1257. ──────────
  1258. Help lines for each menu item, if used, must be indented and start with a
  1259. number symbol '#'.  There can be a maximum of one help line per menu item.
  1260.  
  1261.  
  1262. Menu commands
  1263. ─────────────
  1264. If you place a %dos_var% syntax within the command, the actual DOS variable's
  1265. text will be used.  Make sure the first '%' is not the first character of the
  1266. command or it will be interpreted as a sub-menu name.  When this is necessary,
  1267. place 'call' in front of the command, like:
  1268.  
  1269.      call %drive%:\apps\paradox
  1270.  
  1271.  
  1272. NOTES
  1273. ═════
  1274.  
  1275. You may rename DOSMENU.MNU to another name or copy it to another menu file
  1276. because DOSmenu will run any menu file that you have as long as you
  1277. specify that file name on the command line.  Note that the '.MNU' is assumed.
  1278. No other extension is allowed.
  1279.  
  1280.      MENU PATH\MYMENU.MNU
  1281.  
  1282. and
  1283.  
  1284.      MENU MYMENU
  1285.  
  1286. will both attempt to load MYMENU.MNU, the later from DOSmenu's home directory.
  1287.  
  1288.  
  1289. LOADING ADDITION MENUS
  1290. ══════════════════════
  1291.  
  1292. You may switch menu files from within the menu system by LOADing them or
  1293. /MENUing them.  This is accomplished by placing the /LOAD [PATH]MENU_FILE or
  1294. /MENU [PATH]MENU_FILE as the first and only command line for a menu item,
  1295. like:
  1296.  
  1297. ;─────
  1298. Support Menu
  1299.         /load [path]support[.mnu]
  1300. ;─────
  1301.  
  1302. Here, the system will load the SUPPORT.MNU menu file (from DOSmenu's _home_
  1303. directory if no path is given) to temporarily replace the active menu file.
  1304. You may do this an unlimited number of times.  After a command is run, the
  1305. original main menu reloads.
  1306.  
  1307. To prevent the original main menu from reloading, use /MENU.  This command
  1308. forces the menu to become the permanent new default main menu.  If you wish
  1309. users to have the option of going back to the original menu later, you will
  1310. have to give them that option with another /MENU command in the new menu,
  1311. like:
  1312.  
  1313. ;─────
  1314. M Main Menu
  1315.         /menu [path]dosmenu[.mnu]
  1316. ;─────
  1317.  
  1318.  
  1319. CHAINING STARTUP BATCH FILES
  1320. ════════════════════════════
  1321.  
  1322. You may switch to another startup batch file (perhaps on an another attached
  1323. server?) from within a menu.  This is accomplished by placing the /NEW
  1324. [PATH]BATCH_NAME[.BAT] as the first and only command line for a menu item,
  1325. like:
  1326.  
  1327. ;─────
  1328. Support Menu
  1329.         /new [path]support[.bat]
  1330. ;─────
  1331.  
  1332. Here, the system will quit the current batch file, dumping the menu
  1333. environment variable, and run the [PATH]SUPPORT.BAT batch file.  This file now
  1334. becomes the new cyclic batch file that operates DOSmenu.  To get back to the
  1335. original startup batch file, issue another /NEW command from your active menu
  1336. file.
  1337.  
  1338.  
  1339. LOGGING IN TO OTHER SERVERS
  1340. ═══════════════════════════
  1341.  
  1342. You may login to another server from within a menu.  You do this by placing
  1343. the /LOGIN command before the actual command that calls your login sequence.
  1344. The difference between /NEW and /LOGIN is that /LOGIN does not check to see if
  1345. your command actually exists (it would be impossible) and the command does
  1346. not have to be a batch file.  Therefore, you should attempt to be sure your
  1347. login sequence will protect you in case the user fails the login.  DMlogin
  1348. works great in this regard.  It keeps you users from DOS, period, until the
  1349. login is successful.  Of course, the new server login script should (really
  1350. must for security) call another DOSmenu startup batch file on the new server.
  1351.  
  1352. Place the /LOGIN [PATH]COMMAND as the first and only command line for a menu
  1353. item, like:
  1354.  
  1355. ;─────
  1356. Login to Support
  1357.         /login [path]support[.bat]
  1358. -or-    /login login server2/user1
  1359. -or-    /login login /pro=server2 server2/user1 ;for NetWare Naming Service
  1360. ;─────
  1361.  
  1362. Here, the system will quit the current batch file, dumping the menu
  1363. environment variable, and run your command file (which should attempt a login
  1364. sequence).
  1365.                                   SUB-MENUS
  1366. ══════════════════════════════════════════════════════════════════════════════
  1367.  
  1368. Sub-menus are just like the main menu except that their title is the first
  1369. line of their definition.  The main menu's title is the first line of the
  1370. menu file.  Their title must start with a percent '%' character, and when
  1371. called from another menu item, this percent character must be included.
  1372.  
  1373. ;─────
  1374. %Main Menu
  1375.  
  1376. Word Perfect
  1377.         wp
  1378. Utilities
  1379.         %Utility Menu
  1380. Paradox
  1381.         paradox
  1382.  
  1383. ;The , 5, 10 is optional and determines x and y menu window coordinates
  1384. %Utility Menu, 5, 10
  1385. Directory of...
  1386.         dir @ /p
  1387. Check disk
  1388.         chkdsk @:
  1389. ;─────
  1390.  
  1391. Here, the sub-menu '%Utility Menu' is called from one of the main menu items.
  1392.  
  1393. Sub-menus follow the server-based convention along the vertical development of
  1394. the menu file.  In other words, if a sub-menu is found under the :SERVER2
  1395. server name line, then it will not be accessible from a menu calling it which
  1396. is situated under :SERVER1.  Sub-menus are typically placed at the end of the
  1397. menu file under an :ALL alias server name section.
  1398.  
  1399. Although you may place up to 40+ sub-menus per menu file, we recommend less.
  1400. This is to protect the integrity of your network (DOSmenu will not load if
  1401. there is not enough memory).  Remember, you may always load additional menus
  1402. with the /LOAD and /NEW commands.
  1403.                              COMPILING MENU FILES
  1404. ══════════════════════════════════════════════════════════════════════════════
  1405.  
  1406. The DMutil program will compile and decompile INI and menu files, if desired.
  1407. The syntax is:
  1408.  
  1409.      DMUTIL /C [PATH]FILENAME
  1410.  
  1411. The output compiled file will be the same name.  You can then later decompile
  1412. the file with the command:
  1413.  
  1414.      DMUTIL /D [PATH]FILENAME
  1415.  
  1416. Compiling INI and menu files is not required.  Your users can run DOSmenu
  1417. without ever compiling one file.  However, security is a great reason to
  1418. consider compiling them after they have been tested.
  1419.                             TRANSLATING MENU FILES
  1420. ══════════════════════════════════════════════════════════════════════════════
  1421.  
  1422. You can easily translate NetWare batch files to DOSmenu batch files with the
  1423. DMutil utility with the following command:
  1424.  
  1425.      DMUTIL /T [PATH]NETWARE_MENU_NAME
  1426.  
  1427. The generic default server name flag :ALL will be placed two lines after the
  1428. main menu title, giving access to all servers initially.
  1429.  
  1430. If your NetWare menu used any @variable"fill-in lines", then you must change
  1431. them within the new menu file to DOSmenu's format as it uses the external
  1432. DMquery utility for this purpose with additional options.
  1433.                             TEMPORARY BATCH FILES
  1434. ══════════════════════════════════════════════════════════════════════════════
  1435.  
  1436. Normally DOSmenu takes a menu's DOS command and stuffs it into the DOS
  1437. variable _dmcmd so that the startup batch file, MENU.BAT, can then run it
  1438. after DOSmenu quits.  However if their is more than one DOS command, DOSmenu
  1439. instead makes a temporary batch file and stuffs that name into the variable
  1440. instead.
  1441.  
  1442. The location and name of the temporary batch file is as follows:
  1443.  
  1444. Name
  1445. ────
  1446. On a Novell network, the name will be _DMBATn.BAT where n is the actual
  1447. network connection number taken by the user's workstation.  (_DMBTnnn.BAT is
  1448. used if the connection number is greater than 999.)
  1449.  
  1450. If not on a Novell network, then the batch file is simply named _DMBAT.BAT.
  1451.  
  1452. Location
  1453. ────────
  1454. If the Private Directory option in the INI file was filled out with a
  1455. directory, then the batch file will be written and run from that directory.
  1456. If not, then it will be written and run from DOSMENU.EXE's home directory,
  1457. which is fine for stand-alone environments.
  1458.  
  1459. Notes
  1460. ─────
  1461. The DOS batch file word 'call ' is placed at the beginning of every line that
  1462. does not start with a ':' (which could be a label).  This syntax _only_
  1463. affects commands that are actually batch file names, allowing them to return
  1464. to DOSmenu's temporary batch file at completion.
  1465.  
  1466. Example
  1467. ───────
  1468. If a menu item looked like this:
  1469.  
  1470. ;─────
  1471. Word Perfect
  1472.         f:
  1473.         :RUN-IT
  1474.         cd\apps\wp51
  1475.         wp
  1476.         h:
  1477.         cd\
  1478. ;─────
  1479.  
  1480. then the corresponding batch file would look like this:
  1481.  
  1482. call @echo off
  1483. call f:
  1484. :RUN-IT
  1485. call cd\apps\wp51
  1486. call wp
  1487. call h:
  1488. call cd\
  1489.                           DOS ENVIRONMENT VARIABLES
  1490. ══════════════════════════════════════════════════════════════════════════════
  1491.  
  1492. DOSmenu uses DOS variables to make the system work without _any_ overhead;
  1493. user ID, server name, workstation node address, command for a selected menu
  1494. item, last time the DOSMENU.NTE file was changed (for noticing), software
  1495. metering application, and name of the last 'main menu' used.
  1496.  
  1497. The node address variable needed if you intend to restrict any menu items by
  1498. comparing a workstation's node address.  In a Novell network, you could define
  1499. this variable like:
  1500.  
  1501.      DOS SET _NODE="%P_STATION"<<4
  1502.  
  1503. where the <<4 takes the first 4 numbers away from the actual twelve digit
  1504. address.
  1505.  
  1506. The user ID and server name variables are _only_ needed if you are not running
  1507. on NetWare and are not on a stand-alone environment.  In this case, you define
  1508. and load two DOS variables once during the user login script with the correct
  1509. information.
  1510.  
  1511.      DOS SET _USER="%LOGIN_NAME"
  1512.      DOS SET _SERVER="%FILE_SERVER"
  1513.  
  1514. where _user and _server and be called anything you wish.  You would then add
  1515. these two names two the INI file so DOSmenu will know what they are called.
  1516. It takes care of the rest.
  1517.  
  1518. The variable for the menu item command is called _dmcmd and is always used.
  1519.  
  1520. The variable _dmnte is used when you wish to leave dynamic notices to
  1521. any and all users.
  1522.  
  1523. The menu name variable, _dmmnu, keeps track of the last permanent main menu
  1524. used in DOSmenu before quitting to the batch file as well as the last
  1525. sub-menu and item selected.
  1526.  
  1527. The _dmmtr variable holds the meter rights issued with the current DOS
  1528. command, if any.
  1529.  
  1530. DMquery also uses environment variables.  It will use up to 9 variables named
  1531. _dmq1, _dmq2, .., _dmq9.
  1532.                                    NOTICING
  1533. ══════════════════════════════════════════════════════════════════════════════
  1534.  
  1535. DOSMENU.NTE is used to leave notices to any and all users -dynamically.  Here
  1536. you may place notices based on the rights defined for each notice.  Each
  1537. notice consists of at least two lines; line 1 contains the rights and the
  1538. following lines (up to 10) contain the actual notice, like:
  1539.  
  1540. ;─────
  1541. {g=paradox} {s=server1}
  1542. Paradox will be down on SERVER1 all day today.
  1543. Hopefully it will be up tomorrow...
  1544. ;─────
  1545. Here, only users in group PARADOX on server SERVER1 will get this notice.
  1546.  
  1547. Each user may have up to 15 active notices.  Each notice may have up to 10
  1548. lines of up to 70 characters long.
  1549.  
  1550. You can add and subtract from this section anytime throughout the day.  When
  1551. a user starts the menu system, and after returning to the menu system (from
  1552. commands, etc), the notices are checked and shown, if needed.  This gives the
  1553. noticing system a dynamic quality that can be quite useful to you as an
  1554. administrator!
  1555.  
  1556. The time stamp of the file when the user reads notices is kept in a DOS
  1557. variable called _dmnte.  This variable is checked each time a user reloads the
  1558. menu system after running a command.  If you have made a change to the
  1559. DOSMENU.NTE file during that time, then the user will see the notices again,
  1560. and the variable will be updated.
  1561.                                 PERSONAL MENUS
  1562. ══════════════════════════════════════════════════════════════════════════════
  1563.  
  1564. On a network, each user may use and maintain one personal menu, named
  1565. DOSMENU.PER.  This menu file is kept and read from the user's defined private
  1566. directory.
  1567.  
  1568. The F5 key will load the menu for the user so he/she can use it.  After
  1569. running a command from it, DOSmenu will return to the last shared main menu.
  1570. If the personal menu does not yet exist, a simple menu will be created for the
  1571. user first.
  1572.  
  1573. The F6 key allows the user to edit the personal menu with DMutil.  All
  1574. commands that would grant access to other parts of your network are disabled
  1575. while the user is editing the menu.  Only the SAVE and QUIT commands are
  1576. enabled.
  1577.  
  1578. To disallow the personal menu option, set the "Allow Personal Menus" line to
  1579. NO in DOSMENU.INI.
  1580.  
  1581. If allowed, we recommend setting the "Force Personal NoBreaks" line to YES.
  1582. Otherwise, a user may be able to break of some DOS batch commands.  One
  1583. disadvantage to using this approach is that any NetWare search mappings
  1584. contained within a batch file will not work.  An alternative approach would be
  1585. to set nobreaks to false and instead use the included NOBRK TSR utility, which
  1586. ensures complete nobreak protection without affecting network batch file-based
  1587. search mappings.
  1588.                                UNATTENDED RUNS
  1589. ══════════════════════════════════════════════════════════════════════════════
  1590.  
  1591. It is possible to run a menu item at a later time.  This is accomplished by
  1592. highlighting the menu item and then pressing Ctrl+Enter.
  1593.  
  1594. You can only run actual menu items in unattended mode.  Sub-menus and new menu
  1595. items will not run this way.  Additionally, this feature only works if the
  1596. 'Timed Quit' option in the DOSMENU.INI file has not been set  (see MENU
  1597. DEFINITION section).
  1598.  
  1599. After pressing Ctrl-Enter, you will be asked for a time to run the highlighted
  1600. menu item.  You must enter this time in 24-hour time and in HH:MM format.
  1601.  
  1602.      Example:  01:30 for 1:30 am  -or-  23:30 for 11:30 pm
  1603.  
  1604. When the unattended item run time comes, the item will run just as if you had
  1605. pressed Enter on it.  Any question, comment, or view rights associated with
  1606. that item will be ignored to facilitate the unattended run.  However, password
  1607. rights are never ignored.  Therefore you should be sure that the item you wish
  1608. to run in attended mode does not have a password right assigned to it.  Of
  1609. course, you should also make sure the item does not call DMquery for batch
  1610. file questions.
  1611.  
  1612. A clear sign is posted on the computer screen to make sure it is obvious the
  1613. computer is waiting for an event.
  1614.  
  1615. You must press Esc twice to cancel the unattended operation.
  1616.                           DMUTIL MAINTENANCE UTILITY
  1617. ══════════════════════════════════════════════════════════════════════════════
  1618.  
  1619. COMMAND PARAMETERS
  1620. ══════════════════
  1621.  
  1622. The DMutil program keeps all of your menu maintenance requirements in one
  1623. utility.  Nearly anything you need to do to your menu system can be done with
  1624. DMutil.
  1625.  
  1626. Here is the command syntax:
  1627.  
  1628.      DMUTIL ?
  1629.      DMUTIL /M|T|C|D [PATH]FILENAME
  1630.      DMUTIL
  1631.      DMUTIL [PATH]FILE|[PATH]SPEC [[[PATH]FILE|[PATH]SPEC] ..]
  1632.      DMUTIL /L [USER_ID]
  1633.  
  1634. where:
  1635.  
  1636.       ? = DMutil and system installation quick help
  1637.  
  1638.      /M = Makes default DOSmenu BAT, MNU, INI, and NTE files
  1639.  
  1640.      /T = Translates NetWare menu files
  1641.  
  1642.    /C|D = Compiles|Decompiles DOSmenu INI, MNU, or NTE files
  1643.  
  1644.         = Edits all menu system files at once
  1645.  
  1646.  FILE.. = Edits any number of text file(s) up to 64K in length each
  1647.  
  1648.      /L = parses specific user ID entries from the central log file, if used.
  1649.  
  1650.  
  1651. THE MENU FILE EDITOR
  1652. ════════════════════
  1653.  
  1654. The editor is a simple ascii text editor that has specific help screens to
  1655. give you some on-line help on all menu file types.  Any ascii editor can be
  1656. used to edit the startup BAT, INI, MNU and NTE files (if they have not been
  1657. compiled).
  1658.  
  1659. It's operation is self-explanatory, but a few items are worth mentioning:
  1660.  
  1661. o    Edits files with any DOS attribute set and then resets those attributes
  1662.      afterwards.
  1663.  
  1664. o    Automatically decompiles - edits - recompiles your menu files for you.
  1665.  
  1666. o    Can edit many text files at once with commands like \WINDOWS\*.INI, etc.
  1667.  
  1668. o    Can show tabs and spaces in a file on screen.
  1669.  
  1670. o    Press Alt+H inside DMutil for specific setup help screens.
  1671.                           HARDWARE MANAGING SERVICE
  1672. ══════════════════════════════════════════════════════════════════════════════
  1673.  
  1674. DOSmenu includes a powerful capability called hardware managing which enables
  1675. you keep track of hardware specifics for all workstations on your network.
  1676. DOSmenu utilizes the DMmanage utility for this purpose.
  1677.  
  1678. There are more expensive and perhaps more foolproof offerings on the market
  1679. for this service, but DOSmenu does the job simply and inexpensively.  We
  1680. tried to keep it simple yet effective for you, the administrator.
  1681.  
  1682. To set up managing:
  1683.  
  1684. 1.  Place these commands in the DOSMENU.INI file:
  1685.  
  1686. Use Managing=yes
  1687. Manage File=f:\share\dosmenu.man (or something like that)
  1688.  
  1689. Users must have WRITE and ERASE rights to the above area.
  1690.  
  1691. 2.  Make sure the appropriate line in the startup batch file (the one that
  1692. calls DMMANAGE.EXE) is activated (remove the double colon from in front of
  1693. that line in MENU.BAT).
  1694.  
  1695. 3.  Make sure you have properly setup the node address variable in the
  1696. DOSMENU.INI and your network login script (see the DOS ENVIRONMENT VARIBALES
  1697. section).
  1698.  
  1699. That's all there is to it!
  1700.  
  1701. DMmanage will start and keep a database for you that compiles the following
  1702. information:
  1703.  
  1704. NODE     -The workstation's node address.  Database is sorted on this field.
  1705.           Will be made 8 characters long (if your node addresses are longer,
  1706.           the last 8 characters will be used).
  1707.  
  1708. YYMMDD   -Year, month, day of last update.  By default DMmanage only updates
  1709.           once a day, when necessary.
  1710.  
  1711. DOS      -The DOS version.
  1712.  
  1713. CRT      -The CRT card type.
  1714.  
  1715. DOS      -Available DOS conventional memory at sample time.
  1716.  
  1717. EXT      -Total extended memory.
  1718.  
  1719. A: / B:  -Capacity of floppy drive.
  1720.  
  1721. C: / D:  -Size of hard drive.
  1722.  
  1723. CPU      -Type of CPU.  Note:  This version of DMmanage cannot denote a
  1724.           pentium processor.  A 386 CPU _may_ actually be a Pentium.
  1725.  
  1726. FPU      -Type of math co-processor.  Note the Pentium exception above.
  1727.  
  1728. SPD      -Approximate speed of CPU (can vary slightly).
  1729.  
  1730. USER     -Last user when sample was taken (to help _find_ the machine).  Will
  1731.           be truncated to 6 characters.  A user name will not be entered if
  1732.           you are not using NetWare and the DOSMENU.INI file has not been
  1733.           completed properly.  The character just after the USER label is an
  1734.           internal database version number for DMmanage.
  1735.  
  1736. To make this database a comma-delimited file which can easily be imported into
  1737. most other programs, type
  1738.  
  1739.      DMMANAGE /D
  1740.  
  1741. and the file DOSMENU.ASC will be made in the same directory as the database
  1742. file.
  1743.  
  1744. DMmanage runs only the first time after the user issues the MENU command to
  1745. run the startup batch file.  During this run, it checks to see if it has
  1746. already collected information for that workstation during that day.  If so, it
  1747. aborts (to save user time).  To force it to regather information, place a /F
  1748. (for FORCE) after the dmmanage in the startup batch file.
  1749.  
  1750. Additionally, DMmanage normally places a message on the user's DOS screen to
  1751. placate them while the update takes place.  To avoid this message, place a /Q
  1752. (for QUIET) on the line as described in the preceding paragraph.
  1753.  
  1754. Type DMMANAGE ?  for other options.  Remember, DMmanage must run from the
  1755. DOSmenu startup batch file, which is made during the installation process,
  1756. for effective results.
  1757.                           SOFTWARE METERING SERVICE
  1758. ══════════════════════════════════════════════════════════════════════════════
  1759.  
  1760. DOSmenu includes a powerful capability called software metering which
  1761. enables you to control the number of simultaneous run instances of an
  1762. application.  For instance, if you have bought 25 licenses for WordPerfect,
  1763. you now have the means to insure that only 25 copies are run at one time from
  1764. within the menu system on your network.
  1765.  
  1766. There are more expensive and perhaps more foolproof offerings on the market
  1767. for this service, but DOSmenu does the job simply and inexpensively.  We
  1768. believe that an administrator's effort level in attempting to control software
  1769. licensing is at least 95 percent of any distributor's concerns.
  1770.  
  1771. To set up metering:
  1772.  
  1773. 1.  Place these commands in the DOSMENU.INI file:
  1774.  
  1775. Use Metering=yes
  1776. Meter File=f:\share\dosmenu.mtr (or something like that)
  1777.  
  1778. Users must have WRITE and ERASE rights to the above area.
  1779.  
  1780. 2.  Place the meter right on those commands you want metered, for example:
  1781.  
  1782. ;─────
  1783. W WordPerfect
  1784.         {m=wp51:25}
  1785.         f:\apps\wp\wp
  1786. ;─────
  1787.  
  1788. will meter the use of F:\APPS\WP\WP.EXE for all accesses from DOSmenu.  Here,
  1789. if 25 instances are already in use, DOSmenu will instruct the user that the
  1790. maximum licenses are in use and to try again later.
  1791.  
  1792. Syntax is important.  The keyword, here WP51, may be 10 or less characters
  1793. with no spaces, followed by an colon ':', followed by a number from 1 to 999
  1794. (with no spaces) -or- if no :number is entered, 999 is assumed.
  1795.  
  1796. Of course anyone accessing WP.EXE from outside the menu system will not be
  1797. metered in this way.  See the DMMETER METERING UTILITY section to find out how
  1798. to handle this problem.
  1799.  
  1800. Note:  RECOMMEND DELETING THIS FILE PERIODICALLY/NIGHTLY...  If any user locks
  1801. up while in a metered application, or gets rebooted at that point, then the
  1802. meter count for that app will remain off by one (it will show one greater than
  1803. actual).  We therefore recommend deleting the meter file periodically, perhaps
  1804. at night before or after your backup.  See WOMETER WINDOWS METERING UTILITY
  1805. section below for an automatic way to perform this function.
  1806.                            DMMETER METERING UTILITY
  1807. ══════════════════════════════════════════════════════════════════════════════
  1808.  
  1809. This utility can optionally monitor your software usage from outside of the
  1810. menu system.  It does the same thing DOSmenu does when you activate the meter
  1811. right for a menu item, except it does it from within DOS batch files.
  1812.  
  1813. Here are the command line parameters:
  1814.  
  1815.      DMMETER APP[:LICENSE_COUNT] {before batch command}
  1816.  
  1817. and
  1818.  
  1819.      DMMETER {after batch command}
  1820.  
  1821. Here is an example batch file:
  1822.  
  1823. @echo off
  1824. [path]dmmeter wp51:25    ;add instance of wp51 app to meter file
  1825. if errorlevel 1 goto END ;if too many instances already, don't do it
  1826. f:\apps\wp\wp            ;run the app
  1827. [path]dmmeter            ;subtract instance of wp51 from meter file
  1828. :END
  1829.  
  1830. DMMETER.EXE must reside in DOSMENU.EXE's home directory, and DOSMENU.INI must
  1831. also be present there.
  1832.  
  1833. If an errorlevel 1 is returned, an error window pops up to tell the user
  1834. of the problem and asks them to try again later.
  1835.  
  1836. To reset a problem app (one that locks machines now and then?) to 0 in the
  1837. meter file (instead of deleting the entire file) run DMmeter with the reset
  1838. switch, like:
  1839.  
  1840.      dmmeter /reset wp51
  1841.  
  1842. To view concurrent usage of metered applications from the DOS prompt, use:
  1843.  
  1844.      dmmeter /view
  1845.                            WOMETER METERING UTILITY
  1846. ══════════════════════════════════════════════════════════════════════════════
  1847.  
  1848. This utility can optionally monitor your software usage from within Windows.
  1849.  
  1850. WOMETER.EXE looks for the meter file's name in its WOMETER.INI file.  If not
  1851. found, it makes this file in its home directory and then you fill in the name,
  1852. like:
  1853.  
  1854. [Setup]
  1855. MeterFile=f:\login\logs\dosmenu.mtr
  1856.  
  1857. WOmeter allows real-time resetting of specific metered applications, in case
  1858. the count has gone astray (perhaps from user lockups, etc.).
  1859.  
  1860. WOmeter can automatically erase your meter file on a daily basis at a
  1861. specified time.  The default is 00:01 (one minute after midnight).
  1862.  
  1863. You may also define the length of time WOmeter waits between re-reads of the
  1864. meter file (10-60 seconds).
  1865.                          DMQUERY BATCH INPUT UTILITY
  1866. ══════════════════════════════════════════════════════════════════════════════
  1867.  
  1868. DMquery is a utility that can be used to provide input for batch files made
  1869. with DOSmenu.
  1870.  
  1871. Here are the command line parameters:
  1872.  
  1873.      DMQUERY n [/R|U|E|Danswer]
  1874.  
  1875. where
  1876.  
  1877.       n = A number from 1..9
  1878.  
  1879.      /R = Input required (answer required)
  1880.  
  1881.      /U = Input forced to upper case
  1882.  
  1883.      /E = Input echoed to screen
  1884.  
  1885. /Danswer = Input default answer is 'answer' (no spaces allowed)
  1886.  
  1887.  
  1888. The DOS variable '_DMQn' is used.  DMquery may be run from DOS or a DOS shell;
  1889. however, it must be queried for and acted upon within the _same_ batch file.
  1890.  
  1891. Here is an example DOSmenu menu item:
  1892.  
  1893. ;─────
  1894. D Directory
  1895.         echo Directory of what?
  1896.         dmquery 1
  1897.         echo Switches (/w, /p, etc)?
  1898.         dmquery 2
  1899.         dir %_DMQ1% %_DMQ2%
  1900.         pause
  1901. ;─────
  1902.  
  1903. NOTE:  You must NOT use the {r=nobreak} right with DMquery or it will not have
  1904. enough environment space to perform properly.
  1905.                             DMLOGIN LOGIN UTILITY
  1906. ══════════════════════════════════════════════════════════════════════════════
  1907.  
  1908. DMlogin is a fantastic utility for helping to bring true order and security to
  1909. your network during the login and logout process.
  1910.  
  1911. This program is NOT required by DOSmenu and DOSmenu is NOT required of
  1912. DMlogin. They are, in fact, separate entities, but they work great together!
  1913.  
  1914. DMlogin acts as a buffer between your user and the actual network login and
  1915. logout commands.  Here is how you set it up.  The batch files below contain
  1916. the basic minimum requirements.  You may doctor them up as you need -- we
  1917. certainly have on our network.
  1918.  
  1919.  
  1920. First
  1921. ═════
  1922.  
  1923. You run DMLOGIN.EXE by itself so that it can create its INI file.  This file
  1924. defines the following:
  1925.  
  1926. o    The DOS variable to be used by DMlogin to pass the login and logout
  1927.      commands/batch files to DOS.
  1928.  
  1929. o    The name of the command/batch file to be passed by DMlogin when logging
  1930.      in to the network.  If you enter the full path and extension (like
  1931.      F:\LOGIN\_LOGIN.BAT), then DMlogin will alert you if it is missing and
  1932.      will not let the user go.
  1933.  
  1934. o    The name of a second command/batch file to be passed by DMlogin when
  1935.      logging in to the network when a user places a '*' in front of their
  1936.      name.  This is optional and can be used to provide an alternate login for
  1937.      support/power users, etc.  The same path option entry as above applies.
  1938.  
  1939. o    The name of a third command/batch file to be passed by DMlogin when
  1940.      logging in to the network when a user places a '+' in front of their
  1941.      name.  This is optional and can be used to provide an alternate login for
  1942.      support/power users, etc.  The same path option entry as above applies.
  1943.  
  1944. o    The name of the command/batch file to be passed by DMlogin when force
  1945.      logging out of the network.  The same path option entry as above applies.
  1946.  
  1947. o    The background screen color (check SYSTEM SETUP section for how to set
  1948.      this).
  1949.  
  1950. o    The top and bottom information lines color (check SYSTEM SETUP section
  1951.      for how to set this.)
  1952.  
  1953. o    Whether to use the CRT border or not.
  1954.  
  1955. o    The title of the user's login screen.
  1956.  
  1957. o    The help number for your network support area.
  1958.  
  1959. o    Whether to use the fancy screen saver (yes) or the normal one (no).  The
  1960.      fancy one is a graphic of a computer terminal while the normal one is a
  1961.      business-like statement.
  1962.  
  1963.  
  1964. Second
  1965. ══════
  1966.  
  1967. Make your batch files.  For these examples, the INI file answers look like
  1968. this:
  1969.  
  1970. _DMLOGIN - the DOS variable
  1971. _LOGIN   - the batch file DMlogin calls to login
  1972.          - the alternate login batch file is not specified
  1973. _LOGOUT  - the batch file DMlogin calls to logout
  1974.  
  1975. LOGIN.BAT
  1976. ─────────
  1977. This is the main batch file your users will type (or get from their
  1978. AUTOEXEC.BAT) to log in.  On NetWare, you should rename LOGIN.EXE to, say,
  1979. IN.EXE (as shown in the examples).
  1980.  
  1981. @echo off
  1982. dmlogin %1       ;%1 in case someone types 'login name'
  1983. call %_dmlogin%  ;if DMlogin received good info from user, then run _login
  1984.                  ;call is in case there is more to your batch file
  1985.  
  1986. _LOGIN.BAT
  1987. ──────────
  1988. This is the batch file called by DMlogin to effect a login
  1989.  
  1990. @echo off
  1991. in %1 %2         ;in is really the old network LOGIN.EXE program
  1992. if exist f:\public\*.* goto END ;did we get logged in?
  1993. dmlogin /error   ;must not have gotten logged in, so show error screen
  1994. login %1         ;run main batch file again
  1995. :END
  1996.  
  1997. _LOGOUT.BAT
  1998. ───────────
  1999. This is the batch file called by DMlogin to effect a logout
  2000. out              ;out is really the old network LOGOUT.EXE program
  2001. login            ;run main batch file again
  2002.  
  2003. As previously stated, you can add to these batch files as needed.  We are just
  2004. showing you the basic bare necessities that DMlogin needs in order to work
  2005. properly.
  2006.  
  2007.  
  2008. Third
  2009. ═════
  2010.  
  2011. Place the command that starts the process for your users in their
  2012. AUTOEXEC.BAT, like login for LOGIN.BAT (if this is the case, you probably will
  2013. have to rename the network login command to something else.  We rename
  2014. LOGIN.EXE to IN.EXE and LOGOUT.EXE to OUT.EXE on our network.
  2015.  
  2016. Optionally, consider using DMPAUSE.EXE instead of PAUSE in your network user
  2017. batch files.  It helps prevent batch file breakout.
  2018.  
  2019. That's all there is to it! You may need to read the DCOMMONLY ASKED QUESTIONS
  2020. section for some specifics on batch file placements on NetWare networks if you
  2021. get strange error messages at times during the logout process.
  2022.  
  2023.  
  2024. Important Note
  2025. ══════════════
  2026.  
  2027. These programs and files should be placed in your users' login directory on
  2028. the network (\LOGIN for NetWare).  They work great there, but probably won't
  2029. anywhere else due to other directories "going away" on logout.
  2030.  
  2031.  
  2032. Password Protected Exit Option
  2033. ══════════════════════════════
  2034. If you need to be able to abort from this program from time to time as an
  2035. administrator, then DMlogin can contain a secret password for that purpose.
  2036. Then, when ever you press Escape, you will be prompted for this password.  If
  2037. correct, an errorlevel of 255 will be passed to DOS, when can be used like
  2038. this:
  2039.  
  2040. .
  2041. .
  2042. dmlogin
  2043. if errorlevel 255 goto ABORT
  2044. call %dmlogin%
  2045. :ABORT
  2046. .
  2047. .
  2048.  
  2049. To make this password, edit a file new called DMLOGIN.DAT that is in the same
  2050. directory as DMLOGIN.EXE.  Enter a one-line password of 8 characters or less
  2051. and then press Enter at the end of the line (Should be a one-line file).  Then
  2052. enter the following command:
  2053.  
  2054. DMUTIL /C DMLOGIN.DAT
  2055.  
  2056. DMutil will encrypt the file for you.  Now you can secretly abort DMlogin.
  2057.                              WINDOWS OFFICE MENU
  2058. ══════════════════════════════════════════════════════════════════════════════
  2059. We now have another product, WOmenu, that is a network menuing system as well.
  2060. However, WOmenu is Windows-based. It's functionality is similar to DOSmenu
  2061. (shared log and meter files, etc.). If you are interested in this product,
  2062. please contact us. To try it first, look on Compuserve in the NOVUSER/New
  2063. Uploads [1] forum/library for the file WOMNU.EXE.
  2064.                    BONUS UTILITIES (FOR REGISTERED USERS)
  2065. ══════════════════════════════════════════════════════════════════════════════
  2066.  
  2067. The following functions are also included with registration:
  2068.  
  2069. FULL MOUSE SUPPORT
  2070.  
  2071. SCREEN SAVERS (DOSmenu honors screen save requests)
  2072.  
  2073.  
  2074. The following programs are included with registration (listed alphabetically):
  2075.  
  2076.  
  2077. DMASCII.EXE  - An ascii chart showing the decimal, hexidecimal and character
  2078.                codes of all 256 ascii characters.
  2079.  
  2080.  
  2081. DMBEEP.EXE   - Beeps the workstation in one of three different ways.
  2082.  
  2083.  
  2084. DMCAL.EXE    - A quick calendar utility that helps your users find dates, etc.
  2085.  
  2086.  
  2087. DMCALC.EXE   - A 5-function programmer's calculator that also performs
  2088.                floating point (currency) calulations.
  2089.  
  2090.  
  2091. DMCAP.EXE    - A utility that eases the process of changing network ques for
  2092.                your users.  It provides a pop-up list that they simply point
  2093.                to and shoot to pick their new printer queue.
  2094.  
  2095.  
  2096. DMCBOOT.EXE  - Cold boots the workstation.
  2097.  
  2098.  
  2099. DMGET.EXE    - Another DOS-level batch get utility.  With this utility, you
  2100.                can get answers through a popup window.
  2101.  
  2102.  
  2103. DMLOG.EXE    - A computer logging utility.  We use this utility to log nearly
  2104.                everything that happens on our network.
  2105.  
  2106.  
  2107. DMNPT.EXE    - A utility that simplifies and solves at least one bug with
  2108.                NetWare's nprint program.  This point and shoot utility
  2109.                nprint's to the queue _you_ want, not necessarily your default
  2110.                queue.
  2111.  
  2112.  
  2113. DMPOST.EXE   - A screen poster utility.  Great for network notification.  When
  2114.                DOSmenu's internal notice function is not enough, we use this
  2115.                in standard batch files to warn or update users.
  2116.  
  2117.  
  2118. DMRUN.EXE    - An instant menu pick and run program.  This utility has many
  2119.                unique uses.
  2120.  
  2121.  
  2122. DMSECURE.EXE - A computer security program.  When DOSmenu is not enough or is
  2123.                not running, this utility can easily fill the gap to help
  2124.                ensure a secure networking environment.
  2125.  
  2126.  
  2127. DMSTATS.EXE  - Show available memory (all types) and available drive space
  2128.                (all drives except A and B) for the workstation.
  2129.  
  2130.  
  2131. DMVIEW.EXE   - A full-fledged file viewing utility for you and your users.
  2132.                It is a great utility for filling those menu items that require
  2133.                your users simply to "look" at something, like a company
  2134.                listing or a business printout on line.  It offers a simple
  2135.                environment yet a powerful engine.
  2136.  
  2137.  
  2138. DMWBOOT.EXE  - Warm boots the workstation.
  2139.  
  2140.  
  2141. DMYN.EXE     - Gets a Yes/No answer from a question in a batch file and acts
  2142.                upon it.
  2143.                           COMMONLY ASKED QUESTIONS
  2144. ══════════════════════════════════════════════════════════════════════════════
  2145.  
  2146. ?    I GET CRYPTIC MESSAGES AFTER LOGGING OUT OF A NETWARE NETWORK.  WHAT CAN
  2147.      I DO TO PREVENT THIS?
  2148.  
  2149. Ans: When you use a batch file to run the NetWare logout command, some of your
  2150.      mappings will be lost before the batch file is completed, leading to
  2151.      strange DOS errors.  For instance, if you used the OUT.BAT to log out and
  2152.      the contents of OUT.BAT were:
  2153.  
  2154.      OUT.BAT
  2155.      ───────
  2156.      @echo off
  2157.      cls
  2158.      logout
  2159.      f:
  2160.  
  2161.      then you might receive one of these:
  2162.  
  2163.      Cannot execute X:\OUT.BAT
  2164.      or
  2165.      Invalid drive specification - X:\OUT.BAT
  2166.      or
  2167.      perhaps your DOS prompt goes completely away.
  2168.  
  2169.      It is easy to prevent this from occurring.  What is probably happening is
  2170.      that you are not in the F:\LOGIN directory when the OUT comand is issued
  2171.      or either DOS 'sees' you on another drive, like X:, due to your network
  2172.      search mappings for the F:\LOGIN directory.  In any event, you simply
  2173.      need to make a dummy batch file in a directory that is higher up (before)
  2174.      than the LOGIN mapping, usually F:\PUBLIC.  In this example, make a dummy
  2175.      OUT.BAT in F:\PUBLIC that contains:
  2176.  
  2177.      OUT.BAT
  2178.      ───────
  2179.      @echo off
  2180.      f:
  2181.      cd\login
  2182.      out
  2183.  
  2184.      This will redirect DOS and make sure that it actually is 'in' F:\LOGIN
  2185.      before it runs the OUT.BAT in F:\LOGIN, and then DOS will not be lost
  2186.      after the logout command is issued from that batch file.
  2187.  
  2188.      If your F:\LOGIN search mapping is already the 'first' mapping on your
  2189.      mapping list, then make the OUT.BAT in F:\LOGIN redirect to another batch
  2190.      file in F:\LOGIN, so DOS will actually 'be there' and run that batch file
  2191.      for the logout instead.  For example, make OUT.BAT look like this:
  2192.  
  2193.      OUT.BAT
  2194.      ───────
  2195.      @echo off
  2196.      f:
  2197.      cd\login
  2198.      realout
  2199.  
  2200.      where REALOUT.BAT is a batch file in F:\LOGIN that contains:
  2201.  
  2202.      REALOUT.BAT
  2203.      ───────────
  2204.      @echo off
  2205.      cls
  2206.      logout
  2207.      f:
  2208.  
  2209.      Although the above sounds complicated, it really isn't.  All you are
  2210.      trying to do is to insure that DOS is 'in' F:\LOGIN and running a batch
  2211.      file that is 'in' F:\LOGIN before the actual logout command is issued, so
  2212.      that it doesn't get 'lost' afterwards.  Above all, place your DOSmenu
  2213.      files in your \LOGIN directory (they can be hidden).
  2214.  
  2215. ══════════════════════════════════════════════════════════════════════════════
  2216.  
  2217. ?    ON A NETWORK, WHEN LOGGING OUT THROUGH DOSMENU, SOMETIMES USING THE
  2218.      LOGOUT COMMAND (FOR LOGOUT.EXE) LEAVES ERROR MESSAGES ON THE USER'S DOS
  2219.      SCREEN OR TAKES AWAY THE USER'S DOS CURSOR AND PROMPT.  WHY IS THIS AND
  2220.      WHAT CAN I DO?
  2221.  
  2222. Ans: Simple.  As an addon to the above discussion, just make sure that 
  2223. something like the following two lines are near the top of your MENU.BAT file:
  2224.  
  2225.      MENU.BAT (near top)
  2226.      ────────
  2227.      f:
  2228.      cd\login
  2229.  
  2230.      This will insure that DOS is 'in' the login directory after running the
  2231.      logout command, and therefore MENU.BAT will still be found so that it can
  2232.      be completed by DOS.
  2233.  
  2234.      Alternatively, you could place a dummy MENU.BAT in a higher mapped
  2235.      directory, like PUBLIC, that reads:
  2236.  
  2237.      MENU.BAT
  2238.      ────────
  2239.      @echo off
  2240.      f:
  2241.      cd\login
  2242.      menu %1 %2 %3 %4 %5
  2243.  
  2244.      This would accomplish the same thing.
  2245.  
  2246.      In any case, the other DOSmenu files do not need to be in the LOGIN
  2247.      directory.  But if you choose to place them there, that's OK.  You may
  2248.      even make them hidden with the hidden DOS/network attribute if you wish.
  2249.      Just do not make them readonly at the file level.  Setting the LOGIN
  2250.      directory to READ and FILE SCAN only is adequate and will work well.
  2251.  
  2252. ══════════════════════════════════════════════════════════════════════════════
  2253.  
  2254. ?    AFTER PASSING THE LOGOUT COMMAND, I STILL GET A MENU AFTER THE LOGOUT IS
  2255.      COMPLETED.  HOW DO I STOP THIS?
  2256.  
  2257. Ans: Add a line at the beginning of your MENU.BAT to check to see if the user
  2258.      is still logged in or not, like:
  2259.  
  2260.      if not exist f:\public\*.* goto END
  2261.  
  2262.      This way, the MENU.BAT will quit after logout.
  2263.  
  2264. ══════════════════════════════════════════════════════════════════════════════
  2265.  
  2266. ?    WHEN WE TRY TO USE THE GOTO END COMMAND TO GIVE USERS A MENU QUIT OPTION,
  2267.      IT DOESN'T WORK.  WHY AND HOW DO WE DO IT?
  2268.  
  2269. Ans: To use this function, it must be the only command for that menu item.
  2270.      For example:
  2271.  
  2272.      Q Quit
  2273.      cls
  2274.      goto END
  2275.  
  2276.      will not work because if there is more than one command, DOSmenu makes
  2277.      the commands into a temporary batch file.  In that case the 'goto END'
  2278.      command would only go to the end of the temporary batch file!  The
  2279.      following will work:
  2280.  
  2281.      Q Quit
  2282.      goto end
  2283.  
  2284. ══════════════════════════════════════════════════════════════════════════════
  2285.  
  2286. ?    WHY WOULD WE WANT TO TURN OFF MOUSE SUPPORT IN DOSMENU.INI?
  2287.  
  2288. Ans: Under some configurations, your DOS mouse driver (MOUSE.COM, etc.) may
  2289.      take some delay in initializing, therebey introducing an unwanted delay
  2290.      factor between menu selections.  This delay would occur because DOSmenu
  2291.      unloads itself between menu commands to give you all of the DOS memory to
  2292.      run programs.  When it unloads itself, the mouse driver is automatically
  2293.      un-initialized by DOS as well.
  2294.  
  2295. ══════════════════════════════════════════════════════════════════════════════
  2296.  
  2297. ?    WHY DO I SOMETIMES GET A PARAMETER ERROR WHEN I RUNNING MENU.BAT ON A
  2298.      NETWARE NETWORK?
  2299.  
  2300. Ans: NetWare's MENU.EXE program is probably in your search path (normally in
  2301.      \PUBLIC).  You should either delete or rename this file.
  2302.  
  2303. ══════════════════════════════════════════════════════════════════════════════
  2304.  
  2305. ?    HOW DO I USE THE DOSMENU GROUP RIGHT ON NETWARE 4.X WITHOUT EMULATION?
  2306.  
  2307. Ans: You can't.  But you can use the DOSmenu Directory right instead.  Simply
  2308.      give group members trustee rights to a 'flag' directory and then test for
  2309.      that directory in the menu instead of testing for the group.  As an
  2310.      example, if a user is a member of WP group, and you give that group
  2311.      trustee rights to a directory, say F:\FLAGS\WP, then the user will be
  2312.      able to run the menu item if you check the right {d=f:\flags\wp}, while
  2313.      other users, who are not a member of WP and therefore do not have rights
  2314.      to F:\FLAGS\WP, will not have the item on their menu.
  2315.  
  2316. ══════════════════════════════════════════════════════════════════════════════
  2317.  
  2318. ?    HOW DO I USE THE %VAR% AS A MENU COMMAND WHEN THE %VAR% MUST BE AT THE
  2319.      BEGINNING OF THE COMMAND?  DOESN'T THAT SIGNIFY A SUB-MENU CALL?
  2320.  
  2321. Ans: Yes it does.  But there is a safe way around that syntax.  Simply place
  2322.      a 'call' statement before the command.  DOSmenu eventually does this
  2323.      anyway and one more at the beginning of the line makes no difference to
  2324.      DOS.  For example, if you need the command:
  2325.  
  2326.           %var%:\apps\paradox
  2327.  
  2328.      where %var% signifies the drive letter, then enter the command like this:
  2329.  
  2330.           call %var%:\apps\paradox.
  2331.  
  2332.      This will work nicely.
  2333.                               EXAMPLE MENU FILE
  2334. ══════════════════════════════════════════════════════════════════════════════
  2335.  
  2336. The below network menu file example is listed with a generous helping of legal
  2337. and illegal comments.  Note that comments must commence only at the start of a
  2338. line and NOT at the middle to end of a line even though we use it here to
  2339. better comment the code for you.
  2340.  
  2341. ;The menu name for this overall main menu below.
  2342. %Our Network Menu, 10, 5      ;Numbers optional: 10 = x, 5 = y on screen
  2343.                               ;  placement of upper left corner of menu window
  2344. ;This server section means any server and/or a stand-alone environment.
  2345. ;These commands will be at the top of every user's menu.
  2346. ;Note the required blank line before the :SERVER_NAME line
  2347.  
  2348. :ALL
  2349. M Mail
  2350. ;All members of EMAIL_USERS will get the Mail menu item.
  2351.      {g=email_users}
  2352. ;The help line for this item (shown at the bottom of the screen)
  2353.      #Send and receive mail to and from other users
  2354. ;If selected, the command/permanent batch file EMAIL will be run.
  2355.      email
  2356.  
  2357. ;This section is for CENTRAL server users only.
  2358. :CENTRAL
  2359. P Paradox
  2360.      {g=support,paradox} {p=restrict}
  2361.      #Database program
  2362.      f:                                 ;A multi-command item that
  2363.      cd\apps\paradox                    ;  generates a temp batch file.
  2364.      paradox                            ;
  2365. W WordPerfect
  2366.      {g=wp_central} {m=wp51:25}         ;Metered for 25 instances.
  2367.      #Word processor
  2368.      f:\apps\wp51\wp
  2369. ;The next item ask a yes/no question first.
  2370. C Check printing
  2371.      {u=check_printer} {q=Are you sure you want to print checks?}
  2372.      #Print all due checks to the upstairs printer
  2373.      checkprt
  2374. I INSAPP
  2375.      {g=insapp_users,support;u=adm} {s=server1}
  2376.      #Our main database
  2377.      ins
  2378. S Support Menu                ;Another complete menu file which is called
  2379.      /load support         ;  with this line.
  2380. A Accounting Menu             ;Another complete menu file which is called
  2381.      /menu acctng          ;  with this line and becomes the default menu.
  2382. N Support Batch               ;Chain to a new startup batch file; here
  2383.      /new g:\login\support ; G:\LOGIN\SUPPORT.BAT.
  2384.  
  2385. ;This section is for BRANCH_ONE server users only.
  2386. :BRANCH_ONE
  2387. A Central connection
  2388.      {g=awlan}
  2389.      #Connect with the home office by modem
  2390.      connect
  2391. W WordPerfect
  2392.      {g=wp_branch}
  2393.      #Word processor
  2394.      wp
  2395.  
  2396. ;This server section means any server and/or a stand-alone environment.
  2397. ;These commands will be at the bottom of every user's menu.
  2398. :ALL
  2399. U Utility Menu
  2400.      #Various utilities
  2401.      %Utility Menu
  2402. B Backup Server Menu
  2403.      #Backup options
  2404.      %Backup Server Menu
  2405. L Logout of network
  2406.      {q=Are you sure?}
  2407.      #Log out of the network
  2408.      logout                ;You could also enter 'goto end' to simply quit
  2409.                               ;  the menu system, if desired.
  2410. ;Remember to place a blank line before all %SUB-MENU NAME lines
  2411. %Utility Menu, 5, 10          ;Display at xy coords 5 and 10 on screen.
  2412. P Change your network printer
  2413.      capture @             ;This command asks a question first.
  2414. D Directory of...
  2415.      #Obtain a directory listing
  2416.      dir @ /p              ;This command asks a question first.
  2417. D Directory of (another way)...
  2418.      echo Directory of what?
  2419.      dmquery 1             ;DMquery external batch utility.
  2420.      echo Switches (/w /p, etc)?
  2421.      dmquery 2
  2422.      dir %_dmq1% %_dmq2%
  2423.      pause
  2424.  
  2425. %Backup Server Menu
  2426. D Daily backup procedure
  2427.      bud
  2428. W Weekly backup procedure
  2429.      buw
  2430.                                   SHAREWARE
  2431. ══════════════════════════════════════════════════════════════════════════════
  2432.  
  2433. Evaluation Copy
  2434. ───────────────
  2435. THIS IS NOT FREE SOFTWARE!  You may evaluate and use this product, but if you
  2436. decide to make use of it on a regular basis, you must register your copy.
  2437.  
  2438. NOTE:  BUSINESSES, GOVERNMENT AGENCIES AND INSTITUTIONS ARE REQUIRED TO
  2439. REGISTER THIS SOFTWARE PACKAGE BEFORE EXTENDED USE.
  2440.  
  2441. We offer several inducements to you for registering.  First of all, you will
  2442. receive the most up-to-date copy of the program -- and we update the program
  2443. on a regular basis.  Second, full mouse support and screen saver support are
  2444. available in the registered version.  Third, we have additional mini-utilities
  2445. that work nicely with DOSmenu not included in this package that we will ship
  2446. to you upon registration.  Fourth, you will receive a printer manual.  Fifth,
  2447. you will never see the shareware message again.  Make no mistake, however --
  2448. this is a fully functional version of DOSmenu that is not "crippled" in any
  2449. way.
  2450.  
  2451. Distribution
  2452. ────────────
  2453. This is "user-supported" software.  You are hereby granted permission to
  2454. distribute this evaluation copy of DOSmenu and its documentation, subject to
  2455. the following conditions:
  2456.  
  2457. 1.  Shareware DOSmenu may be distributed freely without charge in evaluation
  2458.     form only.  The original PKZIP self-extracting file, DOSMNU.EXE, is the
  2459.     preferred method.
  2460.  
  2461. 2.  DOSmenu in its shareware form may not be sold, licensed, or a fee charged
  2462.     for its use.  If a fee is charged in connection with DOSmenu, it must
  2463.     cover the cost of copying or dissemination only.  Such charges must be
  2464.     clearly identified as such by the originating party.  Under no
  2465.     circumstances may the purchaser be given the impression that he is buying
  2466.     a registered version of DOSmenu.
  2467.  
  2468. 3.  Shareware DOSmenu must be presented as a complete unit with documentation.
  2469.     Neither DOSmenu nor its documentation may be amended or altered in any way
  2470.     without permission of the copyright holder.
  2471.  
  2472. 4.  By granting you the right to distribute the evaluation form of DOSmenu,
  2473.     you do not become the owner of DOSmenu in any form.
  2474.  
  2475. Any other use, distribution or representation of DOSmenu is expressly
  2476. forbidden without written consent from the copyright holder.
  2477.  
  2478. Registration
  2479. ────────────
  2480. The non-commercial single-user registration fee for DOSmenu is $40.00 US.
  2481. ($5 shipping is included.)
  2482.  
  2483. The commercial/government and multi-system site fee for DOSmenu is:
  2484.  
  2485.      Non-network environment:
  2486.           Per machine        -  $40.00 US.
  2487.      Network environment:
  2488.           Per server         - $260.00 US.
  2489. ($10 shipping is included.)
  2490.  
  2491. Send a check, money order or company P.O. for the appropriate amount to:
  2492.  
  2493.           Bremer Corporation -DOSmenu
  2494.           3401 Cactus Wren Way
  2495.           Austin, Texas 78746
  2496.  
  2497. Telephone: 512-328-2465
  2498. CompuServe ID: 71614,2556
  2499.  
  2500. See DMORDER.DOC for a ready-made ordering form.
  2501.  
  2502. We also accept American Express Card and Corporate American Express Card
  2503. telephone orders.
  2504.  
  2505. Disclaimer
  2506. ──────────
  2507. Bremer Corporation does not warrant that the functions contained in this 
  2508. program will meet your requirements or that the program operation will be 
  2509. uninterrupted or error free.
  2510.  
  2511. Bremer Corporation specifically disclaims all other warranties, expressed or 
  2512. implied, including but not limited to implied warranties of fitness for any 
  2513. particular purpose and of merchantability.
  2514.  
  2515. In no event will Bremer Corporation be liable to you for any damages, 
  2516. including but not limited to any lost profits, lost savings, commercial 
  2517. damage or other incidental or consequential damages arising out of the use or 
  2518. inability to use this program, or for any claim by any other party.
  2519.  
  2520. Trademarks
  2521. ──────────
  2522. Trademarks of companies or products mentioned in DOSmenu documentation files
  2523. are the property of their respective companies.
  2524.                     ADDITIONAL DOSMENU DOCUMENTATION FILES
  2525. ══════════════════════════════════════════════════════════════════════════════
  2526.  
  2527. The following files are located on disk:
  2528.  
  2529. DMREADME.DOC     - DOSmenu installation instructions.
  2530. DMREV.DOC        - DOSmenu revision history.
  2531. DMORDER.DOC      - DOSmenu order form.
  2532. DOSMENU.DOC      - DOSmenu documentation (this manual).
  2533. DMNOBRK.DOC      - NoBrk prelude documentaton for included NoBrk product.
  2534.