home *** CD-ROM | disk | FTP | other *** search
/ cyber.net 2 / cybernet2.ISO / dkdemo / dksetup / dkgen.inc < prev    next >
Text File  |  1995-04-06  |  21KB  |  618 lines

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