Annotation of mstools/mssetup/sample1.mst, revision 1.1.1.1

1.1       root        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 DESTPATH      = 300
                     14: CONST EXITFAILURE   = 400
                     15: CONST EXITQUIT      = 600
                     16: CONST EXITSUCCESS   = 700
                     17: CONST OPTIONS       = 800
                     18: CONST APPHELP       = 900
                     19: CONST BADPATH       = 6400
                     20: 
                     21: ''Bitmap ID
                     22: CONST LOGO = 1
                     23: 
                     24: GLOBAL DEST$        ''Default destination directory.
                     25: GLOBAL OPTCUR$      ''Option selection from option dialog.
                     26: 
                     27: DECLARE SUB Install
                     28: DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
                     29: 
                     30: 
                     31: INIT:
                     32:     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
                     33:     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
                     34: 
                     35:     SetBitmap CUIDLL$, LOGO
                     36:     SetTitle "MSSetup Toolkit Sample 1"
                     37: 
                     38:     szInf$ = GetSymbolValue("STF_SRCINFPATH")
                     39:     IF szInf$ = "" THEN
                     40:         szInf$ = GetSymbolValue("STF_CWDDIR") + "SAMPLE1.INF"
                     41:     END IF
                     42:     ReadInfFile szInf$
                     43: 
                     44:     OPTCUR$ = "1"
                     45:     DEST$ = "C:\DEMO"
                     46: 
                     47: '$IFDEF DEBUG
                     48:     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
                     49:     WinDrive$ = MID$(GetWindowsDir, 1, 1)
                     50:     IF IsDriveValid(WinDrive$) = 0 THEN
                     51:         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
                     52:         GOTO QUIT
                     53:     END IF
                     54: '$ENDIF ''DEBUG
                     55: 
                     56: 
                     57: WELCOME:
                     58:     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
                     59:     IF sz$ = "CONTINUE" THEN
                     60:         UIPop 1
                     61:     ELSE
                     62:         GOSUB ASKQUIT
                     63:         GOTO WELCOME
                     64:     END IF
                     65: 
                     66: 
                     67: OPTION:
                     68:     SetSymbolValue "RadioDefault", OPTCUR$
                     69: OPTL1:
                     70:     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
                     71:     OPTCUR$ = GetSymbolValue("ButtonChecked")
                     72: 
                     73:     IF sz$ = "CONTINUE" THEN
                     74:         UIPop(1)
                     75:     ELSEIF sz$ = "REACTIVATE" THEN
                     76:         GOTO OPTL1
                     77:     ELSE
                     78:         GOSUB ASKQUIT
                     79:         GOTO OPTION
                     80:     END IF
                     81: 
                     82: 
                     83: GETPATH:
                     84:     SetSymbolValue "EditTextIn", DEST$
                     85:     SetSymbolValue "EditFocus", "END"
                     86: GETPATHL1:
                     87:     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
                     88:     DEST$ = GetSymbolValue("EditTextOut")
                     89: 
                     90:     IF sz$ = "CONTINUE" THEN
                     91:         IF IsDirWritable(DEST$) = 0 THEN
                     92:             GOSUB BADPATH
                     93:             GOTO GETPATHL1
                     94:         END IF
                     95:         UIPop 1
                     96:     ELSEIF sz$ = "REACTIVATE" THEN
                     97:         GOTO GETPATHL1
                     98:     ELSEIF sz$ = "BACK" THEN
                     99:         UIPop 1
                    100:         GOTO OPTION
                    101:     ELSE
                    102:         GOSUB ASKQUIT
                    103:         GOTO GETPATH
                    104:     END IF
                    105: 
                    106: 
                    107:     Install
                    108: 
                    109: 
                    110: QUIT:
                    111:     ON ERROR GOTO ERRQUIT
                    112: 
                    113:     IF ERR = 0 THEN
                    114:         dlg% = EXITSUCCESS
                    115:     ELSEIF ERR = STFQUIT THEN
                    116:         dlg% = EXITQUIT
                    117:     ELSE
                    118:         dlg% = EXITFAILURE
                    119:     END IF
                    120: QUITL1:
                    121:     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
                    122:     IF sz$ = "REACTIVATE" THEN
                    123:         GOTO QUITL1
                    124:     END IF
                    125:     UIPop 1
                    126: 
                    127:     END
                    128: 
                    129: ERRQUIT:
                    130:     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    131:     END
                    132: 
                    133: 
                    134: 
                    135: BADPATH:
                    136:     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
                    137:     IF sz$ = "REACTIVATE" THEN
                    138:         GOTO BADPATH
                    139:     END IF
                    140:     UIPop 1
                    141:     RETURN
                    142: 
                    143: 
                    144: 
                    145: ASKQUIT:
                    146:     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
                    147: 
                    148:     IF sz$ = "EXIT" THEN
                    149:         UIPopAll
                    150:         ERROR STFQUIT
                    151:     ELSEIF sz$ = "REACTIVATE" THEN
                    152:         GOTO ASKQUIT
                    153:     ELSE
                    154:         UIPop 1
                    155:     END IF
                    156:     RETURN
                    157: 
                    158: 
                    159: 
                    160: '**
                    161: '** Purpose:
                    162: '**     Builds the copy list and performs all installation operations.
                    163: '** Arguments:
                    164: '**     none.
                    165: '** Returns:
                    166: '**     none.
                    167: '*************************************************************************
                    168: SUB Install STATIC
                    169: 
                    170:     SrcDir$ = GetSymbolValue("STF_SRCDIR")
                    171:     CreateDir DEST$, cmoNone
                    172: 
                    173:     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
                    174:     WriteToLogFile ""
                    175:     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
                    176:     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
                    177:     WriteToLogFile ""
                    178:     WriteToLogFile "May have had to create the directory: " + DEST$
                    179:     WriteToLogFile ""
                    180: 
                    181:     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
                    182:     AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
                    183:     CopyFilesInCopyList
                    184: 
                    185:     ini$ = MakePath(DEST$, "DEMO.INI")
                    186:     CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
                    187:     CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
                    188:     CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
                    189:     CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
                    190: 
                    191:     CreateProgmanGroup "MSSetup Sample 1", "", cmoNone
                    192:     ShowProgmanGroup  "MSSetup Sample 1", 1, cmoNone
                    193:     CreateProgmanItem "MSSetup Sample 1", "dialogs", "dlgedit.exe "+MakePath(DEST$,"dialogs.res"), "", cmoOverwrite
                    194:     CreateProgmanItem "MSSetup Sample 1", "dlgprocs.c", "notepad.exe "+MakePath(DEST$,"dlgprocs.c"), "", cmoOverwrite
                    195: 
                    196:     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
                    197: 
                    198:     CloseLogFile
                    199: 
                    200: END SUB
                    201: 
                    202: 
                    203: 
                    204: '**
                    205: '** Purpose:
                    206: '**     Appends a file name to the end of a directory path,
                    207: '**     inserting a backslash character as needed.
                    208: '** Arguments:
                    209: '**     szDir$  - full directory path (with optional ending "\")
                    210: '**     szFile$ - filename to append to directory
                    211: '** Returns:
                    212: '**     Resulting fully qualified path name.
                    213: '*************************************************************************
                    214: FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
                    215:     IF szDir$ = "" THEN
                    216:         MakePath = szFile$
                    217:     ELSEIF szFile$ = "" THEN
                    218:         MakePath = szDir$
                    219:     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
                    220:         MakePath = szDir$ + szFile$
                    221:     ELSE
                    222:         MakePath = szDir$ + "\" + szFile$
                    223:     END IF
                    224: END FUNCTION
                    225: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.