home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / nwcwin.exe / VNRN.MST < prev    next >
Text File  |  1994-05-26  |  7KB  |  260 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. DECLARE FUNCTION IsDeviceVNRNListed LIB "mscuistf.dll" () As INTEGER
  11.  
  12.  
  13. ''Dialog ID's
  14. CONST WELCOME       = 100
  15. CONST ASKQUIT       = 200
  16. CONST DESTPATH      = 300
  17. CONST EXITFAILURE   = 400
  18. CONST EXITQUIT      = 600
  19. CONST EXITSUCCESS   = 700
  20. CONST OPTIONS       = 800
  21. CONST APPHELP       = 900
  22. CONST BADPATH       = 6400
  23. CONST NETPATH       = 1000
  24. CONST CLIENTPATH    = 1100
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL CLIENTDEST$  ''Default destination directory.
  30. GLOBAL NETDEST$     ''Default destination directory.
  31. GLOBAL DEST$        ''Default destination directory.
  32. GLOBAL OPTCUR$      ''Option selection from option dialog.
  33.  
  34. DECLARE SUB Install
  35. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  36.  
  37.  
  38. INIT:
  39.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  40.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  41.  
  42.     SetBitmap CUIDLL$, LOGO
  43.     SetTitle "NetWare Connect VNRN Setup"
  44.  
  45.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  46.     IF szInf$ = "" THEN
  47.         szInf$ = GetSymbolValue("STF_CWDDIR") + "vnrn.INF"
  48.     END IF
  49.     ReadInfFile szInf$
  50.  
  51.     OPTCUR$ = "1"
  52.     DEST$ = GetWindowsSysDir()
  53.  
  54. WELCOME:
  55.         UIPop 1
  56.  
  57. GETNETPATH:
  58.     SetSymbolValue "EditTextIn", NETDEST$
  59.     SetSymbolValue "EditFocus", "END"
  60. GETNETPATHL1:
  61.     sz$ = UIStartDlg(CUIDLL$, NETPATH, "FEditNetDlgProc", APPHELP, HELPPROC$)
  62.     NETDEST$ = GetSymbolValue("EditTextOut")
  63.  
  64.     IF sz$ = "CONTINUE" THEN
  65.         IF IsDirWritable(NETDEST$) = 0 THEN
  66.             GOSUB BADPATH
  67.             GOTO GETNETPATHL1
  68.         END IF
  69.         UIPop 1
  70.     ELSEIF sz$ = "REACTIVATE" THEN
  71.         GOTO GETNETPATHL1
  72.     ELSEIF sz$ = "BACK" THEN
  73.         GOTO GETNETPATHL1
  74.     ELSE
  75.         GOSUB ASKQUIT
  76.         GOTO GETNETPATH
  77.     END IF
  78.  
  79. GETCLIENTPATH:
  80.     SetSymbolValue "EditTextIn", NETDEST$
  81.     SetSymbolValue "EditFocus", "END"
  82. GETCLIENTPATHL1:
  83.     sz$ = UIStartDlg(CUIDLL$, CLIENTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  84.     CLIENTDEST$ = GetSymbolValue("EditTextOut")
  85.  
  86.     IF sz$ = "CONTINUE" THEN
  87.         IF IsDirWritable(CLIENTDEST$) = 0 THEN
  88.             GOSUB BADPATH
  89.             GOTO GETCLIENTPATHL1
  90.         END IF
  91.         UIPop 1
  92.     ELSEIF sz$ = "REACTIVATE" THEN
  93.         GOTO GETCLIENTPATHL1
  94.     ELSEIF sz$ = "BACK" THEN
  95.         UIPop 1
  96.         GOTO GETNETPATH
  97.     ELSE
  98.         GOSUB ASKQUIT
  99.         GOTO GETCLIENTPATH
  100.     END IF
  101.  
  102.     Install
  103.  
  104. QUIT:
  105.     ON ERROR GOTO ERRQUIT
  106.  
  107.     IF ERR = 0 THEN
  108.         dlg% = EXITSUCCESS
  109.     ELSEIF ERR = STFQUIT THEN
  110.         dlg% = EXITQUIT
  111.     ELSE
  112.         dlg% = EXITFAILURE
  113.     END IF
  114. QUITL1:
  115.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  116.     IF sz$ = "REACTIVATE" THEN
  117.         GOTO QUITL1
  118.     END IF
  119.     UIPop 1
  120.  
  121.     END
  122.  
  123. ERRQUIT:
  124.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  125.     END
  126.  
  127.  
  128.  
  129. BADPATH:
  130.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  131.     IF sz$ = "REACTIVATE" THEN
  132.         GOTO BADPATH
  133.     END IF
  134.     UIPop 1
  135.     RETURN
  136.  
  137.  
  138.  
  139. ASKQUIT:
  140.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  141.  
  142.     IF sz$ = "EXIT" THEN
  143.         UIPopAll
  144.         ERROR STFQUIT
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.         GOTO ASKQUIT
  147.     ELSE
  148.         UIPop 1
  149.     END IF
  150.     RETURN
  151.  
  152.  
  153.  
  154. '**
  155. '** Purpose:
  156. '**     Builds the copy list and performs all installation operations.
  157. '** Arguments:
  158. '**     none.
  159. '** Returns:
  160. '**     none.
  161. '*************************************************************************
  162. SUB Install STATIC
  163.  
  164.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  165.     CreateDir DEST$, cmoNone
  166.     CreateDir CLIENTDEST$, cmoNone
  167.  
  168.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  169.     WriteToLogFile ""
  170.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  171.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  172.     WriteToLogFile ""
  173.     WriteToLogFile "May have had to create the directory: " + DEST$
  174.     WriteToLogFile ""
  175.  
  176.     ' Copy Windows Files to windows system directory
  177.     AddSectionFilesToCopyList "WinFiles", SrcDir$, DEST$
  178.     CopyFilesInCopyList
  179.     
  180.     inipath$ = GetWindowsDir()
  181.     ini$ = MakePath(inipath$, "SYSTEM.INI")
  182.  
  183.     IF IsDeviceVNRNListed() = 1 THEN
  184.       AddVNRN% = 0
  185.     ELSE
  186.       AddVNRN% = 1
  187.     ENDIF
  188.  
  189.     network$ = GetIniKeyString(ini$,"386enh","network")
  190.     loopindex% = 1    
  191.     AddVIPX% = 1
  192. VIPX_LOOP:
  193.     loopvar$ = GetNthFieldFromIniString(network$,loopindex%)
  194.     IF loopvar$ = "" THEN
  195.       GOTO VIPX_EXIT
  196.     ELSEIF loopvar$ = "vipx.386" THEN 
  197.       AddVIPX% = 0
  198.       GOTO VIPX_EXIT
  199.     ELSEIF loopvar$ = "vipx" THEN
  200.       AddVIPX% = 0
  201.       GOTO VIPX_EXIT
  202.     ENDIF
  203.     loopindex% = loopindex% + 1
  204.     GOTO VIPX_LOOP
  205. VIPX_EXIT:
  206.  
  207.     IF AddVIPX% = 1 OR AddVNRN% = 1 THEN
  208.        ' If a change needs to be made to the SYSTEM.INI, then backup file
  209.        CopyFile  ini$,inipath$+"SYSTEM.BAK",cmoOverwrite,0
  210.  
  211.        'If VNRN Needs to be added, then add it
  212.        IF AddVNRN% = 1 THEN
  213.           CreateSysIniKeyValue ini$, "386enh", "device", "vnrn.386", cmoVital
  214.        ENDIF
  215.  
  216.  
  217.        'If VIPX Needs to be added, then add it
  218.        IF AddVIPX% = 1 THEN
  219.           IF network$ = "" THEN
  220.          CreateIniKeyValue ini$, "386enh", "network", "vipx.386", cmoAll
  221.       ELSE
  222.          CreateIniKeyValue ini$, "386enh", "network", network$+",vipx.386", cmoAll
  223.       ENDIF
  224.        ENDIF
  225.     ENDIF
  226.  
  227.     ' Copy Client Software to target directory
  228.     AddSectionFilesToCopyList "NWFiles", SrcDir$, CLIENTDEST$
  229.     CopyFilesInCopyList
  230.  
  231.  
  232.     CloseLogFile
  233.  
  234. END SUB
  235.  
  236.  
  237.  
  238. '**
  239. '** Purpose:
  240. '**     Appends a file name to the end of a directory path,
  241. '**     inserting a backslash character as needed.
  242. '** Arguments:
  243. '**     szDir$  - full directory path (with optional ending "\")
  244. '**     szFile$ - filename to append to directory
  245. '** Returns:
  246. '**     Resulting fully qualified path name.
  247. '*************************************************************************
  248. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  249.     IF szDir$ = "" THEN
  250.         MakePath = szFile$
  251.     ELSEIF szFile$ = "" THEN
  252.         MakePath = szDir$
  253.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  254.         MakePath = szDir$ + szFile$
  255.     ELSE
  256.         MakePath = szDir$ + "\" + szFile$
  257.     END IF
  258. END FUNCTION
  259.  
  260.