home *** CD-ROM | disk | FTP | other *** search
/ Cómo funcionan las cosas / DKMMTWTW.iso / dksetup / dkgen.inc < prev    next >
Text File  |  1995-07-27  |  23KB  |  662 lines

  1. '12/03/95 Alternative function added, readme icon has shortened name
  2.  
  3. '$INCLUDE 'setupapi.inc'
  4. '$INCLUDE 'msdetect.inc'
  5. '$INCLUDE 'dklang.inc'
  6.  
  7. CONST SOURCE_BINARIES_SUBDIR = "DKCODE"
  8. CONST SOURCE_SETUP_SUBDIR = "DKSETUP"
  9. CONST SETUP_INF_FILENAME = "SETUP.INF"
  10. CONST CUIDLL_FILENAME = "mscuistf.dll"
  11. CONST SETUP_INI_BINARIES_SECTION_NAME = "BIN"
  12. CONST SETUP_INI_WING_BINARIES_NAME = "WinG Runtime"
  13. CONST SETUP_INI_WING32_BINARIES_NAME = "WinG32"
  14. CONST SETUP_INI_ACM_SECTION_NAME = "ACM Drivers"
  15. CONST SETUP_INI_FONTS_SECTION_NAME = "Fonts"
  16.  
  17. CONST PRODUCT_INI_DIR_SECTION_NAME = "Directory"
  18. CONST PRODUCT_INI_DIR_ENTRY_NAME = "Data"
  19.  
  20. CONST MINIMUM_DISK_SPACE = 2048 ' For Minimum install
  21.  
  22. ' Procs
  23. CONST PROC_HELP = "FHelpDlgProc"
  24.  
  25. DECLARE FUNCTION ExitWindowsExec LIB "USER.EXE" (szEXE$, szParams$) AS INTEGER
  26.  
  27. DECLARE FUNCTION Ctl3dRegister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  28. DECLARE FUNCTION Ctl3dUnregister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  29. DECLARE FUNCTION Ctl3dAutoSubClass LIB "CTL3D.DLL" (hInst%) AS INTEGER
  30.  
  31. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  32. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  33. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  34. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  35. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  36. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  37.  
  38. DECLARE FUNCTION FIsVGA LIB "mscuistf.dll" AS INTEGER
  39. DECLARE FUNCTION FIs256Colour LIB "mscuistf.dll" AS INTEGER
  40. DECLARE FUNCTION Welcome() AS INTEGER
  41. DECLARE FUNCTION TestSystem() AS INTEGER
  42. DECLARE FUNCTION GetDiskSpaceNeeded(drive%) AS LONG
  43. DECLARE SUB Initialise(prodName$, defInstallPath$, msgCaption$)
  44. DECLARE SUB DeInitialise()
  45. DECLARE SUB AskQuit()
  46. DECLARE SUB BadPath()
  47. DECLARE SUB NetworkDrive()
  48. DECLARE SUB UpdateIndeoAVIDrivers()
  49. DECLARE SUB UpdateWinGDrivers()
  50. DECLARE SUB UpdateADPCMDrivers()
  51. DECLARE SUB UpdateProgramManager(prodName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  52. DECLARE SUB UpdateProgramManagerAlt(prodName$, readmeName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54. DECLARE FUNCTION GetRealWindowsSysDir AS STRING
  55. DECLARE SUB UpdateWinG32 (szOrig$)
  56. DECLARE SUB HandleRestart()
  57. DECLARE SUB InitCommonInstall()
  58. DECLARE SUB EndCommonInstall(appReadmeFile$, inRoot%)
  59.  
  60. ' Error messages
  61. CONST ERR_OK = 100
  62. CONST ERR_EXITFAIL = 101
  63. CONST ERR_WINVERFAIL = 102
  64. CONST ERR_NODISKSPACE = 103
  65.  
  66. ' Navigation messages
  67. CONST NAV_FORWARD = 0
  68. CONST NAV_BACK = 1
  69.  
  70.  
  71. ' Bitmap ID
  72. CONST LOGO = 1
  73.  
  74. ' Dialog ID's
  75. CONST IDD_WELCOME       = 100
  76. CONST IDD_CUSTOMHELP    = 106
  77. CONST IDD_SPEED         = 111
  78. CONST IDD_ASKQUIT       = 200
  79. CONST IDD_DESTPATH      = 300
  80. CONST IDD_EXITFAILURE   = 400
  81. CONST IDD_EXITQUIT      = 600
  82. CONST IDD_EXITSUCCESS   = 700
  83. CONST IDD_APPHELP       = 900
  84. CONST IDD_DONENEWSYSSOFT    = 1100
  85. CONST IDD_DONENOSYSSOFT     = 1800
  86. CONST IDD_NEWSYSTEMSOFTWARE = 2300
  87. CONST IDD_NEWADPCM      = 2600
  88. CONST IDD_WARNNOSYSSOFT = 3100
  89. CONST IDD_MAILMAN       = 1500
  90. CONST IDD_CUSTOM        = 6200
  91. CONST IDD_BADPATH       = 6400
  92. CONST IDD_NEED31        = 6401
  93. CONST IDD_NOMOUSE       = 6402
  94. CONST IDD_BADVGA        = 6403
  95. CONST IDD_NOT256        = 6404
  96. CONST IDD_POORMACHINE   = 6405
  97. CONST IDD_AWFULMACHINE  = 6406
  98. CONST IDD_PATHHELP      = 6407
  99. CONST IDD_WHIZZHELP     = 6408
  100. CONST IDD_URKADPCM      = 6409
  101. CONST IDD_ADPCMHELP     = 6410
  102. CONST IDD_NODISKSPACE   = 6411
  103. CONST IDD_NETWORKDRIVE  = 6412
  104.  
  105.  
  106. GLOBAL szWinPath As String
  107. GLOBAL szWinSysPath As String
  108. GLOBAL szWinDrive As String
  109. GLOBAL szSrcSetupPath As String
  110. GLOBAL szSrcBinPath As String
  111. GLOBAL szDestPath As String
  112. GLOBAL szOldDestPath As String
  113. GLOBAL szPengePath As String
  114. GLOBAL szINFPath As String
  115. GLOBAL szAppINIPath As String
  116. GLOBAL szMsgCaption As String
  117. GLOBAL szButton As String
  118. GLOBAL szMinimalInstall As String
  119. GLOBAL szAddPMItem As String
  120. GLOBAL szExpressCustomChoice As String
  121.  
  122. GLOBAL fPreviousMode As Integer
  123. GLOBAL fWillNotFit As Integer
  124. GLOBAL fSystemUpdated As Integer
  125. GLOBAL hDlg As Integer
  126. GLOBAL dButton As Integer
  127. GLOBAL dWinDrive As Integer
  128. GLOBAL dDestDrive As Integer
  129. GLOBAL dCursor As Integer
  130.  
  131.  
  132. Sub InitCommonInstall() STATIC
  133.     AddToBillboardList CUIDLL_FILENAME, IDD_MAILMAN, "MailmanDlgProc", 2500
  134.     SetCopyGaugePosition -1, 150
  135. End Sub
  136.  
  137. Sub EndCommonInstall(appReadmeFile$, inRoot%) STATIC
  138.     if RestartListEmpty = 0 or fSystemUpdated = 1 then
  139.         hDlg = IDD_DONENEWSYSSOFT
  140.     else
  141.         hDlg = IDD_DONENOSYSSOFT
  142.     end if
  143.  
  144. QuitLoop:
  145.     szButton = UIStartDlg(CUIDLL_FILENAME, hDlg, "FInfoDlgProc", 0, "")
  146.     select case szButton
  147.     case "REACTIVATE"
  148.         goto QuitLoop
  149.     case "CONTINUE"
  150.         if inRoot% = 1 then
  151.             szReadMe$ = MakePath( mid$(szSrcSetupPath, 1, (len(szSrcSetupPath) - len(SOURCE_SETUP_SUBDIR))-1), appReadmeFile$)
  152.         else
  153.             szReadMe$ = MakePath(szSrcBinPath, appReadmeFile$)
  154.         end if
  155.         run "notepad.exe " + szReadMe$, NOWAIT
  156.         goto QuitLoop
  157.     case "BACK"
  158.         HandleRestart
  159.     case "EXIT"
  160.         if hDlg = IDD_DONENEWSYSSOFT then
  161.             dButton = DoMsgBox( STR_SYSMESSAGE, szMsgCaption$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  162.         end if
  163.     end select
  164.  
  165.     UIPop 1
  166. End Sub
  167.  
  168.  
  169.  
  170. Sub Initialise(prodName$, defInstallPath$, msgCaption$) STATIC
  171.     ret% = Ctl3dRegister(HinstFrame())
  172.     ret% = Ctl3dAutoSubClass(HinstFrame())
  173.  
  174.     szMsgCaption$ = msgCaption$
  175.  
  176.     cursor% = ShowWaitCursor()
  177.  
  178.     ClearCopyList
  179.     szWinSysPath = ucase$(GetWindowsSysDir ())
  180.     szWinPath = ucase$(GetWindowsDir ())
  181.     dWinDrive = asc(mid$((szWinPath), 1,1)) - asc("A")+1
  182.     szWinDrive = mid$(szWinPath, 1,1)
  183.  
  184.     szSrcSetupPath = ucase$(GetSymbolValue ("STF_SRCDIR"))
  185.     szSrcBinPath = mid$(szSrcSetupPath, 1, (len(szSrcSetupPath) - len(SOURCE_SETUP_SUBDIR))-1) + SOURCE_BINARIES_SUBDIR
  186.     szDestPath = szWinDrive + ":" + defInstallPath$
  187.  
  188.     SetTitle szMsgCaption$
  189.     SetBitmap CUIDLL_FILENAME, 1
  190.     SetAbout prodName$, STR_COPYRIGHT
  191.  
  192.     fPreviousMode = SetBeepingMode (1)
  193.     fPreviousMode = SetDecompMode (1)
  194.     fPreviousMode = SetSilentMode (0)
  195.  
  196.     szINFPath = ucase$(GetSymbolValue("STF_SRCINFPATH"))
  197.     if szINFPath = "" then
  198.         szINFPath = ucase$(GetSymbolValue("STF_CWDDIR")) + SETUP_INF_FILENAME
  199.     end if
  200.     ReadInfFile szINFPath
  201.  
  202.     szExpressCustomChoice = "EXPRESS"
  203.     szMinimalInstall = "OFF"
  204.     szAddPMItem = "ON"
  205.  
  206.     fSystemUpdated = 0
  207.  
  208.     RestoreCursor(cursor%)
  209. End Sub
  210.  
  211.  
  212. Sub DeInitialise() STATIC
  213.     ret% = Ctl3dRegister(HinstFrame())
  214. End Sub
  215.  
  216.  
  217. Sub AskQuit() STATIC
  218. begin:
  219.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_ASKQUIT, "FQuitDlgProc", 0, "")
  220.     select case szButton
  221.     case "REACTIVATE"
  222.         goto begin
  223.     case "EXIT"
  224.         error STFQUIT
  225.     case "CONTINUE"
  226.         UIPop 1
  227.     end select
  228. End Sub
  229.  
  230. Sub BadPath() STATIC
  231. begin:
  232.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_BADPATH, "FInfo0DlgProc", 0, "")
  233.     select case szButton
  234.     case "REACTIVATE"
  235.         goto begin
  236.     end select
  237.     UIPop 1
  238. End Sub
  239.  
  240. Sub NetworkDrive() STATIC
  241. begin:
  242.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_NETWORKDRIVE, "FInfo0DlgProc", 0, "")
  243.     select case szButton
  244.     case "REACTIVATE"
  245.         goto begin
  246.     end select
  247.     UIPop 1
  248. End Sub
  249.  
  250.  
  251. Function Welcome() STATIC As Integer
  252. begin:
  253.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_WELCOME, "FInfoDlgProc", IDD_APPHELP, PROC_HELP)
  254.     select case szButton
  255.     case "REACTIVATE"
  256.         goto begin
  257.     case "CONTINUE"
  258.         UIPop 1
  259.         Welcome = NAV_FORWARD
  260.     case "EXIT"
  261.         AskQuit
  262.         goto begin
  263.     end select
  264. End Function
  265.  
  266.  
  267.  
  268.  
  269. Function TestSystem() STATIC As Integer
  270. TestWinVer:
  271.     if GetWindowsMajorVersion() < 3 or (GetWindowsMajorVersion() = 3 and GetWindowsMinorVersion() < 10) then
  272.         TestWinVerDlgLoop:
  273.             szButton = UIStartDlg (CUIDLL_FILENAME, IDD_NEED31, "FInfoDlgProc", IDD_AWFULMA