Annotation of mstools/mssetup/sample1.mst, revision 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.