home *** CD-ROM | disk | FTP | other *** search
/ On Hand / On_Hand_From_Softbank_1994_Release_2_Disc_1_1994.iso / 00004 / s / disk1 / myob.in_ / myob.bin
Text File  |  1993-12-22  |  20KB  |  598 lines

  1. DECLARE FUNCTION WGetConfigLastDrive LIB "msdetstf.dll" AS INTEGER
  2. DECLARE FUNCTION GetCopyListCost (szExtraList$, szCostList$, szNeedList$) AS LONG
  3. DECLARE FUNCTION LcbGetCopyListCost LIB "msinsstf.dll" (szExtraList$, szCostList$, szNeedList$) AS LONG
  4. DECLARE FUNCTION LcbGetSizeOfFile LIB "msdetstf.dll" (szFile$) AS LONG
  5. DECLARE FUNCTION FDoesFileExist LIB "msdetstf.dll" (szFileName$, mode%) AS INTEGER
  6. DECLARE FUNCTION FInitializeInstall LIB "msinsstf.dll" (hinst%, hwndFrame%) AS INTEGER
  7. DECLARE FUNCTION InitializeFrame LIB "msshlstf.dll" (szCmdLine$) AS INTEGER
  8. DECLARE FUNCTION FRestoreCursor  LIB "msshlstf.dll" (hPrev%) AS INTEGER
  9. DECLARE FUNCTION HShowWaitCursor LIB "msshlstf.dll" AS INTEGER
  10. DECLARE FUNCTION FAddSectionKeyFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
  11. DECLARE FUNCTION FAddSpecialFileToCopyList LIB "mscomstf.dll" (szSect$, szKey$, szSrc$, szDest$) AS INTEGER
  12. DECLARE FUNCTION FAddSectionFilesToCopyList LIB "mscomstf.dll" (szSect$, szSrc$, szDest$) AS INTEGER
  13. DECLARE FUNCTION FIsDirWritable LIB "msinsstf.dll" (szDir$) AS INTEGER
  14. DECLARE FUNCTION FSetSymbolValue LIB "msshlstf.dll" (szSymbol$, szValue$) AS INTEGER
  15. DECLARE FUNCTION FExitExecRestart LIB "msinsstf.dll" AS INTEGER
  16. DECLARE FUNCTION FSetBitmap LIB "msshlstf.dll" (szDll$, Bitmap%) AS INTEGER
  17. DECLARE FUNCTION HwndFrame LIB "msshlstf.dll" AS INTEGER
  18. DECLARE FUNCTION LcbFreeDrive LIB "msdetstf.dll" (nDrive%) AS LONG
  19. DECLARE FUNCTION GetVersion LIB "kernel" AS INTEGER
  20. DECLARE FUNCTION CbGetSymbolValue LIB "mscomstf.dll" (szSymbol$, szValue$, Length%) AS INTEGER
  21. DECLARE FUNCTION CbGetInfSectionKeyField LIB "mscomstf.dll" (szSect$, szKey$, iField%, szBuf$, cbBuf%) AS INTEGER
  22. DECLARE FUNCTION FOpenInf LIB "mscomstf.dll" (szFile$, fCheck%, fCheckSyms%) AS INTEGER
  23. DECLARE FUNCTION FKillNDialogs LIB "msuilstf.dll" (n%) AS INTEGER
  24. DECLARE FUNCTION CbGetListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$, cbMax%) AS INTEGER
  25. DECLARE FUNCTION UsGetListLength LIB "mscomstf.dll" (szSymbol$) AS INTEGER
  26. DECLARE FUNCTION GetSystemDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  27. DECLARE FUNCTION GetWindowsDirectory LIB "kernel" (szBuf$, cbBuf%) AS INTEGER
  28. DECLARE FUNCTION FCreateDir LIB "msinsstf.dll" (szDir$, cmo%) AS INTEGER
  29. DECLARE FUNCTION FAddListItem LIB "mscomstf.dll" (szListSymbol$, szListItem$) AS INTEGER
  30. DECLARE FUNCTION FReplaceListItem LIB "mscomstf.dll" (szListSymbol$, n%, szListItem$) AS INTEGER
  31. DECLARE FUNCTION FDoDialog LIB "msuilstf.dll" (hwnd%, szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS INTEGER
  32. DECLARE FUNCTION FClearBillboardList LIB "msinsstf.dll" AS INTEGER
  33. DECLARE FUNCTION FAddToBillboardList LIB "msinsstf.dll" (szDll$, idDlg%, szProc$, lTicks&) AS INTEGER
  34. DECLARE FUNCTION GrcCopyFilesInCopyList LIB "msinsstf.dll" (hInstance%) AS INTEGER
  35. DECLARE FUNCTION HinstFrame LIB "msshlstf.dll" AS INTEGER
  36. DECLARE FUNCTION FCreateProgManGroup LIB "msinsstf.dll" (szGroup$, szPath$, cmo%) AS INTEGER
  37. DECLARE FUNCTION FCreateProgManItem LIB "msinsstf.dll" (szGroup$, szItem$, szCmd$, cmo%) AS INTEGER
  38. DECLARE FUNCTION FShowProgManGroup LIB "msinsstf.dll" (szGroup$, szCmd$, cmo%) AS INTEGER
  39. DECLARE FUNCTION FRestartListEmpty LIB "msinsstf.dll" AS INTEGER
  40. DECLARE FUNCTION DoMsgBox LIB "mscomstf.dll" (lpText$,lpCaption$,wType%) As INTEGER
  41. DECLARE FUNCTION FSetRestartDir LIB "msinsstf.dll" (szDir$) AS INTEGER
  42. DECLARE FUNCTION FSetSymbolToListOfInfKeys LIB "mscomstf.dll" (szSym$, szSect$, fNulls%) AS INTEGER
  43. DECLARE SUB ResetCopyList LIB "msinsstf.dll"
  44. DECLARE SUB SetWindowText LIB "User" (hwnd%, lpString$)
  45. DECLARE SUB ProSetPos LIB "msinsstf.dll" (x%, y%)
  46.  
  47. DECLARE FUNCTION ExitExecRestart AS INTEGER
  48. DECLARE FUNCTION GetFreeSpaceForDrive (szDrive$) AS LONG
  49. DECLARE FUNCTION GetListItem(szSymbol$, n%) AS STRING
  50. DECLARE FUNCTION GetSizeOfFile (szFile$) AS LONG
  51. DECLARE FUNCTION GetListLength(szSymbol$) AS INTEGER
  52. DECLARE FUNCTION GetSectionKeySize (szSect$, szKey$) AS LONG
  53. DECLARE FUNCTION DoesFileExist (szFile$, mode%) AS INTEGER
  54. DECLARE FUNCTION GetSymbolValue (szSymbol$) AS STRING
  55. DECLARE FUNCTION GetWindowsMajorVersion AS INTEGER
  56. DECLARE FUNCTION GetWindowsMinorVersion AS INTEGER
  57. DECLARE FUNCTION ShowWaitCursor AS INTEGER
  58. DECLARE FUNCTION GetWindowsDir  AS STRING
  59. DECLARE FUNCTION GetSectionKeyFilename (szSect$, szKey$) AS STRING
  60. DECLARE FUNCTION GetWindowsSysDir AS STRING
  61. DECLARE FUNCTION RestartListEmpty AS INTEGER
  62. DECLARE FUNCTION IsDirWritable (szDir$) AS INTEGER
  63. DECLARE FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) AS STRING
  64. DECLARE SUB AddListItem(szSymbol$, szItem$)
  65. DECLARE SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&)
  66. DECLARE SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
  67. DECLARE SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$)
  68. DECLARE SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$)
  69. DECLARE SUB ClearBillboardList
  70. DECLARE SUB ClearCopyList
  71. DECLARE SUB CopyFilesInCopyList
  72. DECLARE SUB CreateDir (szDir$, cmo%)
  73. DECLARE SUB CreateProgmanGroup (szGroup$, szPath$, cmo%)
  74. DECLARE SUB SetSymbolValue (szSymbol$, szValue$)
  75. DECLARE SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%)
  76. DECLARE SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%)
  77. DECLARE SUB MakeListFromSectionKeys (szSymbol$, szSection$)
  78. DECLARE SUB RestoreCursor (hPrev%)
  79. DECLARE SUB ReplaceListItem(szSymbol$, n%, szItem$)
  80. DECLARE SUB ReadInfFile (szFile$)
  81. DECLARE SUB SetBitmap(szDll$, Bitmap%)
  82. DECLARE SUB SetRestartDir(szDir$)
  83. DECLARE SUB SetTitle (sz$)
  84. DECLARE SUB SetCopyGaugePosition (x%, y%)
  85. DECLARE SUB UIPop (n%)
  86. DECLARE SUB UIPopAll
  87.  
  88.  
  89. DECLARE FUNCTION InitFrame (szCmdLine$) AS INTEGER
  90. DECLARE FUNCTION InitSetup (szCmdLine$) AS INTEGER
  91. DECLARE SUB InitInstall
  92.  
  93.  
  94. ''ON ERROR Error Codes
  95. CONST STFERR      = 1024   ''setup system error
  96. CONST STFQUIT     = 1025   ''user quit
  97.  
  98. CONST scmOff      = 0
  99. CONST scmOnIgnore = 1
  100. CONST scmOnFatal  = 2
  101.  
  102. CONST SM_CXSCREEN = 0
  103. CONST SM_CYSCREEN = 1
  104.  
  105. CONST WF_80x87    = 1024
  106. CONST WF_CPU186   =  128
  107. CONST WF_CPU286   =    2
  108. CONST WF_CPU386   =    4
  109. CONST WF_CPU486   =    8
  110. CONST WF_STANDARD =   16
  111. CONST WF_ENHANCED =   32
  112.  
  113.  
  114.  
  115. '' DoMsgBox Flags
  116. CONST MB_OK         = 0
  117. CONST MB_OKCANCEL       = 1
  118. CONST MB_ICONHAND       = 16
  119. CONST MB_ICONINFORMATION    = 64
  120. CONST MB_TASKMODAL      = 8192
  121. CONST IDOK          = 1
  122. CONST IDCANCEL          = 2
  123.  
  124. CONST cbSymValMax = 512
  125.  
  126. ''Command Option Flags
  127. CONST cmoVital       = 1
  128. CONST cmoCopy        = 2
  129. CONST cmoUndo        = 4
  130. CONST cmoRoot        = 8
  131. CONST cmoDecompress  = 16
  132. CONST cmoTimeStamp   = 32
  133. CONST cmoReadOnly    = 64
  134. CONST cmoBackup      = 128
  135. CONST cmoForce       = 256
  136. CONST cmoRemove      = 512
  137. CONST cmoOverwrite   = 1024
  138. CONST cmoAppend      = 2048
  139. CONST cmoPrepend     = 4096
  140. CONST cmoNone        = 0
  141. CONST cmoAll         = 65535
  142.  
  143.  
  144. ''File Exist Modes
  145. CONST femExists     = 0
  146. CONST femRead       = 1
  147. CONST femWrite      = 2
  148. CONST femReadWrite  = 3
  149.  
  150.  
  151. ''Read-Only Return Code
  152. CONST ynrcNo         = 0
  153. CONST ynrcYes        = 1
  154. CONST ynrcErr1       = 2
  155. CONST ynrcErr2       = 3
  156. CONST ynrcErr3       = 4
  157. CONST ynrcErr4       = 5
  158. CONST ynrcErr5       = 6
  159. CONST ynrcErr6       = 7
  160. CONST ynrcErr7       = 8
  161. CONST ynrcErr8       = 9
  162. CONST ynrcErr9       = 10
  163.  
  164.  
  165. ''General Return Codes
  166. CONST grcOkay       = 0
  167. CONST grcNotOkay    = 1
  168. CONST grcUserQuit   = 48
  169.  
  170. GLOBAL hSetup AS INTEGER
  171. GLOBAL fFrameInit AS INTEGER
  172. GLOBAL fInstallInit AS INTEGER
  173.  
  174.  
  175. '*************************************************************************
  176. '*****************  Setup Basic Wrapper Definitions  *********************
  177. '*************************************************************************
  178. FUNCTION InitSetup(szCmdLine$) STATIC AS INTEGER
  179.     fFrameInit = 0
  180.     fInstallInit = 0
  181.  
  182.     IF hSetup > 0 THEN
  183.     END IF
  184.  
  185.     i% = InitFrame(szCmdLine$)
  186.     fFrameInit = 1
  187.  
  188.     InitInstall
  189.     fInstallInit = 1
  190.  
  191.     InitSetup = i%
  192. END FUNCTION
  193.  
  194.  
  195.  
  196. '**************************************************************************
  197. FUNCTION InitFrame(szCmdLine$) STATIC AS INTEGER
  198.     i% = InitializeFrame(szCmdLine$)
  199.     IF i% = -1 THEN
  200.     END   '' NOT an error - Usage (/?) or Command line copy operation
  201.     ELSEIF i% = 0 THEN
  202.     END
  203.     ELSE
  204.     InitFrame = i%
  205.     END IF
  206. END FUNCTION
  207.  
  208. '*************************************************************************
  209. SUB InitInstall STATIC
  210.     IF FInitializeInstall(HinstFrame(), HwndFrame()) = 0 THEN
  211.     END
  212.     END IF
  213. END SUB
  214.  
  215.  
  216. '*************************************************************************
  217. FUNCTION GetFreeSpaceForDrive (szDrive$) STATIC  AS LONG
  218.     GetFreeSpaceForDrive = LcbFreeDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
  219. END FUNCTION
  220.  
  221.  
  222. '**************************************************************************
  223. SUB SetBitmap(szDll$, Bitmap%) STATIC
  224.     IF FSetBitmap(szDll$, Bitmap%) = 0 THEN
  225.     ERROR STFERR
  226.     END IF
  227. END SUB
  228.  
  229. '*************************************************************************
  230. SUB SetTitle(sz$) STATIC
  231.     SetWindowText HwndFrame(), sz$
  232. END SUB
  233.  
  234. ''' -1 in either parameter will mean 'center in frame client area'
  235. '*************************************************************************
  236. SUB SetCopyGaugePosition (x%, y%) STATIC
  237.     ProSetPos x%, y%
  238. END SUB
  239.  
  240.  
  241. '*************************************************************************
  242. FUNCTION GetWindowsMajorVersion STATIC AS INTEGER
  243.     GetWindowsMajorVersion = GetVersion() MOD 256
  244. END FUNCTION
  245.  
  246.  
  247. '*************************************************************************
  248. FUNCTION GetWindowsMinorVersion STATIC AS INTEGER
  249.     GetWindowsMinorVersion = GetVersion() / 256
  250. END FUNCTION
  251.  
  252. '*************************************************************************
  253. FUNCTION GetSymbolValue(szSymbol$) STATIC AS STRING
  254.     szValue$ = string$(cbSymValMax,32)
  255.     Length% = CbGetSymbolValue(szSymbol$, szValue$, cbSymValMax)
  256.     GetSymbolValue = szValue$
  257.     IF Length% >= cbSymValMax THEN
  258.     ERROR STFERR
  259.     END IF
  260.     IF szSymbol$ = "" THEN
  261.     ERROR STFERR
  262.     END IF
  263.     szValue$ = ""
  264. END FUNCTION
  265.  
  266. '*************************************************************************
  267. SUB ReadInfFile (szFile$) STATIC
  268.     IF FOpenInf(szFile$, 1, 0) = 0 THEN
  269.     ERROR STFERR
  270.     END IF
  271. END SUB
  272.  
  273. '*************************************************************************
  274. FUNCTION GetWindowsDir STATIC AS STRING
  275.     szBuf$ = string$(256, 32)
  276.     cbBuf% = GetWindowsDirectory(szBuf$, 256)
  277.  
  278.     IF cbBuf% = 0 THEN
  279.         GetWindowsDir = ""
  280.     ERROR STFERR
  281.     ELSE
  282.         IF cbBuf% > 255 THEN
  283.         ERROR STFERR
  284.         END IF
  285.         szBuf$ = RTRIM$(szBuf$)
  286.         IF MID$(szBuf$, 1, 1) = "\" THEN
  287.         szBuf$ = MID$(GetWindowsSysDir, 1, 2) + szBuf$
  288.         ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  289.             szBuf$ = MID$(GetWindowsSysDir, 1, 3) + szBuf$
  290.         END IF
  291.         IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
  292.             szBuf$ = szBuf$ + "\"
  293.         END IF
  294.         GetWindowsDir = szBuf$
  295.     END IF
  296.  
  297.     szBuf$ = ""
  298. END FUNCTION
  299.  
  300. '*************************************************************************
  301. FUNCTION GetWindowsSysDir STATIC AS STRING
  302.     szBuf$ = string$(256, 32)
  303.     cbBuf% = GetSystemDirectory(szBuf$, 256)
  304.  
  305.     IF cbBuf% = 0 THEN
  306.     ERROR STFERR
  307.     ELSE
  308.         IF cbBuf% > 255 THEN
  309.         ERROR STFERR
  310.         END IF
  311.         szBuf$ = RTRIM$(szBuf$)
  312.         IF MID$(szBuf$, 1, 1) = "\" THEN
  313.             szBuf$ = MID$(CURDIR$, 1, 2) + szBuf$
  314.         ELSEIF MID$(szBuf$, 2, 1) <> ":" THEN
  315.             szBuf$ = MID$(CURDIR$, 1, 3) + szBuf$
  316.         END IF
  317.         IF MID$(szBuf$, LEN(szBuf$), 1) <> "\" THEN
  318.             szBuf$ = szBuf$ + "\"
  319.         END IF
  320.         GetWindowsSysDir = szBuf$
  321.     END IF
  322.  
  323.     szBuf$ = ""
  324. END FUNCTION
  325.  
  326. '*************************************************************************
  327. SUB AddListItem(szSymbol$, szItem$) STATIC
  328.     IF FAddListItem(szSymbol$, szItem$) = 0 THEN
  329.     ERROR STFERR
  330.     END IF
  331. END SUB
  332.  
  333. '*************************************************************************
  334. SUB ReplaceListItem(szSymbol$, n%, szItem$) STATIC
  335.     IF FReplaceListItem(szSymbol$, n%, szItem$) = 0 THEN
  336.     ERROR STFERR
  337.     END IF
  338. END SUB
  339.  
  340. '*************************************************************************
  341. FUNCTION GetSectionKeySize (szSect$, szKey$) STATIC AS LONG
  342.     szBuf$ = string$(128, 32)
  343.     Length% = CbGetInfSectionKeyField(szSect$, szKey$, 15, szBuf$, 128)
  344.     IF Length% >= 128 THEN
  345.     ERROR STFERR
  346.     END IF
  347.  
  348.     IF Length% = -1 THEN
  349.     ERROR STFERR
  350.     END IF
  351.  
  352.     GetSectionKeySize = VAL(szBuf$)
  353.     szBuf$ = ""
  354. END FUNCTION
  355.  
  356. '*************************************************************************
  357. FUNCTION UIStartDlg(szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) STATIC AS STRING
  358.     IF FDoDialog(HwndFrame(), szDll$, Dlg%, szDlgProc$, HelpDlg%, szHelpProc$) = 0 THEN
  359.     ERROR STFERR
  360.     ELSE
  361.         UIStartDlg = GetSymbolValue("DLGEVENT")
  362.     END IF
  363. END FUNCTION
  364.  
  365. '*************************************************************************
  366. FUNCTION GetListLength(szSymbol$) STATIC AS INTEGER
  367.     GetListLength = UsGetListLength(szSymbol$)
  368.     IF szSymbol$ = "" THEN
  369.         ERROR STFERR
  370.     END IF
  371. END FUNCTION
  372.  
  373. '*************************************************************************
  374. FUNCTION GetListItem(szListSymbol$, nItem%) STATIC AS STRING
  375.     szListItem$ = string$(cbSymValMax,32)
  376.     Length% = CbGetListItem(szListSymbol$, nItem%, szListItem$, cbSymValMax)
  377.     GetListItem = szListItem$
  378.     IF Length% >= cbSymValMax THEN
  379.     ERROR STFERR
  380.     END IF
  381.     IF szListSymbol$ = "" THEN
  382.         ERROR STFERR
  383.     END IF
  384.     if nItem% <= 0 or nItem% > GetListLength(szListSymbol$) then
  385.         ERROR STFERR
  386.     end if
  387.     szListItem$ = ""
  388. END FUNCTION
  389.  
  390. '*************************************************************************
  391. SUB UIPop (n%) STATIC
  392.     IF FKillNDialogs(n%) = 0 THEN
  393.     ERROR STFERR
  394.     END IF
  395. END SUB
  396.  
  397.  
  398. '*************************************************************************
  399. SUB UIPopAll STATIC
  400.     IF FKillNDialogs(65535) = 0 THEN
  401.     ERROR STFERR
  402.     END IF
  403. END SUB
  404.  
  405. '*************************************************************************
  406. SUB ClearCopyList STATIC
  407.     ResetCopyList
  408. END SUB
  409.  
  410. '*************************************************************************
  411. SUB CreateDir (szDir$, cmo%) STATIC
  412.     IF FCreateDir(szDir$, cmo%) = 0 THEN
  413.     ERROR STFERR
  414.     END IF
  415. END SUB
  416.  
  417. '*************************************************************************
  418. SUB ClearBillboardList STATIC
  419.     IF FClearBillboardList = 0 THEN
  420.     ERROR STFERR
  421.     END IF
  422. END SUB
  423.  
  424. '*************************************************************************
  425. SUB AddToBillboardList (szDll$, idDlg%, szProc$, lTicks&) STATIC
  426.     IF FAddToBillboardList(szDll$, idDlg%, szProc$, lTicks&) = 0 THEN
  427.     ERROR STFERR
  428.     END IF
  429. END SUB
  430.  
  431. '*************************************************************************
  432. SUB CopyFilesInCopyList STATIC
  433.     grc% = GrcCopyFilesInCopyList (HinstFrame())
  434.  
  435.     IF grc% = grcUserQuit THEN
  436.         ERROR STFQUIT
  437.     ELSEIF grc% > 0 THEN
  438.     ERROR STFERR
  439.     END IF
  440. END SUB
  441.  
  442. '*************************************************************************
  443. SUB CreateProgmanGroup (szGroup$, szPath$, cmo%) STATIC
  444.     IF FCreateProgManGroup(szGroup$, szPath$, cmo%) = 0 THEN
  445.     ERROR STFERR
  446.     END IF
  447. END SUB
  448.  
  449.  
  450. '*************************************************************************
  451. SUB ShowProgmanGroup (szGroup$, Cmd%, cmo%) STATIC
  452.     IF FShowProgManGroup(szGroup$, STR$(Cmd%), cmo%) = 0 THEN
  453.     ERROR STFERR
  454.     END IF
  455. END SUB
  456.  
  457. '*************************************************************************
  458. SUB CreateProgmanItem (szGroup$, szItem$, szCmd$, szOther$, cmo%) STATIC
  459.     szItemNew$ = szItem$
  460.     IF szOther$ <> "" THEN
  461.         szItemNew$ = szItem$ + "," + szOther$
  462.     END IF
  463.  
  464.     IF FCreateProgManItem(szGroup$, szItemNew$, szCmd$, cmo%) = 0 THEN
  465.     ERROR STFERR
  466.     END IF
  467.     szItemNew$ = ""
  468. END SUB
  469.  
  470. '*************************************************************************
  471. FUNCTION RestartListEmpty STATIC AS INTEGER
  472.     IF FRestartListEmpty() = 0 THEN
  473.         RestartListEmpty = 0
  474.     ELSE
  475.         RestartListEmpty = 1
  476.     END IF
  477. END FUNCTION
  478.  
  479. '*************************************************************************
  480. SUB SetRestartDir (szDir$) STATIC
  481.     IF FSetRestartDir(szDir$) = 0 THEN
  482.     ERROR STFERR
  483.     END IF
  484. END SUB
  485.  
  486. '*************************************************************************
  487. FUNCTION ExitExecRestart STATIC AS INTEGER
  488.     ExitExecRestart = FExitExecRestart
  489. END FUNCTION
  490.  
  491. '*************************************************************************
  492. SUB SetSymbolValue(szSymbol$, szValue$) STATIC
  493.     IF FSetSymbolValue(szSymbol$, szValue$) = 0 THEN
  494.     ERROR STFERR
  495.     END IF
  496. END SUB
  497.  
  498. '*************************************************************************
  499. FUNCTION IsDirWritable (szDir$) STATIC AS INTEGER
  500.     IsDirWritable = FIsDirWritable(szDir$)
  501. END FUNCTION
  502.  
  503. '*************************************************************************
  504. SUB AddSectionFilesToCopyList (szSect$, szSrc$, szDest$) STATIC
  505.     IF FAddSectionFilesToCopyList (szSect$, szSrc$, szDest$) = 0 THEN
  506.     ERROR STFERR
  507.     END IF
  508. END SUB
  509.  
  510. '*************************************************************************
  511. SUB AddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
  512.     IF FAddSpecialFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
  513.     ERROR STFERR
  514.     END IF
  515. END SUB
  516.  
  517. '*************************************************************************
  518. FUNCTION GetSectionKeyFilename (szSect$, szKey$) STATIC AS STRING
  519.     szBuf$ = string$(128, 32)
  520.     Length% = CbGetInfSectionKeyField(szSect$, szKey$, 1, szBuf$, 128)
  521.     IF Length% >= 128 THEN
  522.         res% = DoMsgBox("Buffer Overflow", "MS-Setup Error", MB_ICONHAND+MB_OK)
  523.         ERROR STFERR
  524.     END IF
  525.  
  526.     IF Length% = -1 THEN
  527.     ERROR STFERR
  528.     END IF
  529.  
  530.     GetSectionKeyFilename = szBuf$
  531.     szBuf$ = ""
  532. END FUNCTION
  533.  
  534. '*************************************************************************
  535. SUB AddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) STATIC
  536.     IF FAddSectionKeyFileToCopyList (szSect$, szKey$, szSrc$, szDest$) = 0 THEN
  537.     ERROR STFERR
  538.     END IF
  539. END SUB
  540.  
  541. '*************************************************************************
  542. FUNCTION ShowWaitCursor STATIC AS INTEGER
  543.     ShowWaitCursor = HShowWaitCursor
  544. END FUNCTION
  545.  
  546. '*************************************************************************
  547. SUB RestoreCursor (hPrev%) STATIC
  548.     i% = FRestoreCursor(hPrev%)
  549.     IF i% = 0 THEN
  550.     ERROR STFERR
  551.     END IF
  552. END SUB
  553.  
  554. '*************************************************************************
  555. FUNCTION DoesFileExist (szFileName$, mode%) STATIC  AS INTEGER
  556.     DoesFileExist = FDoesFileExist(szFileName$, mode%)
  557. END FUNCTION
  558.  
  559. '*************************************************************************
  560. FUNCTION GetSizeOfFile (szFile$) STATIC  AS LONG
  561.     GetSizeOfFile = LcbGetSizeOfFile(szFile$)
  562. END FUNCTION
  563.  
  564. '**************************************************************************
  565. SUB MakeListFromSectionKeys(szSymbol$, szSect$) STATIC
  566.     IF FSetSymbolToListOfInfKeys(szSymbol$, szSect$, 1) = 0 THEN
  567.     ERROR STFERR
  568.     END IF
  569. END SUB
  570.  
  571. '**************************************************************************
  572. FUNCTION GetCopyListCost (szExtraList$, szCostList$, szNeedList$) STATIC AS LONG
  573.     lNeed& = LcbGetCopyListCost (szExtraList$, szCostList$, szNeedList$)
  574.     IF lNeed& < 0 THEN
  575. '$ifdef DEBUG
  576.         StfApiErr saeFail, "GetCopyListCost", szExtraList$+", "+szCostList$+", "+szNeedList$
  577. '$endif ''DEBUG
  578.         ERROR STFERR
  579.     END IF
  580.     GetCopyListCost = lNeed&
  581. END FUNCTION
  582.  
  583.  
  584.  
  585.  
  586. '*************************************************************************
  587. '           M A I N
  588. '*************************************************************************
  589.  
  590. TRAP CleanupTrap From "MSSHLSTF.DLL"
  591.  
  592. End Trap
  593.  
  594. hSetup = InitSetup(COMMAND$)
  595.  
  596. ON ERROR GOTO QUIT
  597.  
  598.