home *** CD-ROM | disk | FTP | other *** search
/ cyber.net interactivo 1 / cybernetinteractivo01.ISO / sample1.mst < prev    next >
Text File  |  1996-01-23  |  5KB  |  194 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. CONST WS_VISIBLE            = &H10000000    'Para tirar a barra de tφtulo
  11. CONST WS_BORDER             = &H00800000
  12. CONST WS_CLIPCHILDREN     = &H02000000
  13. CONST GWL_STYLE             = -16
  14.  
  15. CONST SW_SHOWMAXIMIZED     = 3                'Para maximizar janela
  16.  
  17.  
  18. ''Dialog ID's
  19. CONST WELCOME       = 100
  20. CONST ASKQUIT       = 200
  21. CONST DESTPATH      = 300
  22. CONST EXITFAILURE   = 400
  23. CONST EXITQUIT      = 600
  24. CONST EXITSUCCESS   = 700
  25. CONST OPTIONS       = 800
  26. CONST APPHELP       = 900
  27. CONST BADPATH       = 6400
  28.  
  29. ''Bitmap ID
  30. CONST LOGO = 1
  31.  
  32. GLOBAL DEST$        ''Default destination directory.
  33. GLOBAL OPTCUR$      ''Option selection from option dialog.
  34.  
  35. DECLARE SUB Install
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
  38. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  39.  
  40. INIT:
  41.      hWnd% = HwndFrame()
  42.      i1& = SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  43.      i2% = ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  44.  
  45.      CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  46.      HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  47.  
  48.      SetBitmap CUIDLL$, LOGO
  49.      SetTitle "Instalador do CD-ROM Cyber.net Interactivo"
  50.  
  51.      szInf$ = ""'GetSymbolValue("STF_SRCINFPATH")
  52.      IF szInf$ = "" THEN
  53.           szInf$ = GetSymbolValue("STF_CWDDIR") + "SAMPLE1.INF"
  54.     END IF
  55.     ReadInfFile szInf$
  56.     source$ = GetSymbolValue("STF_CWDDIR")
  57.  
  58.      OPTCUR$ = "1"
  59.      DEST$ = "D:\"
  60.  
  61. '$IFDEF DEBUG
  62.      i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  63.      WinDrive$ = MID$(GetWindowsDir, 1, 1)
  64.      IF IsDriveValid(WinDrive$) = 0 THEN
  65.           i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  66.           GOTO QUIT
  67.      END IF
  68. '$ENDIF ''DEBUG
  69.  
  70.  
  71. WELCOME:
  72.      sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  73.      IF sz$ = "CONTINUE" THEN
  74.           UIPop 1
  75.      ELSE
  76.           GOSUB ASKQUIT
  77.           GOTO WELCOME
  78.      END IF
  79.  
  80. GETPATH:
  81.      SetSymbolValue "EditTextIn", DEST$
  82.      SetSymbolValue "EditFocus", "END"
  83. GETPATHL1:
  84.      sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  85.      DEST$ = GetSymbolValue("EditTextOut")
  86.  
  87.      Install
  88.  
  89. QUIT:
  90.      IF ERR = 0 THEN
  91.           dlg% = EXITSUCCESS
  92.     ELSEIF ERR = STFQUIT THEN
  93.         dlg% = EXITQUIT
  94.     ELSE
  95.         dlg% = EXITFAILURE
  96.      END IF
  97. QUITL1:
  98.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  99.      IF sz$ = "REACTIVATE" THEN
  100.         GOTO QUITL1
  101.     END IF
  102.     UIPop 1
  103.  
  104.     END
  105.  
  106. BADPATH:
  107.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  108.     IF sz$ = "REACTIVATE" THEN
  109.         GOTO BADPATH
  110.     END IF
  111.     UIPop 1
  112.     RETURN
  113.  
  114.  
  115.  
  116. ASKQUIT:
  117.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  118.  
  119.     IF sz$ = "EXIT" THEN
  120.         UIPopAll
  121.            ERROR STFQUIT
  122.     ELSEIF sz$ = "REACTIVATE" THEN
  123.         GOTO ASKQUIT
  124.      ELSE
  125.         UIPop 1
  126.     END IF
  127.     RETURN
  128.  
  129.  
  130.  
  131. '**
  132. '** Purpose:
  133. '**     Builds the copy list and performs all installation operations.
  134. '** Arguments:
  135. '**     none.
  136. '** Returns:
  137. '**     none.
  138. '*************************************************************************
  139. SUB Install STATIC
  140.  
  141. '    SrcDir$ = GetSymbolValue("STF_SRCDIR")
  142. '    CreateDir DEST$, cmoNone
  143.  
  144. '    OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  145. '    WriteToLogFile ""
  146. '    WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  147. '    WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  148. '    WriteToLogFile ""
  149. '    WriteToLogFile "May have had to create the directory: " + DEST$
  150. '    WriteToLogFile ""
  151.  
  152. '    AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  153. '    AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  154. '    CopyFilesInCopyList
  155.  
  156. '    ini$ = MakePath(DEST$, "DEMO.INI")
  157. '    CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
  158. '    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  159. '    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  160. '    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  161.  
  162.      CreateProgmanGroup "Cyber.Net Interactivo", "", cmoNone
  163.      ShowProgmanGroup  "Cyber.Net Interactivo", 1, cmoNone
  164.      CreateProgmanItem "Cyber.Net Interactivo", "Cyber.Net Interactivo", ""+MakePath(DEST$,"forum\bin\CyberInt.exe"), "", cmoOverwrite
  165.  
  166.     CloseLogFile
  167.  
  168. END SUB
  169.  
  170.  
  171.  
  172. '**
  173. '** Purpose:
  174. '**     Appends a file name to the end of a directory path,
  175. '**     inserting a backslash character as needed.
  176. '** Arguments:
  177. '**     szDir$  - full directory path (with optional ending "\")
  178. '**     szFile$ - filename to append to directory
  179. '** Returns:
  180. '**     Resulting fully qualified path name.
  181. '*************************************************************************
  182. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  183.      IF szDir$ = "" THEN
  184.           MakePath = szFile$
  185.      ELSEIF szFile$ = "" THEN
  186.           MakePath = szDir$
  187.      ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  188.           MakePath = szDir$ + szFile$
  189.      ELSE
  190.           MakePath = szDir$ + "\" + szFile$
  191.      END IF
  192. END FUNCTION
  193.  
  194.