home *** CD-ROM | disk | FTP | other *** search
/ Media Gallery 1996 January / MG_0196.ISO / spea / produkte / software / topcad / demo_ger / disk1 / 42cad.mst < prev    next >
Text File  |  1995-07-19  |  20KB  |  541 lines

  1. '**************************************************************************
  2. '*                       MSSetup 42CAD Installation
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. '$INCLUDE 'tclang.inc'
  10. '$INCLUDE 'tccfg.inc'
  11.  
  12. ''Dialog ID's
  13. CONST WELCOME       = 100
  14. CONST ASKQUIT       = 200
  15. CONST DESTPATH      = 300
  16. CONST EXITFAILURE   = 400
  17. CONST EXITQUIT      = 600
  18. CONST EXITSUCCESS   = 700
  19. CONST OPTIONS       = 800
  20. CONST APPHELP       = 900
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL WINNT$ 
  27. GLOBAL WINWIN$
  28. GLOBAL WIN95$ 
  29. GLOBAL WINOS$ 
  30. GLOBAL EXISTLIB$ 
  31. GLOBAL UPDATEINSTALLATION$ 
  32. GLOBAL INIKEY$ 
  33. GLOBAL MYMODE$
  34. GLOBAL MYPATH$
  35. GLOBAL DATAPATH$
  36. GLOBAL ININAME$
  37.  
  38. GLOBAL DEST$        ''Default destination directory.
  39. GLOBAL OPTCUR$      ''Option selection from option dialog.
  40.  
  41. ''Section from Troubleshouting guide from MS
  42.  
  43. CONST MB_YESNO           = 4
  44. CONST MB_ICONQUESTION     = 32
  45. CONST SW_SHOWMAXIMIZED = 3
  46. CONST IDYES            = 6
  47. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  48.  
  49.  
  50. DECLARE SUB Install
  51. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  52.  
  53.  
  54. INIT:
  55.  
  56.     hWnd% = HwndFrame()
  57.     junk% = ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  58.  
  59.     MYMODE$ = GetSymbolValue("STF_MODE")
  60.  
  61.     WINNT$     = "NT"
  62.     WINWIN$    = "WIN"
  63.     WIN95$     = "WIN95"
  64.     WINOS$     = "WIN"
  65.     EXISTLIB$  = "0"
  66.     UPDATEINSTALLATION$ = "0"
  67.     ININAME$   = "top-CAD"
  68.  
  69.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  70.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  71.  
  72.     SetBitmap CUIDLL$, LOGO
  73.     SetTitle SetupTitleName$
  74.  
  75.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  76.     IF szInf$ = "" THEN
  77.       szInf$ = GetSymbolValue("STF_CWDDIR") + "42CAD.INF"
  78.     END IF
  79.     ReadInfFile szInf$
  80.  
  81.  
  82.     OPTCUR$ = "1"
  83.     IF TCPV$ = "FULL" THEN
  84.       DEST$ = "C:\TCWIN"
  85.       IF MYMODE$ = "NETWORK" THEN 
  86.         DEST$ = "C:\TCLOCAL"
  87.       END IF
  88.       IF MYMODE$ = "ADMIN" THEN 
  89.         DEST$ = "C:\TCGLOBAL"
  90.       END IF
  91.     ELSE
  92.       DEST$ = "C:\TCDEMO"
  93.     END IF 
  94.  
  95.  
  96.     IF TCPV$ = "DEMO" THEN
  97.       IF MYMODE$ = "ADMIN" THEN 
  98.           i% = DoMsgBox(NoDemoNetwork$, SetupError$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  99.         RETURN
  100.       END IF      
  101.       IF MYMODE$ = "NETWORK" THEN 
  102.           i% = DoMsgBox(NoDemoNetwork$, SetupError$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  103.         RETURN
  104.       END IF      
  105.     END IF
  106.  
  107.  
  108.  
  109. WELCOME:
  110.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  111.     IF sz$ = "CONTINUE" THEN
  112.         UIPop 1
  113.     ELSE
  114.         GOSUB ASKQUIT
  115.         GOTO WELCOME
  116.     END IF
  117.  
  118.  
  119.     IF DoesDirExist (MakePath (GetWindowsDir, "system32")) THEN
  120.       WINOS$ = WINNT$
  121.       IF DoesFileExist (MakePath (GetWindowsDir, "win.com"), femExists) THEN
  122.           i% = DoMsgBox(TakeNT$, SetupError$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  123.       END IF
  124.     ELSE
  125.       IF DoesDirExist (MakePath (MakePath (GetWindowsDir, "system"), "VMM32")) THEN
  126.           WINOS$ = WIN95$
  127.       ELSE
  128.           WINOS$ = WINWIN$
  129.       END IF
  130.     END IF
  131.  
  132.  
  133.  
  134.  
  135. GETPATH:
  136.     SetSymbolValue "EditTextIn", DEST$
  137.     SetSymbolValue "EditFocus", "END"
  138. GETPATHL1:
  139.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  140.     DEST$ = GetSymbolValue("EditTextOut")
  141.  
  142.     IF sz$ = "CONTINUE" THEN
  143.         IF IsDirWritable(DEST$) = 0 THEN
  144.             GOSUB BADPATH
  145.             GOTO GETPATHL1
  146.         END IF
  147.  
  148. '*************************************************************************
  149. '** Checking diskspace
  150. '*************************************************************************
  151.  
  152.       IF Not MYMODE$ = "NETWORK" THEN
  153.           IF GetFreeSpaceForDrive (MID$(DEST$,1,1)) < 25000000 THEN
  154.               i% = DoMsgBox(NoDiscSpace$, SetupError$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  155.               GOTO GETPATHL1
  156.           END IF
  157.       ELSE
  158.           IF GetFreeSpaceForDrive (MID$(DEST$,1,1)) < 5000000 THEN
  159.               i% = DoMsgBox(NoDiscSpaceNetWork$, SetupError$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  160.               GOTO GETPATHL1
  161.           END IF
  162.       END IF
  163.  
  164.       UIPop 1
  165.  
  166.     ELSEIF sz$ = "REACTIVATE" THEN
  167.         GOTO GETPATHL1
  168.     ELSEIF sz$ = "BACK" THEN
  169.         UIPop 1
  170.         GOTO WELCOME
  171.     ELSE
  172.         GOSUB ASKQUIT
  173.         GOTO GETPATH
  174.     END IF
  175.  
  176.     Install
  177.  
  178.  
  179. QUIT:
  180.     ON ERROR GOTO ERRQUIT
  181.  
  182.     IF ERR = 0 THEN
  183.     dlg% = EXITSUCCESS
  184.     ELSEIF ERR = STFQUIT THEN
  185.     dlg% = EXITQUIT
  186.     ELSE
  187.     dlg% = EXITFAILURE
  188.     END IF
  189. QUITL1:
  190.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  191.     IF sz$ = "REACTIVATE" THEN
  192.     GOTO QUITL1
  193.     END IF
  194.     UIPop 1
  195.  
  196.     END
  197.  
  198. ERRQUIT:
  199.     i% = DoMsgBox(SetupErrorData$, SetupError$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  200.     END
  201.  
  202. BADPATH:
  203.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  204.     IF sz$ = "REACTIVATE" THEN
  205.     GOTO BADPATH
  206.     END IF
  207.     UIPop 1
  208.     RETURN
  209.  
  210.  
  211. ASKQUIT:
  212.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  213.  
  214.     IF sz$ = "EXIT" THEN
  215.     UIPopAll
  216.     ERROR STFQUIT
  217.     ELSEIF sz$ = "REACTIVATE" THEN
  218.     GOTO ASKQUIT
  219.     ELSE
  220.     UIPop 1
  221.     END IF
  222.     RETURN
  223.  
  224.  
  225.  
  226. '*************************************************************************
  227. '*************************************************************************
  228. '*************************************************************************
  229. '*************************************************************************
  230. '**
  231. '** Purpose:
  232. '**     Builds the copy list and performs all installation operations.
  233. '** Arguments:
  234. '**     none.
  235. '** Returns:
  236. '**     none.
  237. '*************************************************************************
  238. '*************************************************************************
  239.  
  240.  
  241. SUB Install STATIC
  242.  
  243.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  244.  
  245.     IF MYMODE$ = "NETWORK" THEN
  246.       MYPATH$ =     DEST$
  247.       DATAPATH$ =   SrcDir$
  248.     ELSE
  249.       MYPATH$ =     DEST$
  250.       DATAPATH$ =   DEST$
  251.     END IF
  252.     CreateDir MYPATH$ , cmoVital
  253.  
  254. '*************************************************************************
  255. '** Create dirs 
  256. '*************************************************************************
  257.  
  258.  
  259.     IF Not MYMODE$ = "NETWORK" THEN
  260.       CreateDir MakePath (MYPATH$, "bin"), cmoVital
  261.       CreateDir MakePath (MYPATH$, "lib"), cmoVital
  262.       CreateDir MakePath (MYPATH$, "mac"), cmoVital
  263.       CreateDir MakePath (MYPATH$, "help"), cmoVital
  264.       CreateDir MakePath (MYPATH$, "fonts"), cmoVital
  265.       CreateDir MakePath (MYPATH$, "utils"), cmoVital
  266.       CreateDir MakePath (MYPATH$, "tutorial"), cmoVital
  267.  
  268.       IF TCPV$ = "FULL" THEN
  269.         CreateDir MakePath (MYPATH$, "txffiles"), cmoVital
  270.         CreateDir MakePath (MYPATH$, "dos"), cmoVital
  271. '**        CreateDir MakePath (MYPATH$, "doc"), cmoVital
  272.       ENDIF
  273.     END IF
  274.  
  275. '** Create dirs for network version
  276.  
  277.     CreateDir MakePath (MYPATH$, "tmp"), cmoVital
  278.     CreateDir MakePath (MYPATH$, "dump"), cmoVital
  279.     CreateDir MakePath (MYPATH$, "projects"), cmoVital
  280.     CreateDir MakePath (MYPATH$, "backup"), cmoVital
  281.     CreateDir MakePath (MYPATH$, "cfg"), cmoVital
  282.     CreateDir MakePath (MYPATH$, "boot"), cmoVital
  283.  
  284.  
  285. '*************************************************************************
  286. '** Do some prechecking ..
  287. '*************************************************************************
  288.  
  289.     IF DoesFileExist (MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), femExists) THEN
  290.       UPDATEINSTALLATION$ = "1"
  291.     END IF
  292.  
  293.     IF Not MYMODE$ = "NETWORK" THEN
  294.  
  295.       IF DoesFileExist (MakePath ( MakePath ( MYPATH$, "lib" ), "system.lib" ), femExists) THEN
  296.           EXISTLIB$ = "1"        
  297.       END IF
  298.       IF DoesFileExist (MakePath ( MakePath ( MYPATH$, "lib" ), "demo.lib" ), femExists) THEN
  299.           EXISTLIB$ = "1"        
  300.       END IF
  301.                                                
  302.         IF EXISTLIB$ = "1" THEN
  303.         i% = DoMsgBox(OverWriteLib$, SetupInfo$, MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION)
  304.         IF i% = IDYES THEN
  305.              EXISTLIB$ = "0"
  306.         ELSE
  307.              EXISTLIB$ = "1"
  308.              i% = DoMsgBox(CopyLibsTo$ + MakePath (MYPATH$, "new_lib"), SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  309.         END IF
  310.       END IF
  311.  
  312. '*************************************************************************
  313. '** Create Copylist
  314. '*************************************************************************
  315.  
  316.         IF EXISTLIB$ = "1" THEN
  317.         CreateDir MakePath (MYPATH$, "new_lib"), cmoVital
  318.         AddSectionFilesToCopyList "42CAD-Lib-Files", SrcDir$, MakePath (MYPATH$, "new_lib")
  319.       ELSE
  320.         AddSectionFilesToCopyList "42CAD-Lib-Files", SrcDir$, MakePath (MYPATH$, "lib")
  321.          END IF
  322.  
  323.       IF UPDATEINSTALLATION$ = "0" THEN
  324.         AddSectionFilesToCopyList "42CAD-INI-Files", SrcDir$, MakePath (MYPATH$, "boot")
  325.       END IF
  326.  
  327.       AddSectionFilesToCopyList "42CAD-Tutorial-Files", SrcDir$, MakePath (MYPATH$, "tutorial")
  328.       AddSectionFilesToCopyList "42CAD-Param-Files", SrcDir$, MakePath (MYPATH$, "param")
  329.       AddSectionFilesToCopyList "42CAD-Util-Files", SrcDir$, MakePath (MYPATH$, "utils")
  330.       AddSectionFilesToCopyList "42CAD-Bin-Files", SrcDir$, MakePath (MYPATH$, "bin")
  331.       AddSectionFilesToCopyList "42CAD-Help-Files", SrcDir$, MakePath (MYPATH$, "help")
  332.       AddSectionFilesToCopyList "42CAD-Boot-Files", SrcDir$, MakePath (MYPATH$, "boot")
  333.       AddSectionFilesToCopyList "42CAD-Font-Files", SrcDir$, MakePath (MYPATH$, "fonts")
  334.       AddSectionFilesToCopyList "42CAD-Project-Files", SrcDir$, MakePath (MYPATH$, "projects")
  335.  
  336.       IF TCPV$ = "FULL" THEN
  337.         AddSectionFilesToCopyList "42CAD-Dos-Files", SrcDir$, MakePath (MYPATH$, "dos")
  338. '**        AddSectionFilesToCopyList "42CAD-Doc-Files", SrcDir$, MakePath (MYPATH$, "doc")
  339.         AddSectionFilesToCopyList "42CAD-P3-Files", SrcDir$, MakePath (MYPATH$, "mac")
  340.       END IF
  341.   
  342.       IF TCPV$ = "FULL" THEN
  343.         IF WINOS$ = WINNT$ THEN
  344.             CreateDir MakePath (MYPATH$, "nt"), cmoVital
  345.             AddSectionFilesToCopyList "42CAD-NT-Files", SrcDir$, MakePath (MYPATH$, "nt")
  346.             AddSectionFilesToCopyList "42CAD-HelpNT-Files", SrcDir$, MakePath (MYPATH$, "help")
  347.         ELSE
  348.             AddSectionFilesToCopyList "42CAD-HelpWin-Files", SrcDir$, MakePath (MYPATH$, "help")
  349.           IF MYMODE$ = "ADMIN" THEN
  350.             CreateDir MakePath (MYPATH$, "nt"), cmoVital
  351.             AddSectionFilesToCopyList "42CAD-NT-Files", SrcDir$, MakePath (MYPATH$, "nt")
  352.           END IF
  353.           AddSectionFilesToCopyList "Files", SrcDir$, MYPATH$
  354.         END IF
  355.       ELSE
  356.             AddSectionFilesToCopyList "42CAD-HelpWin-Files", SrcDir$, MakePath (MYPATH$, "help")
  357.       END IF
  358.  
  359.       IF MYMODE$ = "ADMIN" THEN
  360.         AddSectionFilesToCopyList "Files", SrcDir$, MYPATH$
  361.       END IF
  362.  
  363.       IF MYMODE$ = "ADMIN" THEN
  364.         CopyFile MakePath (SrcDir$, "42cad.in_"), MakePath (MYPATH$, "42cad.in_"), cmoNone, 0
  365.       END IF
  366.  
  367.       IF MYMODE$ = "NORMAL" THEN
  368.         IF DoesFileExist (MakePath ( SrcDir$, "tcw.cfg" ), femExists) THEN
  369.             i% = DoMsgBox(GetCfgFile$, SetupInfo$, MB_TASKMODAL+MB_YESNO+MB_ICONQUESTION)
  370.             IF i% = IDYES THEN
  371.               CopyFile MakePath (SrcDir$, "tcw.cfg"), MakePath (MakePath (MYPATH$, "boot"), "tcw.cfg"), cmoNone, 0
  372.             END IF
  373.         END IF
  374.       END IF
  375.  
  376.       CopyFilesInCopyList
  377.  
  378.  
  379.  
  380.     END IF ''** Not Network version
  381.  
  382.  
  383. '*************************************************************************
  384. '** Modifying WIN.INI
  385. '*************************************************************************
  386.  
  387.     IF TCPV$ = "DEMO" THEN
  388.       ININAME$   = "top-CAD DEMO"
  389.     END IF
  390.  
  391.  
  392.     CreateIniKeyValue "WIN.INI", ININAME$, "Version", TCVersion$, cmoOverwrite
  393.     
  394.     IF Not MYMODE$ = "NETWORK" THEN
  395.       CreateIniKeyValue "WIN.INI", ININAME$, "Home", MYPATH$, cmoOverwrite
  396.     ELSE
  397.       CreateIniKeyValue "WIN.INI", ININAME$, "Home", SrcDir$, cmoOverwrite
  398.       CreateIniKeyValue "WIN.INI", ININAME$, "LocalHome", MYPATH$, cmoOverwrite
  399.     END IF 
  400.  
  401. '*************************************************************************
  402. '** Updateing  TCWIN.INI
  403. '*************************************************************************
  404.  
  405.  
  406.     IF UPDATEINSTALLATION$ = "0" THEN
  407.       IF Not TCPV$ = "DEMO" THEN
  408.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultLibrary", MakePath ( MakePath ( DATAPATH$, "lib" ), "system.lib" ), cmoNone
  409.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultProject", MakePath ( MakePath ( DATAPATH$, "lib" ), "default.tc" ), cmoNone
  410.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultLib", MakePath ( MakePath ( DATAPATH$, "lib" ), "default.lib" ), cmoNone
  411.       ELSE
  412.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultLibrary", MakePath ( MakePath ( DATAPATH$, "lib" ), "system.lid" ), cmoNone
  413.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultProject", MakePath ( MakePath ( DATAPATH$, "lib" ), "default.tcd" ), cmoNone
  414.         CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "PMAN", "DefaultLib", MakePath ( MakePath ( DATAPATH$, "lib" ), "default.lid" ), cmoNone
  415.       END IF
  416.       CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "DefaultPaths", "LibraryPath", MakePath ( DATAPATH$, "lib" ), cmoNone
  417.       CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "DefaultPaths", "TXFFilePath", MakePath ( DATAPATH$, "txffiles" ), cmoNone
  418.       CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "DefaultPaths", "PPPMacroPath", MakePath ( DATAPATH$, "mac" ), cmoNone
  419.       CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "DefaultPaths", "ParameterPath", MakePath ( DATAPATH$, "param" ), cmoNone
  420.  
  421.       CreateSysIniKeyValue MakePath ( MakePath ( MYPATH$, "boot" ), "tcwin.ini" ), "DefaultPaths", "ProjectPath", MakePath ( MYPATH$, "projects" ), cmoNone
  422.     END IF
  423.  
  424.  
  425. '*************************************************************************
  426. '** Updateing Program Manager
  427. '*************************************************************************
  428.  
  429.     IF TCPV$ = "DEMO" THEN
  430.       ProgGroupTitle$ = DemoGroupTitle$
  431.       topCADTitle$    = topCADDemoTitle$
  432.     END IF
  433.  
  434.     CreateProgmanGroup ProgGroupTitle$, "", cmoNone
  435.     ShowProgmanGroup  ProgGroupTitle$, 1, cmoNone
  436.     CreateProgmanItem ProgGroupTitle$, topCADTitle$, MakePath ( MakePath ( DATAPATH$, "bin" ), "tcwin.exe" ), "", cmoOverwrite
  437.     IF TCLANG$ = "GERMAN" THEN
  438.       CreateProgmanItem ProgGroupTitle$, ReadMeTtitle$, "write.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "readme.wri" ), "", cmoOverwrite
  439.     END IF
  440.  
  441.  
  442.     IF TCPV$ = "DEMO" THEN
  443.       IF TCLANG$ = "GERMAN" THEN
  444.         CreateProgmanItem ProgGroupTitle$, FaxHelp$, "write.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "faxform.wri" ), "", cmoOverwrite
  445.         CreateProgmanItem ProgGroupTitle$, HotlineHelp$, "write.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "hotline.wri" ), "", cmoOverwrite
  446.         CreateProgmanItem ProgGroupTitle$, InfoHelp$, "winhelp.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "info.hlp" ), "", cmoOverwrite
  447.       END IF
  448.       CreateProgmanItem ProgGroupTitle$, HelpTitle$, "winhelp.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "tcwin.hlp" ), "", cmoOverwrite
  449.     END IF
  450.     IF TCPV$ = "FULL" THEN
  451.       IF TCLANG$ = "GERMAN" THEN
  452.         CreateProgmanItem ProgGroupTitle$, FaxTitle$, "write.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "tcwinfax.wri" ), "", cmoOverwrite
  453.       END IF
  454.       IF WINOS$ = WINNT$ THEN
  455.         CreateProgmanItem ProgGroupTitle$, HelpTitle$, "winhlp32.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "tcwin.hlp" ), "", cmoOverwrite
  456.         IF TCLANG$ = "GERMAN" THEN
  457.           CreateProgmanItem ProgGroupTitle$, TXFTitle$, "winhlp32.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "wintxf.hlp" ), "", cmoOverwrite
  458.             CreateProgmanItem ProgGroupTitle$, InfoHelp$, "winhlp32.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "info.hlp" ), "", cmoOverwrite
  459.         END IF
  460.       ELSE
  461.         CreateProgmanItem ProgGroupTitle$, HelpTitle$, "winhelp.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "tcwin.hlp" ), "", cmoOverwrite
  462.         IF TCLANG$ = "GERMAN" THEN
  463.           CreateProgmanItem ProgGroupTitle$, TXFTitle$, "winhelp.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "wintxf.hlp" ), "", cmoOverwrite
  464.             CreateProgmanItem ProgGroupTitle$, InfoHelp$, "winhelp.exe " + MakePath ( MakePath ( DATAPATH$, "help" ), "info.hlp" ), "", cmoOverwrite
  465.         END IF
  466.       END IF
  467.     END IF
  468.  
  469. '*************************************************************************
  470. '** Checking Configuration of local computer
  471. '*************************************************************************
  472.  
  473.     IF TCPV$ = "FULL" THEN
  474.       IF WINOS$ = WINNT$ THEN
  475.         IF DoesFileExist(MakePath (MakePath ( MakePath ( GetWindowsDir, "system32" ), "drivers" ), "HARDLOCK.SYS" ), femExists) THEN
  476.           IF DoesIniKeyExist ("WIN.INI", "top-CAD", "Version") THEN
  477.             INIKEY$ = GetIniKeyString ("WIN.INI", "top-CAD", "Version")
  478.             IF INIKEY$ = "1.2d" THEN
  479.               '** nothing to do; should be ok ....
  480.             ELSE 
  481.                 i% = DoMsgBox(MustUpdateNTService$, SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  482.             END IF
  483.           ELSE
  484.             '** Version 1.2 or earlier ....
  485.               i% = DoMsgBox(MustUpdateNTService$, SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  486.           END IF
  487.         ELSE
  488.             i% = DoMsgBox(MustInstallNTService$, SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  489.           END IF
  490.       END IF    
  491.     END IF    
  492.  
  493.  
  494.     IF WINOS$ = WINWIN$ THEN
  495.       IF DoesDirExist (MakePath (MakePath ( GetWindowsDir, "system" ), "win32s" )) THEN
  496.       ELSE
  497.           i% = DoMsgBox(MustInstallWin32s$, SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  498.       END IF
  499.     END IF 
  500.  
  501. '*************************************************************************
  502. '** Checking Environment of local computer
  503. '*************************************************************************
  504.  
  505.  
  506.   IF TCPV$ = "FULL" THEN
  507.     IF MYMODE$ = "NORMAL" THEN
  508.       IF DoesIniKeyExist ("WIN.INI", ININAME$, "LocalHome") THEN
  509.           i% = DoMsgBox(DeleteNetworkCfg$, SetupInfo$, MB_TASKMODAL+MB_ICONHAND+MB_OK)
  510.         RemoveIniKey "WIN.INI", ININAME$, "LocalHome", cmoVital
  511.       END IF
  512.     END IF 
  513.   END IF  
  514.  
  515. END SUB
  516.  
  517.  
  518.  
  519. '**
  520. '** Purpose:
  521. '**     Appends a file name to the end of a directory path,
  522. '**     inserting a backslash character as needed.
  523. '** Arguments:
  524. '**     szDir$  - full directory path (with optional ending "\")
  525. '**     szFile$ - filename to append to directory
  526. '** Returns:
  527. '**     Resulting fully qualified path name.
  528. '*************************************************************************
  529. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  530.     IF szDir$ = "" THEN
  531.     MakePath = szFile$
  532.     ELSEIF szFile$ = "" THEN
  533.     MakePath = szDir$
  534.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  535.     MakePath = szDir$ + szFile$
  536.     ELSE
  537.     MakePath = szDir$ + "\" + szFile$
  538.     END IF
  539. END FUNCTION
  540.  
  541.