home *** CD-ROM | disk | FTP | other *** search
/ IBM Thinkpad Drivers FTP / MWQTINST.EXE / MWQTEST.MST < prev    next >
Text File  |  1996-03-25  |  4KB  |  161 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. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST COPYING       = 300
  14. CONST EXITFAILURE   = 400
  15. CONST CREATINGICON  = 500
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST NOINIFILE     = 1000
  19. CONST NOMWAVE       = 1100
  20. CONST NOROOT        = 1200
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  33.  
  34.     SetBitmap CUIDLL$, LOGO
  35.     SetTitle "Mwave QuickTests Installation"
  36.  
  37.  
  38.  
  39. WELCOME:
  40.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  41.     IF sz$ = "CONTINUE" THEN
  42.         UIPop 1
  43.     ELSE
  44.         GOSUB ASKQUIT
  45.         GOTO WELCOME
  46.     END IF
  47.  
  48.     WinDir$ = GetWindowsDir()
  49.     MwaveIni$ = MakePath (WinDir$, "MWAVE.INI")
  50.     rc = DoesFileExist( MwaveIni$, femExists )
  51.     IF rc = 0 THEN
  52.       sz$ = UIStartDlg(CUIDLL$, NOINIFILE, "FInfoDlgProc", 0, "")
  53.       UIPop 1
  54.       dlg% = EXITFAILURE
  55.       GOTO QUITL1
  56.     END IF
  57.  
  58.     rc = DoesIniSectionExist( MwaveIni$, "MWAVE" )
  59.     IF rc = 0 THEN
  60.       sz$ = UIStartDlg(CUIDLL$, NOMWAVE, "FInfoDlgProc", 0, "")
  61.       UIPop 1
  62.       dlg% = EXITFAILURE
  63.       GOTO QUITL1
  64.     END IF
  65.  
  66.     rc = DoesIniKeyExist( MwaveIni$, "MWAVE", "ROOT" )
  67.     IF rc = 0 THEN
  68.       sz$ = UIStartDlg(CUIDLL$, NOROOT, "FInfoDlgProc", 0, "")
  69.       UIPop 1
  70.       dlg% = EXITFAILURE
  71.       GOTO QUITL1
  72.     END IF
  73.  
  74.     DEST$ = GetIniKeyString( MwaveIni$, "MWAVE", "ROOT" )
  75.  
  76.     TargetDir$ = MakePath( DEST$, "MANAGER")
  77.     DirExists = DoesDirExist(TargetDir$)
  78.     IF DirExists = 0 THEN
  79.       CreateDir TargetDir$, cmoNone
  80.     END IF
  81.  
  82.     sz$ = UIStartDlg(CUIDLL$, COPYING, "FModelessDlgProc", 0, "")
  83.     CurrentDir$ = GetSymbolValue( "STF_SRCDIR" )
  84.     TargetFile$ = MakePath( TargetDir$, "MWQTESTM.DLL" )
  85.     SourceFile$ = MakePath( CurrentDir$, "MWQTESTM.DLL" )
  86.     CopyFile SourceFile$, TargetFile$, cmoNone, 0
  87.     TargetFile$ = MakePath( TargetDir$, "MWQTEST.EXE" )
  88.     SourceFile$ = MakePath( CurrentDir$, "MWQTEST.EXE" )
  89.     CopyFile SourceFile$, TargetFile$, cmoNone, 0
  90.     UIPop 1
  91.  
  92.     sz$ = UIStartDlg(CUIDLL$, CREATINGICON, "FModelessDlgProc", 0, "")
  93.     GroupFile$ = MakePath( WinDir$, "MWAVETHI.GRP" )
  94.     rc = DoesFileExist( GroupFile$, femExists )
  95.     IF rc = 0 THEN
  96.       CreateProgmanItem "Mwave", "QuickTests", TargetFile$, "", cmoOverWrite
  97.     ELSE
  98.       CreateProgmanItem "Mwave ThinkPad", "QuickTests", TargetFile$, "", cmoOverWrite
  99.     ENDIF
  100.     UIPop 1
  101.  
  102.  
  103. QUIT:
  104.     ON ERROR GOTO ERRQUIT
  105.  
  106.     IF ERR = 0 THEN
  107.         dlg% = EXITSUCCESS
  108.     ELSEIF ERR = STFQUIT THEN
  109.         dlg% = EXITQUIT
  110.     ELSE
  111.         dlg% = EXITFAILURE
  112.     END IF
  113. QUITL1:
  114.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  115.     IF sz$ = "REACTIVATE" THEN
  116.         GOTO QUITL1
  117.     END IF
  118.     UIPop 1
  119.  
  120.     END
  121.  
  122. ERRQUIT:
  123.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  124.     END
  125.  
  126. ASKQUIT:
  127.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  128.  
  129.     IF sz$ = "EXIT" THEN
  130.         UIPopAll
  131.         ERROR STFQUIT
  132.     ELSEIF sz$ = "REACTIVATE" THEN
  133.         GOTO ASKQUIT
  134.     ELSE
  135.         UIPop 1
  136.     END IF
  137.     RETURN
  138.  
  139. '**
  140. '** Purpose:
  141. '**     Appends a file name to the end of a directory path,
  142. '**     inserting a backslash character as needed.
  143. '** Arguments:
  144. '**     szDir$  - full directory path (with optional ending "\")
  145. '**     szFile$ - filename to append to directory
  146. '** Returns:
  147. '**     Resulting fully qualified path name.
  148. '*************************************************************************
  149. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  150.     IF szDir$ = "" THEN
  151.         MakePath = szFile$
  152.     ELSEIF szFile$ = "" THEN
  153.         MakePath = szDir$
  154.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  155.         MakePath = szDir$ + szFile$
  156.     ELSE
  157.         MakePath = szDir$ + "\" + szFile$
  158.     END IF
  159. END FUNCTION
  160.  
  161.