home *** CD-ROM | disk | FTP | other *** search
/ Anne Hooper's Ultimate Sex Guide / DKMMTUSG.iso / dksetup / dkgen.inc < prev    next >
Text File  |  1995-08-09  |  26KB  |  723 lines

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