Annotation of mstools/rpc_dos/disk1/rpcsdk.mst, revision 1.1.1.1

1.1       root        1: '***********************************************************************
                      2: '*                       RPC SDK Install
                      3: '*                   Copyright (C) - 1992 by Microsoft
                      4: '*
                      5: '*                      Written By - Steven Zeck
                      6: '**************************************************************************
                      7: 
                      8: '$DEFINE NODEBUG  ''Define for script development/debugging
                      9: 
                     10: '$INCLUDE 'setupapi.inc'
                     11: '$INCLUDE 'msdetect.inc'
                     12: 
                     13: CONST TRUE = -1
                     14: CONST FALSE = 0
                     15: 
                     16: ''Dialog ID's
                     17: CONST ASKQUIT       = 200
                     18: CONST DlgGetPath    = 310
                     19: CONST HlpGetPath    = 311
                     20: CONST DlgRegPath    = 1700
                     21: CONST HlpRegPath    = 1701
                     22: CONST DlgDosPath    = 2000
                     23: CONST HlpDosPath    = 2001
                     24: CONST EXITFAILURE   = 400
                     25: CONST EXITQUIT      = 600
                     26: 
                     27: ' Conditionaly set the dialogs for full SDK versus runtime only.
                     28: 
                     29: '$ifndef RUNTIMEINSTALL
                     30: 
                     31: CONST DlgWelcome    = 100
                     32: CONST DlgInstallOptions = 800
                     33: CONST HlpInstallOptions = 801
                     34: CONST EXITSUCCESS   = 700
                     35: '$else
                     36: CONST DlgWelcome    = 2600
                     37: CONST DlgInstallOptions = 2400
                     38: CONST HlpInstallOptions = 2401
                     39: CONST EXITSUCCESS   = 2800
                     40: 
                     41: '$endif
                     42: 
                     43: CONST DlgSdkOption  = 1200
                     44: CONST HlpSdkOption  = 1201
                     45: CONST DlgRuntimeOption = 1400
                     46: CONST HlpRuntimeOption = 1401
                     47: CONST DlgTransport     = 1600
                     48: CONST HlpTransport     = 1601
                     49: CONST DlgNetBiosOptions        = 2200
                     50: CONST HlpNetBiosOptions        = 2201
                     51: CONST DlgNetBiosProtocols = 2300
                     52: CONST HlpNetBiosProtocols = 2301
                     53: CONST DlgNewProtocol = 2100
                     54: CONST HlpNewProtocol = 2101
                     55: CONST DlgAutoPath = 2400
                     56: CONST HlpAutoPath = 2401
                     57: CONST BADPATH       = 6400
                     58: 
                     59: ''Bitmap ID
                     60: CONST LOGO = 1
                     61: 
                     62: CONST LanType_LANMAN = 6
                     63: 
                     64: Type LAN_DETECT
                     65:     iType As Integer
                     66:     iMajor As Integer
                     67:     iMinor As Integer
                     68:     iRev   As Integer
                     69:     fEnhance As Integer
                     70: End Type
                     71: 
                     72: 
                     73: GLOBAL BasePath$        ''Default destination directory.
                     74: GLOBAL RegPath$                ''Default destination directory.
                     75: GLOBAL DosPath$                ''Default destination directory.
                     76: Global CustomInstall   ''Custom install option
                     77: Global SrcDir$
                     78: Global AllTransports
                     79: Global MSDOSRuntime
                     80: Global MSDOSSDK
                     81: Global WindowsRuntime
                     82: Global WindowsSDK
                     83: Global NetBiosTransport
                     84: Global SamplesSDK
                     85: Global HelpFiles
                     86: GLOBAL CUIDLL$
                     87: GLOBAL HELPPROC$
                     88: 
                     89: DECLARE FUNCTION GetNetConfiguration LIB "mscuistf.dll" (Detect as LAN_DETECT) AS INTEGER
                     90: 
                     91: DECLARE Function GetPath(Dialog%, Path$) AS INTEGER
                     92: DECLARE FUNCTION GetTransport() As INTEGER
                     93: DECLARE Sub CopyList(ListIn$, ListOut$, Truncate%)
                     94: DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
                     95: DECLARE FUNCTION GetCheck (index%) AS INTEGER
                     96: DECLARE FUNCTION BoolToOnOff (Bool%) AS String
                     97: DECLARE FUNCTION GetWinRunSize () AS String
                     98: DECLARE FUNCTION GetWinSize () AS String
                     99: DECLARE FUNCTION GetDosSize () AS String
                    100: DECLARE FUNCTION GetDosRunSize () AS String
                    101: DECLARE FUNCTION GetHlpSize () AS String
                    102: DECLARE FUNCTION GetSampleSize () AS String
                    103: DECLARE FUNCTION GetTransportSize () AS String
                    104: DECLARE FUNCTION FormatSize ()AS String
                    105: 
                    106: 
                    107: INIT:
                    108:     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
                    109:     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
                    110: 
                    111:     SetBitmap CUIDLL$, LOGO
                    112:     SetTitle "Microsft RPC SDK Install"
                    113: 
                    114:     szInf$ = GetSymbolValue("STF_SRCINFPATH")
                    115:     if szInf$ = "" THEN
                    116:         szInf$ = GetSymbolValue("STF_CWDDIR") + "RPCSDK.INF"
                    117:     end if
                    118:     ReadInfFile szInf$
                    119:     SetAbout "RPC SDK Install", "By stevez - Version 0.08"
                    120: 
                    121:     CustomInstall = FALSE
                    122:     AllTransports = TRUE
                    123:     MSDOSRuntime = TRUE
                    124: 
                    125: '$ifndef WINDOWS_ONLY
                    126:     MSDOSSDK = TRUE
                    127: '$endif
                    128: 
                    129: '$ifndef MSDOS_ONLY
                    130:     WindowsRuntime = TRUE
                    131: '$endif
                    132: 
                    133:     WindowsSDK = TRUE
                    134:     NetBiosTransport = TRUE
                    135:     SamplesSDK = TRUE
                    136:     HelpFiles = TRUE
                    137: 
                    138:     Dim Detect As LAN_DETECT
                    139: 
                    140:     if GetNetConfiguration(Detect) then
                    141: 
                    142: '$ifdef DEBUG
                    143:        mess$ = "Type "+str$(Detect.iType)+" Version: "+str$(Detect.iMajor)+"."+str$(Detect.iMinor)+"."+str$(Detect.iRev)
                    144:        if Detect.fEnhance then
                    145:            mess$ = mess$ + " Enhanced"
                    146:        end if
                    147: 
                    148:        i% = DoMsgBox(mess$, "NetWork Type Detected", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    149: '$endif
                    150:        if Detect.iType = LanType_LANMAN then
                    151:            if Detect.iMajor < 2 or Detect.iMinor < 10 then
                    152:                i% = DoMsgBox("You need at least Lanman 2.10 to use RPC", "Lanman Version", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    153:            else
                    154:                fLanmanPresent = TRUE
                    155:            end if
                    156:        end if
                    157:     else
                    158:        i% = DoMsgBox("Setup didn't detect a supported network on this machine.  RPC may not function correctly.", "Network Installation", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    159:     end if
                    160: 
                    161: 
                    162:     AddListItem "NetBiosMap", "nb=0"
                    163:     AddListItem "NetBiosMap", "tcpip=0"
                    164:     AddListItem "NetBiosMap", "xns=0"
                    165: 
                    166:     BasePath$ = "C:\c700"
                    167:     RegPath$="C:\"
                    168:     DosPath$="C:\DOS"
                    169:     WinPath$=GetWindowsDir
                    170:     SrcDir$ = GetSymbolValue("STF_SRCDIR")
                    171: 
                    172:     ' If the path contains lanman, make that the default DOS DLL directory.
                    173: 
                    174:     path$ = Ucase$(GetEnvVariableValue ("PATH"))+";"
                    175: 
                    176:     i% = 1
                    177:     while i% < len(path$)
                    178: 
                    179:        iEnd = instr(i%, path$, ";")
                    180:        cPath$ = mid$(path, i%, iEnd - i%)
                    181: 
                    182:        if instr (cPath$, "LANMAN") or instr(cPath$, "\NETPROG") then
                    183:          DosPath$ = cPath$
                    184:        end if
                    185: 
                    186:        if instr (cPath$, "\C700\") then
                    187:          BasePath$ = mid$(cPath$, 1, 1)+":\C700"
                    188:        end if
                    189: 
                    190:        i% = iEnd + 1
                    191:     wend
                    192: 
                    193: 
                    194: '$ifdef DEBUG
                    195: 
                    196:     SrcDir$ = "U:\install\sdk.new\nsetup"
                    197: '    DosPath$="C:\c700\DOS"
                    198:     WinPath$="C:\c700\WIN"
                    199: 
                    200: '$endif ''DEBUG
                    201: 
                    202: WELCOME:
                    203:     sz$ = UIStartDlg(CUIDLL$, DlgWelcome, "FInfoDlgProc", 0, "")
                    204:     if sz$ = "CONTINUE" THEN
                    205:         UIPop 1
                    206:     else
                    207:         GOSUB ASKQUIT
                    208:         GOTO WELCOME
                    209:     end if
                    210: 
                    211: 
                    212: OPTION:
                    213:     if not CustomInstall then
                    214:        SetSymbolValue "RadioDefault", "1"
                    215:     else
                    216:        SetSymbolValue "RadioDefault", "2"
                    217:     end if
                    218: 
                    219: RESTART_OPTION:
                    220:     sz$ = UIStartDlg(CUIDLL$, DlgInstallOptions, "FRadioDlgProc", HlpInstallOptions, HELPPROC$)
                    221:     Index$ = GetSymbolValue("ButtonChecked")
                    222: 
                    223:     if sz$ = "CONTINUE" THEN
                    224:         UIPop(1)
                    225:     elseif sz$ = "REACTIVATE" THEN
                    226:        GOTO RESTART_OPTION
                    227:     else
                    228:         GOSUB ASKQUIT
                    229:         GOTO OPTION
                    230:     end if
                    231: 
                    232:     if Index$ = "2" then
                    233:        CustomInstall = TRUE
                    234:     else
                    235:        CustomInstall = FALSE
                    236: 
                    237: '$ifndef RUNTIMEINSTALL
                    238:        i% = GetPath(DlgGetPath, BasePath$)
                    239: '$else
                    240:        i% = GetPath(DlgDosPath, DosPath$)
                    241: '$endif
                    242: 
                    243:        if i% then
                    244:            goto FullInstall
                    245:        else
                    246:            goto OPTION
                    247:        end if
                    248:     end if
                    249: 
                    250: 
                    251: '$ifndef RUNTIMEINSTALL
                    252: 
                    253: SDK_OPTION:
                    254: 
                    255:     RemoveSymbol "CheckItemsState"
                    256:     RemoveSymbol "DriveStatusText"
                    257: 
                    258:     AddListItem "CheckItemsState", BoolToOnOff(SamplesSDK )
                    259:     AddListItem "CheckItemsState", BoolToOnOff(MSDOSSDK)
                    260:     AddListItem "CheckItemsState", BoolToOnOff(WindowsSDK )
                    261:     AddListItem "CheckItemsState", BoolToOnOff(HelpFiles)
                    262: 
                    263:     AddListItem "DriveStatusText", BasePath$
                    264: 
                    265: RESTART_SDK_OPTION:
                    266: 
                    267:     RemoveSymbol "StatusItemsText"
                    268:     AddListItem "StatusItemsText", GetDosSize()
                    269:     AddListItem "StatusItemsText", GetWinSize()
                    270:     AddListItem "StatusItemsText", GetSampleSize()
                    271:     AddListItem "StatusItemsText", GetHlpSize()
                    272: 
                    273:     sz$ = UIStartDlg(CUIDLL$, DlgSdkOption, "FCustInstDlgProc", HlpSdkOption, HELPPROC$)
                    274:     
                    275:     if sz$ = "CONTINUE" THEN
                    276:         UIPop(1)
                    277: 
                    278:     elseif sz$ = "BACK" THEN
                    279:         UIPop(1)
                    280:        GOTO OPTION
                    281: 
                    282:     elseif sz$ = "REACTIVATE" THEN
                    283:        GOTO RESTART_SDK_OPTION
                    284: 
                    285:     elseif sz$ = "PATH" THEN
                    286: 
                    287:        i% = GetPath(DlgGetPath ,BasePath$)
                    288:        ReplaceListItem "DriveStatusText", 1, BasePath$
                    289:        GOTO RESTART_SDK_OPTION
                    290: 
                    291:     elseif sz$ = "CHK1" THEN
                    292: 
                    293:        SamplesSDK = GetCheck(1)
                    294:        GOTO RESTART_SDK_OPTION
                    295: 
                    296:     elseif sz$ = "CHK2" THEN
                    297: 
                    298:        MSDOSSDK = GetCheck(2)
                    299:        GOTO RESTART_SDK_OPTION
                    300: 
                    301:     elseif sz$ = "CHK3" THEN
                    302: 
                    303:        WindowsSDK = GetCheck(3)
                    304:        GOTO RESTART_SDK_OPTION
                    305: 
                    306:     elseif sz$ = "CHK4" THEN
                    307: 
                    308:        HelpFiles = GetCheck(4)
                    309:        GOTO RESTART_SDK_OPTION
                    310: 
                    311:     else
                    312:         GOSUB ASKQUIT
                    313:        GOTO RESTART_SDK_OPTION
                    314:     end if
                    315: 
                    316:     MSDOSRuntime = MSDOSSDK
                    317:     WindowsRuntime = WindowsSDK
                    318: 
                    319:     if MSDOSSDK = FALSE and WindowsSDK = FALSE then
                    320:        i% = DoMsgBox("You must chose either MS-DOS or Windows.", "Include and Library Support", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    321:        goto SDK_OPTION
                    322: 
                    323:     end if
                    324: '$endif
                    325: 
                    326: RUNTIME_OPTION:
                    327: 
                    328:     RemoveSymbol "CheckItemsState"
                    329: 
                    330:     AddListItem "CheckItemsState", BoolToOnOff(MSDOSRuntime)
                    331:     AddListItem "CheckItemsState", BoolToOnOff(WindowsRuntime)
                    332:     AddListItem "CheckItemsState", BoolToOnOff(AllTransports)
                    333: 
                    334: RESTART_RUNTIME_OPTION:
                    335: 
                    336:     RemoveSymbol "StatusItemsText"
                    337: 
                    338:     AddListItem "StatusItemsText", RegPath$
                    339:     AddListItem "StatusItemsText", DosPath$
                    340:     AddListItem "StatusItemsText", GetDosRunSize()
                    341:     AddListItem "StatusItemsText", GetWinRunSize()
                    342:     AddListItem "StatusItemsText", GetTransportSize()
                    343: 
                    344:     sz$ = UIStartDlg(CUIDLL$, DlgRuntimeOption, "FCustInstDlgProc", HlpRuntimeOption, HELPPROC$)
                    345:     
                    346:     if sz$ = "CONTINUE" THEN
                    347:         UIPop(1)
                    348: 
                    349:     elseif sz$ = "BACK" THEN
                    350:         UIPop(1)
                    351: 
                    352: '$ifndef RUNTIMEINSTALL
                    353: 
                    354:        GOTO SDK_OPTION
                    355: '$else
                    356:        GOTO OPTION
                    357: '$endif
                    358: 
                    359:     elseif sz$ = "REACTIVATE" THEN
                    360:        GOTO RESTART_RUNTIME_OPTION
                    361: 
                    362:     elseif sz$ = "CHK1" THEN
                    363:        MSDOSRuntime = GetCheck(1)
                    364:        GOTO RESTART_RUNTIME_OPTION
                    365: 
                    366:     elseif sz$ = "CHK2" THEN
                    367:        WindowsRuntime = GetCheck(2)
                    368:        GOTO RESTART_RUNTIME_OPTION
                    369: 
                    370:     elseif sz$ = "CHK3" THEN
                    371: 
                    372:        if GetListItem("CheckItemsState", 3) = "ON" then
                    373:            AllTransports = TRUE
                    374:        else
                    375:            AllTransports = FALSE
                    376:            RemoveSymbol "SelectedTransports"
                    377:        end if
                    378: 
                    379:        GOTO RESTART_RUNTIME_OPTION
                    380: 
                    381:     elseif sz$ = "BTN1" THEN
                    382: 
                    383:        i% = GetPath(DlgRegPath ,RegPath$)
                    384:        ReplaceListItem "StatusItemsText", 1, RegPath$
                    385: 
                    386:        GOTO RESTART_RUNTIME_OPTION
                    387: 
                    388:     elseif sz$ = "BTN2" THEN
                    389: 
                    390:        i% = GetPath(DlgDosPath ,DosPath$)
                    391:        ReplaceListItem "StatusItemsText", 2, DosPath$
                    392: 
                    393:        GOTO RESTART_RUNTIME_OPTION
                    394: 
                    395:     elseif sz$ = "BTN3" THEN
                    396: 
                    397: 
                    398:        if GetTransport() and AllTransports then
                    399:            Alltransports = FALSE
                    400:            ReplaceListItem "CheckItemsState", 3, "OFF"
                    401:        end if
                    402: 
                    403:        GOTO RESTART_RUNTIME_OPTION
                    404: 
                    405:     else
                    406:         GOSUB ASKQUIT
                    407:        GOTO RESTART_RUNTIME_OPTION
                    408: 
                    409:     end if
                    410: 
                    411:     NetBiosTransport = AllTransports
                    412: 
                    413:     ' Scan the selected transport for a NetBios name
                    414: 
                    415:     for i% = 1 to GetListLength("SelectedTransports") step 1
                    416: 
                    417:        if instr(GetListItem("SelectedTransports", i%), "NetBios") then
                    418:            NetBiosTransport = TRUE
                    419:        end if
                    420:     next
                    421: 
                    422: 
                    423:     if not NetBiosTransport then
                    424:        goto FullInstall
                    425:     end if
                    426: 
                    427: NETBIOS:
                    428:     SetSymbolValue "RadioDefault", "1"
                    429: 
                    430: RESTART_NETBIOS_OPTION:
                    431:     sz$ = UIStartDlg(CUIDLL$, DlgNetBiosOptions, "FRadioDlgProc", HlpNetBiosOptions, HELPPROC$)
                    432:     Index$ = GetSymbolValue("ButtonChecked")
                    433: 
                    434:     if sz$ = "CONTINUE" THEN
                    435:         UIPop(1)
                    436:     elseif sz$ = "REACTIVATE" THEN
                    437:        GOTO RESTART_NETBIOS_OPTION
                    438: 
                    439:     elseif sz$ = "BACK" THEN
                    440:        GOTO RUNTIME_OPTION
                    441: 
                    442:     else
                    443:         GOSUB ASKQUIT
                    444:        GOTO NETBIOS
                    445:     end if
                    446: 
                    447:     if Index$ = "1" then
                    448:        goto FullInstall
                    449:     end if
                    450: 
                    451: 
                    452: NETBIOS_PROTOCOL:
                    453: 
                    454:     RemoveSymbol "ListItemsIn"
                    455: 
                    456: RESTART_NETBIOS_PROTOCOL:
                    457:     sz$ = UIStartDlg(CUIDLL$, DlgNetBiosProtocols, "FListDlgProc", HlpNetBiosProtocols, HELPPROC$)
                    458:     
                    459:     if sz$ = "CONTINUE" THEN
                    460:        UIPop 1
                    461: 
                    462:     elseif sz$ = "REACTIVATE" THEN
                    463:        GOTO RESTART_NETBIOS_OPTION
                    464: 
                    465:     elseif sz$ = "BACK" THEN
                    466: 
                    467: GET_LANA:
                    468:        sz$ = UIStartDlg(CUIDLL$, DlgNewProtocol, "FNameOrgDlgProc", HlpNewProtocol, HELPPROC$)
                    469: 
                    470:        if sz$ = "CONTINUE" then
                    471: 
                    472:            t$ = GetSymbolValue("OrgOut")
                    473: 
                    474:            if len(t$) <> 1 or mid$(t$, 1) < "0" or mid$(t$, 1) > "9" then
                    475:                i% = DoMsgBox("Bad value for Lana #, use 0 to 9", "NetBios Protocol", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    476:                goto GET_LANA
                    477:            else
                    478:                NewProto$ = GetSymbolValue("NameOut") + "=" + t$
                    479:                AddListItem "ListItemsIn", NewProto$
                    480: 
                    481:            end if
                    482:        end if
                    483: 
                    484:        UIPop (2)
                    485:        GOTO RESTART_NETBIOS_PROTOCOL
                    486: 
                    487:     elseif sz$ = "CANCEL" THEN
                    488:        UIPop (1)
                    489:        GOTO RESTART_NETBIOS_OPTION
                    490: 
                    491:     elseif sz$ = "EXIT" THEN
                    492: 
                    493:        OldProto$ = GetSymbolValue("ListItemsOut")
                    494:        RemoveSymbol "ListTmp"
                    495: 
                    496:        for i% = 1 to GetListLength("ListItemsIn") step 1
                    497:            if OldProto$ <> GetListItem("ListItemsIn", i%) then
                    498: 
                    499:                AddListItem "ListTmp", GetListItem("ListItemsIn", i%)
                    500:            end if
                    501:        next
                    502: 
                    503:        CopyList "ListItemsIn", "ListTmp", TRUE
                    504: 
                    505:        UIPop (2)
                    506:        GOTO RESTART_NETBIOS_PROTOCOL
                    507:     end if
                    508: 
                    509:     CopyList "NetBiosMap", "ListItemsOut", TRUE
                    510: 
                    511: 
                    512: FullInstall:
                    513: 
                    514:     group$ = "Microsoft C/C++ 7.0"
                    515: 
                    516: '$ifndef RUNTIMEINSTALL
                    517: 
                    518:     CreateDir BasePath$, cmoNone
                    519:     CreateDir MakePath(BasePath$, "rpc"), cmoNone
                    520: 
                    521:     AddSectionFilesToCopyList "Base", SrcDir$, MakePath(BasePath$, "rpc")
                    522: 
                    523: 
                    524:     ' Install the SDK files first.
                    525: 
                    526:     CreateDir MakePath(BasePath$, "include"), cmoNone
                    527: 
                    528:     AddSectionFilesToCopyList "include", SrcDir$, MakePath(BasePath$, "include")
                    529:     AddSectionFilesToCopyList "bin", SrcDir$, MakePath(BasePath$, "bin")
                    530: 
                    531:     if WindowsSDK then
                    532:        AddSectionFilesToCopyList "winclude", SrcDir$, MakePath(BasePath$, "include\win")
                    533:        AddSectionFilesToCopyList "wlib", SrcDir$, MakePath(BasePath$, "lib")
                    534: 
                    535:        CreateProgmanGroup group$, "", cmoNone
                    536:        ShowProgmanGroup group$, 1, cmoNone
                    537:        CreateProgmanItem  group$, "RPC ReadMe", "notepad "+MakePath(BasePath$, "rpc\readme.txt"), "", cmoOverWrite
                    538: 
                    539:     end if
                    540: 
                    541:     if MSDOSSDK then
                    542:        AddSectionFilesToCopyList "dinclude", SrcDir$, MakePath(BasePath$, "include\dos")
                    543:        AddSectionFilesToCopyList "dlib", SrcDir$, MakePath(BasePath$, "lib")
                    544:     end if
                    545: 
                    546:     if SamplesSDK then
                    547: 
                    548:        if MSDOSSDK and HelpFiles then
                    549:            AddSectionFilesToCopyList "dHelp", SrcDir$, MakePath(BasePath$, "help")
                    550:        end if
                    551: 
                    552:        if WindowsSDK and HelpFiles then
                    553:            AddSectionFilesToCopyList "wHelp", SrcDir$, MakePath(BasePath$, "help")
                    554: 
                    555:            CreateProgmanItem group$, "RPC API Reference", "winhelp "+MakePath(BasePath$, "help\rpc10wh.hlp"), "", cmoOverWrite
                    556:            CreateProgmanItem group$, "RPC MIDL Reference", "winhelp "+MakePath(BasePath$, "help\midl10wh.hlp"), "", cmoOverWrite
                    557:        end if
                    558: 
                    559:        CreateDir MakePath(BasePath$, "rpc\samples"), cmoNone
                    560: 
                    561:        Open MakePath(BasePath$, "rpc\samples\makefile.dos") for Output As 1
                    562:        print #1, "# Nmake include file for MS-DOS sample applications"
                    563:        print #1,
                    564:        print #1, "OSINCLUDE="+MakePath(BasePath$, "include\dos")
                    565:        close #1
                    566: 
                    567:        Open MakePath(BasePath$, "rpc\samples\makefile.win") for Output As 1
                    568:        print #1, "# Nmake include file for Windows sample applications"
                    569:        print #1,
                    570:        print #1, "OSINCLUDE="+MakePath(BasePath$, "include\win")
                    571:        close #1
                    572: 
                    573: 
                    574:        if WindowsSDK then
                    575:            AddSectionFilesToCopyList "wsample2", SrcDir$, MakePath(BasePath$, "rpc\samples\whello")
                    576:            AddSectionFilesToCopyList "wsample11", SrcDir$, MakePath(BasePath$, "rpc\samples\mandel")
                    577:        end if
                    578: 
                    579:        if MSDOSSDK then
                    580:            CreateDir MakePath(BasePath$, "rpc\samples\data"), cmoNone
                    581:            CreateDir MakePath(BasePath$, "rpc\samples\handles"), cmoNone
                    582: 
                    583:            AddSectionFilesToCopyList "sample1", SrcDir$, MakePath(BasePath$, "rpc\samples\hello")
                    584:            AddSectionFilesToCopyList "sample3", SrcDir$, MakePath(BasePath$, "rpc\samples\data\dunion")
                    585:            AddSectionFilesToCopyList "sample4", SrcDir$, MakePath(BasePath$, "rpc\samples\data\inout")
                    586:            AddSectionFilesToCopyList "sample5", SrcDir$, MakePath(BasePath$, "rpc\samples\data\xmit")
                    587:            AddSectionFilesToCopyList "sample6", SrcDir$, MakePath(BasePath$, "rpc\samples\doctor")
                    588:            AddSectionFilesToCopyList "sample7", SrcDir$, MakePath(BasePath$, "rpc\samples\handles\auto")
                    589:            AddSectionFilesToCopyList "sample8", SrcDir$, MakePath(BasePath$, "rpc\samples\handles\cxhndl")
                    590:            AddSectionFilesToCopyList "sample9", SrcDir$, MakePath(BasePath$, "rpc\samples\handles\usrdef")
                    591:            AddSectionFilesToCopyList "sample10",SrcDir$, MakePath(BasePath$, "rpc\samples\dict")
                    592: 
                    593:        end if
                    594: 
                    595:     end if
                    596: 
                    597: '$endif
                    598: 
                    599: 
                    600:     ' Update the list of transports to install.
                    601: 
                    602:     if AllTransports then
                    603:        RemoveSymbol "SelectedTransports"
                    604:     end if
                    605: 
                    606:     if WindowsRuntime then
                    607:        AddSectionFilesToCopyList "wruntime", SrcDir$, MakePath(WinPath$, "system")
                    608: 
                    609:        if fLanmanPresent and Detect.fEnhance then
                    610: 
                    611:            NetapiPath$ = FindTargetOnEnvVar("netapi.dll", "PATH")
                    612: 
                    613:            if NetapiPath$ <> "" then
                    614:                AddSectionFilesToCopyList "wnetapi", SrcDir$, mid$(NetapiPath$, 1, len(NetapiPath$) - len("\netapi.dll"))
                    615:            end if
                    616:        else
                    617:            AddSectionFilesToCopyList "dummynetapi", SrcDir$, MakePath(WinPath$, "system")
                    618:        end if
                    619: 
                    620: 
                    621:        if AllTransports then
                    622:            MakeListFromSectionKeys "SelectedTransports", "wtrans"
                    623:        end if
                    624:     end if
                    625: 
                    626:     if MSDOSRuntime then
                    627: 
                    628:        CreateDir DosPath$, cmoNone
                    629:        AddSectionFilesToCopyList "druntime", SrcDir$, DosPath$
                    630: 
                    631:        if AllTransports then
                    632:            MakeListFromSectionKeys "ListTmp", "dtrans"
                    633:            CopyList "SelectedTransports", "ListTmp", FALSE
                    634:        end if
                    635: 
                    636:     end if
                    637: 
                    638: 
                    639:     ' For each transport selected, add to the DOS or Windows copylist.
                    640: 
                    641:     for i% = 1 to GetListLength("SelectedTransports") step 1
                    642: 
                    643:        tran$ = GetListItem("SelectedTransports", i%)
                    644: 
                    645:        if instr (tran$, "DOS") then
                    646:            AddSectionKeyFileToCopyList "dtrans", tran$, SrcDir$, DosPath$
                    647:        else
                    648:            AddSectionKeyFileToCopyList "wtrans", tran$, SrcDir$, MakePath(WinPath$, "system")
                    649: 
                    650:        end if
                    651:     next
                    652: 
                    653: 
                    654:     ' Now write the registry file with the NSI values and the
                    655:     ' transport to protocol mappings.
                    656: 
                    657:     KeyPrefix$ = "\Root\Software\Microsoft\Rpc"
                    658: 
                    659:     CreateDir RegPath$, cmoNone
                    660:     Open MakePath(RegPath$, "rpcreg.dat") for Output As 1
                    661: 
                    662:     print #1, KeyPrefix$+"\NameService\Protocol=ncacn_np"
                    663:     print #1, KeyPrefix$+"\NameService\NetworkAddress=\\."
                    664:     print #1, KeyPrefix$+"\NameService\Endpoint=\pipe\locator"
                    665:     print #1, KeyPrefix$+"\NameService\DefaultSyntax=1"
                    666: 
                    667:     ' For each transport add the mapping for the protocols.
                    668: 
                    669:     for i% = 1 to GetListLength("SelectedTransports") step 1
                    670: 
                    671:        tran$ = GetListItem("SelectedTransports", i%)
                    672: 
                    673:        Start = instr(tran$, "(")+1
                    674:        mapping$ = mid$(tran$, Start, len(tran$) - Start)
                    675: 
                    676:        'Since we have DOS and windows mappings, there can be duplicates
                    677:        'make sure the mapping is only added once.
                    678: 
                    679:        for n% = 1 to GetListLength("MappedProtocols") step 1
                    680:            if mapping$ = GetListItem("MappedProtocols", n%) then
                    681:               goto NextMapping
                    682:            end if
                    683:        next
                    684: 
                    685:        AddListItem "MappedProtocols", mapping$
                    686: 
                    687:        ' NetBios protocols get special mappings for each protocol
                    688: 
                    689:        if instr(mapping$, "rpcltc5") then
                    690:            for n% = 1 to GetListLength("NetBiosMap") step 1
                    691: 
                    692:                NbMap$ = GetListItem("NetBiosMap", n%)
                    693:                prot$ = mid$(NbMap$, 1, instr(NbMap$, "=")-1)
                    694:                dll$ =  mid$(mapping$, instr(mapping$, "="))
                    695: 
                    696:                print #1, KeyPrefix$+"\ClientProtocols\ncacn_nb_"+prot$+dll$
                    697:            next
                    698:        else
                    699:            print #1, KeyPrefix$+"\ClientProtocols\ncacn_"+mapping$
                    700:        end if
                    701: 
                    702: NextMapping:
                    703:     next
                    704: 
                    705: 
                    706:    'For NetBios, build the protocol to lan adapter mappings.
                    707: 
                    708:     if NetBiosTransport then
                    709:        for n% = 1 to GetListLength("NetBiosMap") step 1
                    710: 
                    711:            NbMap$ = GetListItem("NetBiosMap", n%)
                    712:            prot$ = mid$(NbMap$, 1, instr(NbMap$, "=")-1) + "0"
                    713:            lana$ = mid$(NbMap$, instr(NbMap$, "="))
                    714: 
                    715:            print #1, KeyPrefix$+"\NetBios\ncacn_nb_"+prot$+lana$
                    716:        next
                    717:     end if
                    718: 
                    719:     Close #1
                    720: 
                    721: 
                    722:     ' Update the users autoexec file if needed.
                    723: 
                    724:     AutoExec$ = "C:\"
                    725: 
                    726:     if UCase$(RegPath$) <> "C:\" and GetEnvVariableValue ("RPC_REG_DATA_FILE") <> UCase$(RegPath$) then
                    727:        UpdateReg = TRUE
                    728:     else
                    729:        UpdateReg = FALSE
                    730:     end if
                    731: 
                    732:     UpdatePath = FALSE
                    733: 
                    734:     if MSDOSRuntime then
                    735: 
                    736: '      i% = DoMsgBox("Path: "+path$, "DOS path: "+DosPath$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    737: 
                    738:        if instr(path$, Ucase$(DosPath$)) = 0 then
                    739:            UpdatePath = TRUE
                    740:        end if
                    741:     end if
                    742: 
                    743:     if UpdateReg or UpdatePath then
                    744: 
                    745:        ' Get the path to the autoexec file if not in "C:\"
                    746: 
                    747:        AutoExec$ = AutoExec$+"Autoexec.bat"
                    748: 
                    749:        while DoesFileExist(AutoExec$, femExists) = 0
                    750: 
                    751:            if not GetPath(DlgAutoPath, AutoExec$) then
                    752:                goto noAutoExec
                    753:            end if
                    754:        wend
                    755: 
                    756:        newPath$ = "SET PATH=%PATH%;"+DosPath$
                    757: 
                    758:        ' Insert the new information by merging the new info while
                    759:        ' copying the autoexec file.
                    760: 
                    761:        AutoExecRpc$ = mid$(AutoExec$, 1, len(AutoExec$)-3)+"rpc"
                    762: 
                    763:        Open AutoExec$ for Input As 1
                    764:        Open AutoExecRpc$ for Output As 2
                    765: 
                    766:        while not eof(1)
                    767:            line input #1, Buffer$
                    768: 
                    769:            if len(Buffer$) = 0 then
                    770:                print #2, Buffer$
                    771: 
                    772:            elseif UpdatePath and instr (Ucase$(Buffer$), Ucase$(Newpath$)) then
                    773:                UpdatePath = FALSE
                    774: 
                    775:            elseif UpdateReg and instr(Ucase$(Buffer$), "RPC_REG_DATA_FILE") then
                    776:                UpdateReg = FALSE
                    777: 
                    778:            else
                    779:                print #2, Buffer$
                    780: 
                    781:            end if
                    782: 
                    783:        wend
                    784: 
                    785: 
                    786:        ' Append any needed values to the autoexe file
                    787: 
                    788:        if UpdateReg then
                    789:            print #2, "set RPC_REG_DATA_FILE="+RegPath$
                    790:        end if
                    791: 
                    792:        if UpdatePath then
                    793:            print #2, NewPath$
                    794:        end if
                    795: 
                    796:        Close #1, #2
                    797: 
                    798:        if UpdateReg = FALSE and UpdatePath = FALSE then
                    799:            RemoveFile AutoExecRpc$, cmoNone
                    800:            goto NoAutoExec
                    801:        end if
                    802: 
                    803:        i% = DoMsgBox("In order for the runtime to function, setup needs to change your autoexec.bat file. Do you want setup to update this file?", "Update Autoexec.bat", 4+MB_TASKMODAL+32)
                    804: 
                    805:        if i% = 6 then
                    806:            BackupFile AutoExec$, "Autoexec.bak"
                    807:            CopyFile AutoExecRpc$, AutoExec$, cmoOverwrite, FALSE
                    808:            RemoveFile AutoExecRpc$, cmoNone
                    809:        else
                    810:            i% = DoMsgBox("An updated auotexec.bat file is in the file "+AutoExecRpc$, "New Autoexec.bat", MB_OK+MB_TASKMODAL)
                    811:        end if
                    812: 
                    813:     endif
                    814: 
                    815: NoAutoExec:
                    816: 
                    817:     ' DumpCopyList "c:\tmp\t"
                    818:     CopyFilesInCopyList
                    819: 
                    820: 
                    821: '$ifdef SystemNetApi
                    822: 
                    823:     if ReStartListEmpty() = 0 then
                    824: 
                    825:        SetRestartDir BasePath$
                    826:        i% = DoMsgBox("Setup will now restart Windows to complete installation. Close any MS-DOS applications before continuing.", "Restart Windows", MB_OK+MB_TASKMODAL)
                    827: 
                    828:        i% = ExitExecRestart()
                    829:        i% = DoMsgBox("Restart failed. Run _mssetup.bat from the "+BasePath$+" directory from MS-DOS prompt.", "Restart Windows", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    830:     end if
                    831: 
                    832: '$endif
                    833: 
                    834: 
                    835: QUIT:
                    836:     ON ERROR GOTO ERRQUIT
                    837: 
                    838:     if ERR = 0 THEN
                    839:         dlg% = EXITSUCCESS
                    840: 
                    841:     elseif ERR = STFQUIT THEN
                    842:         dlg% = EXITQUIT
                    843: 
                    844:     else
                    845:         dlg% = EXITFAILURE
                    846:     end if
                    847: 
                    848: QUITL1:
                    849:     while UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") = "REACTIVATE"
                    850:     wend
                    851: 
                    852:     UIPop 1
                    853: 
                    854:     END
                    855: 
                    856: ERRQUIT:
                    857:     i% = DoMsgBox("Setup sources were corrupted, email stevez!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
                    858:     END
                    859: 
                    860: 
                    861: ASKQUIT:
                    862:     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
                    863: 
                    864:     if sz$ = "EXIT" THEN
                    865:         UIPopAll
                    866:         ERROR STFQUIT
                    867:     elseif sz$ = "REACTIVATE" THEN
                    868:         GOTO ASKQUIT
                    869:     else
                    870:         UIPop 1
                    871:     end if
                    872:     RETURN
                    873: 
                    874: Function GetPath(Dialog%, Path$) Static AS INTEGER
                    875: 
                    876:     SetSymbolValue "EditTextIn", Path$
                    877:     SetSymbolValue "EditFocus", "END"
                    878: 
                    879:     sz$ = UIStartDlg(CUIDLL$, Dialog%, "FEditDlgProc", Dialog% + 1, HELPPROC$)
                    880:     NewPath$ = GetSymbolValue("EditTextOut")
                    881: 
                    882:     GetPath = FALSE
                    883: 
                    884:     if sz$ = "CONTINUE" THEN
                    885:        Path$ = NewPath$
                    886:        GetPath = TRUE
                    887:     end if
                    888: 
                    889:     UIPop (1)
                    890:   
                    891: end function
                    892: 
                    893: 
                    894: function GetTransport() Static as INTEGER
                    895: 
                    896:     RemoveSymbol "ListItemsIn"
                    897: 
                    898:     if WindowsRuntime then
                    899:        MakeListFromSectionKeys "ListItemsIn", "wtrans"
                    900:     end if
                    901: 
                    902:     if MSDOSRuntime then
                    903: 
                    904:        MakeListFromSectionKeys "ListTmp", "dtrans"
                    905:        CopyList "ListItemsIn", "ListTmp", FALSE
                    906:     end if
                    907: 
                    908:     GetTransport = FALSE
                    909: 
                    910: RESTART_RUNTIME_OPTION:
                    911:     sz$ = UIStartDlg(CUIDLL$, DlgTransport, "FMultiDlgProc", HlpTransport, HELPPROC$)
                    912:     
                    913:     if sz$ = "CONTINUE" THEN
                    914:        GetTransport = TRUE
                    915: 
                    916:     elseif sz$ = "REACTIVATE" THEN
                    917:        GOTO RESTART_RUNTIME_OPTION
                    918: 
                    919:     end if
                    920: 
                    921:     CopyList "SelectedTransports" , "ListItemsOut", TRUE
                    922: 
                    923:     UIPop(1)
                    924: 
                    925: end function
                    926: 
                    927: 
                    928: '**
                    929: '** Purpose:
                    930: '**     Appends a file name to the end of a directory path,
                    931: '**     inserting a backslash character as needed.
                    932: '** Arguments:
                    933: '**     szDir$  - full directory path (with optional ending "\")
                    934: '**     szFile$ - filename to append to directory
                    935: '** Returns:
                    936: '**     Resulting fully qualified path name.
                    937: '*************************************************************************
                    938: 
                    939: FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
                    940:     if szDir$ = "" THEN
                    941:         MakePath = szFile$
                    942:     elseif szFile$ = "" THEN
                    943:         MakePath = szDir$
                    944:     elseif MID$(szDir$, LEN(szDir$), 1) = "\" THEN
                    945:         MakePath = szDir$ + szFile$
                    946:     else
                    947:         MakePath = szDir$ + "\" + szFile$
                    948:     end if
                    949: END FUNCTION
                    950: 
                    951: FUNCTION GetCheck (index%) STATIC AS INTEGER
                    952: 
                    953:     if GetListItem("CheckItemsState", index%) = "ON" then
                    954:        GetCheck = TRUE
                    955:     else
                    956:        GetCheck = FALSE
                    957:     end if
                    958: 
                    959: END FUNCTION
                    960: 
                    961: 
                    962: Sub CopyList(ListOut$, ListIn$, Truncate%) static
                    963: 
                    964:     if Truncate% <> 0 then
                    965:        RemoveSymbol ListOut$
                    966:     end if
                    967: 
                    968:     for i% = 1 to GetListLength(ListIn$) step 1
                    969:        AddListItem ListOut$, GetListItem(ListIn$, i%)
                    970:     next
                    971: 
                    972: end sub
                    973: 
                    974: function BoolToOnOff (Bool%) static AS String
                    975: 
                    976:     if Bool% then
                    977:         BoolToOnOff$ = "ON"
                    978:     else
                    979:         BoolToOnOff$ = "OFF"
                    980:     end if
                    981: 
                    982: end function
                    983: 
                    984: function FormatSize () static AS String
                    985: 
                    986:     cbMore& = GetCopyListCost ("", "Cost", "")
                    987:     cbSize = val(GetListItem("Cost", asc(BasePath$) - asc("A") + 1)) / 1024
                    988: 
                    989:     if cbSize then
                    990:        FormatSize = str$(cbSize)+"K"
                    991:     else
                    992:        FormatSize = ""
                    993:     end if
                    994: 
                    995:     ClearCopyList
                    996: 
                    997: end function
                    998: 
                    999: 
                   1000: function GetSampleSize () static AS String
                   1001: 
                   1002: 
                   1003:     if SamplesSDK and MSDOSSDK then
                   1004:        AddSectionFilesToCopyList "sample1", SrcDir$, BasePath$
                   1005:        AddSectionFilesToCopyList "sample3", SrcDir$, BasePath$
                   1006:        AddSectionFilesToCopyList "sample4", SrcDir$, BasePath$
                   1007:        AddSectionFilesToCopyList "sample5", SrcDir$, BasePath$
                   1008:        AddSectionFilesToCopyList "sample6", SrcDir$, BasePath$
                   1009:        AddSectionFilesToCopyList "sample7", SrcDir$, BasePath$
                   1010:        AddSectionFilesToCopyList "sample8", SrcDir$, BasePath$
                   1011:        AddSectionFilesToCopyList "sample9", SrcDir$, BasePath$
                   1012:        AddSectionFilesToCopyList "sample10",SrcDir$, BasePath$
                   1013:     end if
                   1014: 
                   1015:     if SamplesSDK and WindowsSDK then
                   1016:        AddSectionFilesToCopyList "wsample2", SrcDir$, BasePath$
                   1017:        AddSectionFilesToCopyList "wsample11",SrcDir$, BasePath$
                   1018:     end if
                   1019: 
                   1020:     GetSampleSize = FormatSize()
                   1021: 
                   1022: end function
                   1023: 
                   1024: function GetDosSize () static AS String
                   1025: 
                   1026:     if MSDOSSDK then
                   1027:        AddSectionFilesToCopyList "include", SrcDir$, BasePath$
                   1028:        AddSectionFilesToCopyList "dinclude", SrcDir$, BasePath$
                   1029:        AddSectionFilesToCopyList "dlib", SrcDir$, BasePath$
                   1030:     end if
                   1031: 
                   1032:     GetDosSize = FormatSize()
                   1033: 
                   1034: end function
                   1035: 
                   1036: function GetDosRunSize () static AS String
                   1037: 
                   1038:     if MSDOSRuntime then
                   1039:        AddSectionFilesToCopyList "druntime", SrcDir$, BasePath$
                   1040:     end if
                   1041: 
                   1042:     GetDosRunSize = FormatSize()
                   1043: 
                   1044: end function
                   1045: 
                   1046: function GetWinSize () static AS String
                   1047: 
                   1048:     if WindowsSDK then
                   1049:        AddSectionFilesToCopyList "include", SrcDir$, BasePath$
                   1050:        AddSectionFilesToCopyList "winclude", SrcDir$, BasePath$
                   1051:        AddSectionFilesToCopyList "wlib", SrcDir$, BasePath$
                   1052:     end if
                   1053: 
                   1054:     GetWinSize = FormatSize()
                   1055: 
                   1056: end function
                   1057: 
                   1058: function GetWinRunSize () static AS String
                   1059: 
                   1060:     if WindowsRuntime then
                   1061:        AddSectionFilesToCopyList "wruntime", SrcDir$, BasePath$
                   1062:     end if
                   1063: 
                   1064:     GetWinRunSize = FormatSize()
                   1065: 
                   1066: end function
                   1067: 
                   1068: 
                   1069: function GetTransportSize () static AS String
                   1070: 
                   1071:     if AllTransports then
                   1072:        RemoveSymbol "SelectedTransports"
                   1073:     end if
                   1074: 
                   1075:     if WindowsRuntime and AllTransports then
                   1076:        MakeListFromSectionKeys "SelectedTransports", "wtrans"
                   1077:     end if
                   1078: 
                   1079:     if MSDOSRuntime and AllTransports then
                   1080: 
                   1081:        MakeListFromSectionKeys "ListTmp", "dtrans"
                   1082:        CopyList "SelectedTransports", "ListTmp", FALSE
                   1083:     end if
                   1084: 
                   1085:     for i% = 1 to GetListLength("SelectedTransports") step 1
                   1086: 
                   1087:        tran$ = GetListItem("SelectedTransports", i%)
                   1088: 
                   1089:        if instr (tran$, "DOS") then
                   1090:            AddSectionKeyFileToCopyList "dtrans", tran$, SrcDir$, BasePath$
                   1091:        else
                   1092:            AddSectionKeyFileToCopyList "wtrans", tran$, SrcDir$, BasePath$
                   1093: 
                   1094:        end if
                   1095:     next
                   1096: 
                   1097:     GetTransportSize = FormatSize()
                   1098: 
                   1099: end function
                   1100: 
                   1101: 
                   1102: function GetHlpSize () static AS String
                   1103: 
                   1104:     if HelpFiles then
                   1105: 
                   1106:        if MSDOSSDK then
                   1107:            AddSectionFilesToCopyList "dHelp", SrcDir$, BasePath$
                   1108:        end if
                   1109: 
                   1110:        if WindowsSDK then
                   1111:            AddSectionFilesToCopyList "wHelp", SrcDir$, BasePath$
                   1112:        end if
                   1113: 
                   1114:     end if
                   1115: 
                   1116:     GetHlpSize = FormatSize()
                   1117: 
                   1118: end function

unix.superglobalmegacorp.com

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