home *** CD-ROM | disk | FTP | other *** search
/ Anne Hooper's Ultimate Sex Guide / DKMMTUSG.iso / dksetup / dksetup.bak < prev    next >
Text File  |  1995-08-18  |  21KB  |  578 lines

  1. ''$DEFINE DEBUG
  2. '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  3. '   TUSG (UK)
  4. '
  5. '   uses VforW & Wing
  6.  
  7. '
  8. '   18/08/95    rc and this have no min install. Changed dlg boxes custom,
  9. '                custom help and speed
  10. '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  11.  
  12. '18/08/95 Register notes most recent lang used
  13. '11/08/95 Register created using inf file
  14. '26/07/95 Uninstall code added
  15. '07/07/95 Correct dkgen.inc so unregisters use of ctl3d
  16. '04/07/95 Make sure files in bin section of inf file 'always' overwrite
  17. '28/07/95 Ini file not created for minimum install, uses file provided in dkcode
  18. '27/06/95 Test for directory names max 8 chars
  19. '26/06/95 For minimum install, ini file is now not installed
  20. '19/06/95 Moved test for cirrus drivers to mst file as only applies to sampler
  21. '05/06/95 Fonts installed on users machine
  22. '01/06/95 No choice about adding icon to prog man, altered dkgen.inc & rc file
  23. '            (custom, customhelp & speed dlg boxes need changing)
  24. '22/05/95 Code for bundling with sampler
  25. '22/05/95 Large readme need Write (will need to change dlg box in rc file)
  26. '15/05/95 No warning that directory does not exist
  27. '03/05/95 Ini file put in executable directory rather than Windows dir to stop
  28. '            clash with foreign products with same name files
  29.  
  30.  
  31. '$INCLUDE 'dkgen.inc'
  32.  
  33.  
  34. 'IF WITH SAMPLER ( add to .inf & dkcode ) + see add to prog man below
  35. 'CONST SAMPLER_PATH = "SAMPLER"
  36. 'CONST APPLICATION_MENU_FILE = "custmenu.exe"
  37. 'CONST APPLICATION_EXE2_FILE = "dksd2pc.exe"
  38. 'DECLARE FUNCTION TestForCirrus LIB "dkutils.dll" () As INTEGER
  39.  
  40.  
  41. 'IF USING SPECIFIC FONTS
  42. 'DECLARE FUNCTION InstallFont LIB "dkutils.dll" (szFont$) AS INTEGER
  43. 'DECLARE SUB UpdateFonts()
  44.  
  45. ' Uninstall icon
  46. CONST STR_UNINSTALL = "DKMM Uninstall"
  47. CONST LANG_DLL = "Unlang.eng"     'will use as default if can't find dll to match window lang
  48.  
  49. ' Paths and INI stuff
  50. CONST APPLICATION_INI_FILE = "tusg.ini"
  51. CONST APPLICATION_EXE_FILE = "tusg.exe"
  52. CONST APPLICATION_PENGE_FILE = "tusg.png"
  53.  
  54. CONST INI_FILE_SOURCE = "AppPath" ' OR  "WinPath"
  55. CONST EDITOR_EXE =  "write.exe " 'OR "notepad.exe "
  56.  
  57. ' Language dependant strings
  58. CONST APPLICATION_README_FILE = "readme.wri"
  59. CONST STR_README = "The Ultimate Sex Guide Read Me"
  60. CONST STR_MSGCAPTION = "The Ultimate Sex Guide Setup"
  61. CONST STR_PRODUCTNAME = "The Ultimate Sex Guide"
  62. CONST DEFAULT_INSTALL_PATH = "\DKMM\TUSG"
  63.  
  64.  
  65. DECLARE SUB CreateReg()
  66. DECLARE SUB Install()
  67. DECLARE SUB AddFilesToCopyList(szInstallType$)
  68. DECLARE FUNCTION IsCDROMDrive LIB "dkutils.dll" (wDrive%) As INTEGER
  69. DECLARE FUNCTION DeleteFiles LIB "dkutils.dll" (szDiffPath$, szProdName$, szDKREgIni$) AS INTEGER
  70. DECLARE FUNCTION DeleteDir LIB "dkutils.dll" (szDiffPath$) AS INTEGER
  71. DECLARE FUNCTION DeleteSection LIB "dkutils.dll" (szProdName$, szDKREgIni$) AS INTEGER
  72.  
  73.  
  74. Init:
  75.    Initialise STR_PRODUCTNAME, DEFAULT_INSTALL_PATH, STR_MSGCAPTION
  76.  
  77.  
  78. WelcomeDlg:
  79.     if Welcome() = NAV_BACK then
  80.         ' Don nothing - cant go back
  81.     end if
  82.  
  83.  
  84.     if TestSystem() = NAV_BACK then
  85.         goto WelcomeDlg
  86.     end if
  87.  
  88. '    dButton = DoMsgBox( "Minimum install disabled", STR_MSGCAPTION, MB_OK)
  89.  
  90. 'IF WITH SAMPLER
  91. 'TestCirrus:
  92. '    if TestForCirrus() = 1 then
  93. '        dButton = DoMsgBox(STR_CIRRUS, szMsgCaption$, MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  94. '    end if
  95.  
  96. 'IF EARLIER PRODS WITH NO SAMPLER
  97. '    UpdateADPCMDrivers
  98.  
  99.  
  100. ExpressCustomDlg:
  101.     ' defaults to Express
  102.     'if szExpressCustomChoice = "EXPRESS" then
  103.     '    SetSymbolValue "RadioDefault", "1"
  104.     'else
  105.     '    SetSymbolValue "RadioDefault", "1"
  106.     'end if
  107.  
  108. ECDlgLoop:
  109.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_SPEED, "FRadioDlgProc", IDD_WHIZZHELP, PROC_HELP)
  110.  
  111.     select case szButton
  112.     case "REACTIVATE"
  113.         goto ECDlgLoop
  114.     case "BACK"
  115.         UIPop 1
  116.         goto WelcomeDlg
  117.     case "CONTINUE" ' Install
  118.         UIPop 1
  119.         if GetSymbolValue("ButtonChecked") = "1" then
  120.             szExpressCustomChoice = "EXPRESS"
  121.             goto ExpressInstallLoop
  122.         else
  123.             szExpressCustomChoice = "CUSTOM"
  124.             goto CustomInstallLoop
  125.         end if
  126.     case "EXIT"
  127.         AskQuit
  128.         goto ECDlgLoop
  129.     end select
  130.  
  131.  
  132. CustomInstallLoop:
  133. GetPathDlg:
  134.     SetSymbolValue "EditTextIn", szDestPath
  135.     szOldDestPath = szDestPath
  136.     SetSymbolValue "EditFocus", "ALL"
  137.  
  138. GetPathDlgLoop:
  139.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_DESTPATH, "FEditDlgProc", IDD_PATHHELP, PROC_HELP)
  140.  
  141.     select case szButton
  142.     case "REACTIVATE"
  143.         goto GetPathDlgLoop
  144.  
  145.     case "BACK"
  146.         UIPop 1
  147.         szDestPath = szOldDestPath
  148.         goto ECDlgLoop
  149.  
  150.     case "CONTINUE"
  151.         UIPop 1
  152.         szDestPath = GetSymbolValue("EditTextOut")
  153.  
  154.         if mid$(szDestPath, 2, 1) = ":" and mid$(szDestPath, 3, 1) <> "\" then
  155.             szTemp$ = mid$(szDestPath, 1, 2) + "\" + mid$(szDestPath, 3, len(szDestPath)-2)
  156.             szDestPath = szTemp
  157.         end if
  158.  
  159.         if mid$(szDestPath, 2, 1) <> ":" then
  160.             if mid$(szDestPath, 1,1) <> "\" then
  161.                 szDestPath = mid$(szWinPath, 1,1) + ":\" + szDestPath
  162.             else
  163.                 szDestPath = mid$(szWinPath, 1,1) + ":" + szDestPath
  164.             end if
  165.         elseif IsDriveValid(mid$(szDestPath, 1,1)) = 0 then
  166.             szDestPath = szOldDestPath
  167.             UIPop 1
  168.             BadPath
  169.             goto GetPathDlg
  170.         end if
  171.  
  172.         ' check for "foreign" chars in path
  173.         slength% = len(szDestPath)
  174.         found% = 0
  175.         for i% = 1 to slength%
  176.             if asc(mid$(szDestPath, i%, 1)) > 126 then
  177.                 found% = 1
  178.             end if
  179.         next i%
  180.         if found% = 1 then
  181.             szDestPath = szOldDestPath
  182.             UIPop 1
  183.             BadPath
  184.             goto GetPathDlg
  185.         end if
  186.  
  187.         wDrive% = asc(mid$(szDestPath, 1,1)) - asc("A")
  188.         if IsCDROMDrive(wDrive%) > 0 then
  189.             szDestPath = szOldDestPath
  190.             UIPop 1
  191.             BadPath
  192.             goto GetPathDlg
  193.         end if
  194.  
  195.         if IsDriveNetwork(mid$(szDestPath,1,1)) = 1 then
  196.             szDestPath = szOldDestPath
  197.             UIPop 1
  198.             NetworkDrive
  199.             goto GetPathDlg
  200.         end if
  201.  
  202.         if IsDirWritable(szDestPath) = 0 then
  203.             szDestPath = szOldDestPath
  204.             UIPop 1
  205.             BadPath
  206.             goto GetPathDlg
  207.         end if
  208.  
  209.         'check dir names not > 8 chars
  210.         dirlength% = 0
  211.         i% = 3
  212.         while i% <> slength%
  213.             i% =i%+1
  214.             dirlength% = dirlength% +1
  215.             if mid$(szDestPath, i%, 1)="\" then
  216.                 if dirlength% > 9 then
  217.                     szDestPath = szOldDestPath
  218.                     dButton = DoMsgBox( STR_DIRTOOLONG, STR_MSGCAPTION, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  219.                     goto GetPathDlg
  220.                  else
  221.                     dirlength% = 0
  222.                 endif
  223.             end if
  224.  
  225.         wend
  226.         if dirlength% > 8 then
  227.             szDestPath = szOldDestPath
  228.             dButton = DoMsgBox( STR_DIRTOOLONG, STR_MSGCAPTION, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  229.             goto GetPathDlg
  230.         endif
  231.  
  232.  
  233.  
  234.   '      if DoesDirExist(szDestPath) = 0 then
  235.   '          dButton = DoMsgBox( STR_DIRNOTEXIST, STR_MSGCAPTION, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  236.   '          if dButton = 7 then
  237.   '              goto GetPathDlg
  238.   '          end if
  239.   '      end if
  240.  
  241.         UIPop 1
  242.  
  243.  
  244.     case "EXIT"
  245.         AskQuit
  246.         goto GetPathDlg
  247.     end select
  248.  
  249. GetCustomChoicesDlg:
  250.     SetSymbolValue "CheckItemsState", ""
  251. '    AddListItem "CheckItemsState", szMinimalInstall
  252. '    AddListItem "CheckItemsState", szAddPMItem
  253. GetCustomChoicesLoop:
  254.  
  255.     ClearCopyList
  256. '    if szMinimalInstall = "OFF" then
  257.         AddFilesToCopyList "FULL"
  258. '    else
  259. '        AddFilesToCopyList "MINIMAL"
  260. '    end if
  261.  
  262.     dDestDrive = asc(mid$(szDestPath, 1,1)) - asc("A")+1
  263.     dWinDrive = asc(mid$(szWinPath, 1,1)) - asc("A")+1
  264.  
  265.     SetSymbolValue "DriveStatus