home *** CD-ROM | disk | FTP | other *** search
/ IBM Presents OS/2 Software Hits 1995 / OS-2_SW_HITS_2ND_EDITION_1995.ISO / i17 / winncs.exe / NSETUP.MS_ / NSETUP.bin
Text File  |  1994-11-15  |  5KB  |  174 lines

  1. '**************************************************************************
  2. '*                        Novel Nasi Redirection Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. '$INCLUDE 'nsetuph.inc'
  10.  
  11. ''Dialog ID's
  12. CONST WELCOME       = 100
  13. CONST ASKQUIT       = 200
  14. CONST DESTPATH      = 300
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30. INIT:
  31.     hWnd%  = HwndFrame()
  32.     hInst% = HinstFrame()
  33.     i% = SetupMainWindowParams(hWnd%, hInst%)
  34.     CUIDLL$ = "nsetup.dll"              ''Custom user interface dll
  35.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "Win2NCS Novell Nasi Redirection Capability Setup"
  38.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  39.     IF szInf$ = "" THEN
  40.         szInf$ = GetSymbolValue("STF_CWDDIR") + "NSETUP.INF"
  41.     END IF
  42.     ReadInfFile szInf$
  43.     DEST$ = "C:\Win2NCS"
  44.  
  45. '$IFDEF DEBUG
  46.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  47.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  48.     IF IsDriveValid(WinDrive$) = 0 THEN
  49.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  50.         GOTO QUIT
  51.     END IF
  52. '$ENDIF ''DEBUG
  53.  
  54. GETPATH:
  55.     SetSymbolValue "EditTextIn", DEST$
  56.     SetSymbolValue "EditFocus", "END"
  57. GETPATHL1:
  58.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  59.     DEST$ = GetSymbolValue("EditTextOut")
  60.  
  61.     IF sz$ = "CONTINUE" THEN
  62.         IF IsDirWritable(DEST$) = 0 THEN
  63.             GOSUB BADPATH
  64.             GOTO GETPATHL1
  65.         END IF
  66.         UIPop 1
  67.     ELSEIF sz$ = "REACTIVATE" THEN
  68.         GOTO GETPATHL1
  69.     ELSE
  70.         UIPopAll
  71.         ERROR STFQUIT
  72.     END IF
  73.  
  74.     Install
  75.  
  76.  
  77. QUIT:
  78.     ON ERROR GOTO ERRQUIT
  79.  
  80.     IF ERR = 0 THEN
  81.         dlg% = EXITSUCCESS
  82.     ELSEIF ERR = STFQUIT THEN
  83.         dlg% = EXITQUIT
  84.     ELSE
  85.         dlg% = EXITFAILURE
  86.     END IF
  87. QUITL1:
  88.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  89.     IF sz$ = "REACTIVATE" THEN
  90.         GOTO QUITL1
  91.     END IF
  92.     UIPop 1
  93.  
  94.     END
  95.  
  96. ERRQUIT:
  97.     i% = DoMsgBox("Setup sources were corrupted, call your Authorized Novell Dealer", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  98.     END
  99.  
  100.  
  101.  
  102. BADPATH:
  103.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  104.     IF sz$ = "REACTIVATE" THEN
  105.         GOTO BADPATH
  106.     END IF
  107.     UIPop 1
  108.     RETURN
  109.  
  110. '*************************************************************************
  111. '**
  112. '** Purpose:
  113. '**
  114. '**     Builds the copy list and performs all installation operations.
  115. '**
  116. '** Arguments:
  117. '**     none.
  118. '**
  119. '** Returns:
  120. '**     none.
  121. '**
  122. '*************************************************************************
  123.  
  124. SUB Install STATIC
  125.     WinDir$ = string$(256, 32)
  126.     SysDir$ = string$(256, 32)
  127.     i% = GetWindowsDirectory(WinDir$, 255)
  128.     WinDir$ = WinDir$ + "\"
  129.     SysDir$ = WinDir$ + "SYSTEM\"
  130.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  131.     CreateDir DEST$, cmoNone
  132.     i% = DisableNasiRedirection("ATTNASI.EXE")
  133.     AddSectionFilesToCopyList "ApFiles", SrcDir$, DEST$
  134.     AddSectionFilesToCopyList "WinFiles", SrcDir$, WinDir$
  135.     AddSectionFilesToCopyList "NWFiles", SrcDir$, SysDir$
  136.     CopyFilesInCopyList
  137.     ClearCopyList
  138.     CreateProgmanGroup "Win2NCS Nasi Mapping", "", cmoNone
  139.     ShowProgmanGroup   "Win2NCS Nasi Mapping", 1 , cmoNone
  140.     CreateProgmanItem  "Win2NCS Nasi Mapping", "Win2NCS", MakePath(DEST$, "MAPNASI.EXE"), "", cmoOverwrite
  141.     ReadMe$ = "WRITE.EXE " + MakePath(DEST$, "README.WRI")
  142.     CreateProgmanItem  "Win2NCS Nasi Mapping", "Read Me", ReadMe$, "", cmoOverwrite
  143.     i% = RemoveFileNameFromLoadInINI("ATTNASI.EXE")
  144.     i% = AddFileNameToLoadInINI(MakePath(DEST$, "ATTNASI.EXE"))
  145.     i% = StartExecutingProgram(MakePath(DEST$, "ATTNASI.EXE"))
  146.     AddDos5Help "Win2NCS", "Windows Nasi Mapping Utility.", cmoNone
  147.  
  148. END SUB
  149.  
  150.  
  151.  
  152. '**
  153. '** Purpose:
  154. '**     Appends a file name to the end of a directory path,
  155. '**     inserting a backslash character as needed.
  156. '** Arguments:
  157. '**     szDir$  - full directory path (with optional ending "\")
  158. '**     szFile$ - filename to append to directory
  159. '** Returns:
  160. '**     Resulting fully qualified path name.
  161. '*************************************************************************
  162. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  163.     IF szDir$ = "" THEN
  164.         MakePath = szFile$
  165.     ELSEIF szFile$ = "" THEN
  166.         MakePath = szDir$
  167.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  168.         MakePath = szDir$ + szFile$
  169.     ELSE
  170.         MakePath = szDir$ + "\" + szFile$
  171.     END IF
  172. END FUNCTION
  173.  
  174.