home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1994-09-15 | 40.5 KB | 1,064 lines
'************************************************************************** '* Presentation Partner CD-ROM Setup '* Started 5/3/94 Tim Swetonic '* originally adapted from the Music Mentor '* CD-ROM Edition Setup '* '* '* Changes: '* 1\10\94 '* Bitmap fills screen for 800x600 and greater, title bar and border is on background bitmap, '* checks if directory is already present, checks for enough hard drive space. '* '* 8\18\94 Added VFW installation Alan page '* '************************************************************************** '$DEFINE PRESPART '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' ''$INCLUDE 'mscpydis.inc' ''System needed for VFW DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG DECLARE FUNCTION GetWindowLong LIB "user.exe" (hWnd%, offset%) AS LONG 'from VFW DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER DECLARE SUB Reboot LIB "iniupd.dll" DECLARE FUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER ''Dialog ID's CONST WELCOME = 100 CONST WELCOMEX = 150 CONST ASKQUIT = 200 CONST ASKQUITX = 250 CONST DESTPATH1 = 300 CONST DESTPATH1X = 350 CONST DESTPATH2 = 6401 CONST DESTPATH2X = 6451 CONST EXITFAILURE = 400 CONST EXITFAILUREX = 450 CONST EXITQUIT = 600 CONST EXITQUITX = 6452 CONST EXITSUCCESS = 700 CONST EXITSUCCESSX = 750 CONST APPHELP = 900 CONST APPHELPX = 950 CONST ALREADYEXISTS = 1000 CONST ALREADYEXISTSX = 1050 CONST RESTART = 2600 CONST RESTARTII = 2700 CONST VFWCHOOSE = 3000 CONST VFWCHOOSEX = 3050 CONST TOOBIG = 6300 CONST TOOBIGX = 6350 CONST BADPATH = 6400 CONST BADPATHX = 6450 CONST INFO1 = 118 CONST INFO1X = 6453 CONST INFO2 = 6454 CONST INFO2X = 6455 CONST INFO3X = 6457 CONST INFO3 = 6458 CONST CARDLIST = 8030 CONST CARDLISTX = 6030 CONST HDSPACE = 20480000 CONST WS_VISIBLE = &H10000000 CONST WS_CLIPCHILDREN = &H2000000 CONST WS_BORDER = &H800000 CONST SW_SHOWMAXIMIZED = 3 CONST GWL_STYLE =-16 CONST TITLE = "Midisoft« Presentation Partner Setup" CONST LOGO1 = 3 CONST LOGO2 = 3 GLOBAL DEST$ ''Default destination directory. GLOBAL SESDEST$ ''Default Session directory. GLOBAL RUNDEST$ ''Default Runtime subdirectory. GLOBAL OPTCUR$ ''Option selection from option dialog. GLOBAL SCRWID% GLOBAL PRESPARTDIR$ GLOBAL CUIDLL$ GLOBAL hdList$ GLOBAL PRESPARTDESTDIR$ GLOBAL QTDIR$ GLOBAL SELECTED$ CONST NOTATIONTITLE = "Introduction to Musical Notation" CONST MIDITITLE = "Introduction to MIDI" CONST GENERALTITLE = "General MIDI" CONST SIHELPTITLE = "Sound Impression Help" CONST HELPTITLE = "MusicMagic Help" GLOBAL WINDRIVE$ GLOBAL WinDir$ GLOBAL WinSysDir$ GLOBAL vfw$ 'if this gets set to off, VFW is installed on, not installed DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING DECLARE SUB CreateProgGroup DECLARE FUNCTION FindWindow Lib "User" (lpClassName$, lpWindowNam$) As Integer DECLARE FUNCTION MessageBox Lib "User" (hWnd%, lpText$, lpCaption$,wType%) As Integer CONST MIDIEXE = "Musmagic.exe" CONST HELPEXE = "Musmagic.hlp" CONST RUNNING = "MM_Running" CONST SETUPPATH = "MM_SetupPath" CONST LASTRUNFROM = "MM_LastRunFrom" CONST MIDIEDITOR = "MusicMagic" ''////////////////////////////////// check if Sound Impression is currently running findclass1$ = "EDITPARENT" findclass2$ = "AUDRKPARENT" findtitle$ = "Sound Impression" lookforsi1% = FindWindow (findclass1$, findtitle$) lookforsimin% = FindWindow (findclass2$,NULL) IF lookforsi1% <> 0 OR lookforsimin% <> 0 THEN runningstop% = MessageBox (hwnd%, "Sound Impression is running. Close it, then run Setup again.","Sound Impression Setup", MB_OK+MB_TASKMODAL+MB_ICONSTOP) IF IDOK THEN STOP END IF END IF INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure '* The following determines the version information for VFW '* WIN32ENABLED% = 0 MajorVer% = GetWindowsMajorVersion() MinorVer% = GetWindowsMinorVersion() IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for Video. Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND) END END IF IF OnWindowsNT() THEN i% = DoMsgBox("This version of Video for Windows does not run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND) END END IF aboutStr1$ = "Midisoft Presentation Partner" + Chr$(13) aboutStr1$ = aboutStr1$ + "Copyright (c) 1994" + Chr$(13) aboutStr2$ = "Version 1.0" + Chr$(13) aboutStr2$ = aboutStr2$ + "May 5, 1994" + Chr$(13) mainWnd%=HwndFrame() curLong& = GetWindowLong (mainWnd%, GWL_STYLE) 'Creates window with curLong& = curLong& OR (WS_BORDER OR WS_CLIPCHILDREN OR WS_CAPTION) 'title bar (Note: using w&=SetWindowLong (mainWnd%, GWL_STYLE, curLong&) 'HT video drivers icon 'on one screen is corrupt) 'Set text shown in the About dialog, selected from the system menu SetAbout aboutStr1$, aboutStr2$ 'w&=SetWindowLong(mainWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN) j%=ShowWindow(mainWnd%,SW_SHOWMAXIMIZED) 'GetLocalHardDrivesList hdList$ 'listStr$ = GetListItem(hdList$, 1) SCRWID% = GetScreenWidth() IF SCRWID% = 640 THEN SetBitmap CUIDLL$, LOGO1 ELSE SetBitmap CUIDLL$, LOGO2 END IF SetTitle TITLE szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF" END IF ReadInfFile szInf$ WINDRIVE$ = MID$(GetWindowsDir, 1, 1) OPTCUR$ = "1" DEST$ = "C:\PRESPART" WELCOME: IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, WELCOMEX, "FInfoDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) END IF IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF ' added from here CARD$ = "ListItemsIn" CARDPICK$ = "ListItemsOut" AddListItem CARD$,"UNLISTED" AddListItem CARD$,"Antex VP Series" AddListItem CARD$,"Antex Audio Port" AddListItem CARD$,"Antex AV-16" AddListItem CARD$,"Antex SX Series" AddListItem CARD$,"ATI" AddListItem CARD$,"Audiotrix Pro" AddListItem CARD$,"Aztech" AddListItem CARD$,"Cardinal" AddListItem CARD$,"Creative Labs" AddListItem CARD$,"Diamond SonicSound LX" AddListItem CARD$,"Ensoniq Soundscape" AddListItem CARD$,"Genoa Systems" AddListItem CARD$,"Jovian Logic" AddListItem CARD$,"Logitech SoundMan 16" AddListItem CARD$,"Media Chips MAD-16" AddListItem CARD$,"Media Master" AddListItem CARD$,"Mediasonic" AddListItem CARD$,"Media Vision all cards" AddListItem CARD$,"Media Vision AudioPort" AddListItem CARD$,"MIDI Land" AddListItem CARD$,"Oak Mozart" AddListItem CARD$,"Omni Labs AudioMaster" AddListItem CARD$,"Orchid SoundWave 32" AddListItem CARD$,"ProMEDIA" AddListItem CARD$,"Roland RAP-10" AddListItem CARD$,"Sound FX 16" AddListItem CARD$,"Turtle Beach" SINGLELIST: SetSymbolValue "ListItemsOut", "UNLISTED" LISTIT1: IF SCRWID% = 640 THEN sz$ = UIStartDlg (CUIDLL$, CARDLISTX, "FListDlgProc", APPHELPX, HELPPROC$) else sz$ = UIStartDlg (CUIDLL$, CARDLIST, "FListDlgProc", APPHELP, HELPPROC$) END IF CARDLOADLIST$ = GetSymbolValue (CARD$) SELECTED$ = GetSymbolValue (CARDPICK$) 'MsgBox "selected = " + SELECTED$ IF sz$ = "CONTINUE" THEN UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO LISTIT1 ELSE GOSUB ASKQUIT GOTO SINGLELIST END IF 'VFWOPTION: ' IF scrwid% = 640 THEN ' sz$ = UIStartDlg(CUIDLL$, VFWCHOOSEX, "FCustInstDlgProc", APPHELP, HELPPROC$) ' ELSE ' sz$ = UIStartDlg(CUIDLL$, VFWCHOOSE, "FCustInstDlgProc", APPHELP, HELPPROC$) ' END IF ' CHECKSTATES$ = "CheckItemsState" ' For i% = 1 to 1 ' AddListItem CHECKSTATES$, "ON" ' next i% ' vfw$ = GetListItem (CHECKSTATES$, 1) ' IF sz$ = "CONTINUE" THEN ' UIPop 1 ' GOTO GETPATH ' ELSEIF sz$ = "EXIT" THEN ' GOSUB ASKQUIT ' GOTO VFWOPTION ' ELSE ' GOTO VFWOPTION ' END IF ' ELSE ' GOSUB ASKQUIT ' GOTO VFWOPTION ' END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ 'from dest$ SetSymbolValue "EditFocus", "END" GETPATHL1: IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, DESTPATH1X, "FEditDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, DESTPATH1, "FEditDlgProc", APPHELP, HELPPROC$) END IF DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO WELCOME ELSE GOSUB ASKQUIT GOTO GETPATH END IF 'Check if directory exists IF DoesDirExist(DEST$) THEN UIPop 1 IF SCRWID% = 640 THEN sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTSX, "FInfoDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTS, "FInfoDlgProc", 0, "") END IF 'Screen resolution IF sz$ = "CONTINUE" THEN UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN UIPop 1 GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATHL1 ELSE UIPop 1 GOSUB ASKQUIT GOTO GETPATH END IF 'User responses for already exists dialog END IF 'If directory already exists checkdltr$ = mid$(DEST$, 1, 1) checkdspc& = GetFreeSpaceForDrive(checkdltr$) IF checkdspc& < HDSPACE THEN IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, TOOBIGX, "FInfoDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", APPHELP, HELPPROC$) END IF ERROR STFQUIT GOTO QUIT END IF '$IFNDEF PRESPART GETPATH2: SetSymbolValue "EditTextIn", SESDEST$ SetSymbolValue "EditFocus", "END" GETPATHL2: IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, DESTPATH2X, "FEditDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP, HELPPROC$) END IF SESDEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(SESDEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL2 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL2 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATH ELSE GOSUB ASKQUIT GOTO GETPATH2 END IF 'Check if directory exists IF DoesDirExist(SESDEST$) THEN UIPop 1 IF SCRWID% = 640 THEN sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTSX, "FInfoDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, ALREADYEXISTS, "FInfoDlgProc", 0, "") END IF 'Screen resolution IF sz$ = "CONTINUE" THEN UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN UIPop 1 GOTO GETPATHL2 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO GETPATHL2 ELSE UIPop 1 GOSUB ASKQUIT GOTO GETPATH2 END IF 'User responses for already exists dialog END IF 'If directory already exists '$ENDIF MENTORCD Install QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN IF SCRWID% = 640 THEN dlg% = EXITSUCCESSX ELSE dlg% = EXITSUCCESS END IF ELSEIF ERR = STFQUIT THEN IF SCRWID% = 640 THEN dlg% = EXITQUITX ELSE dlg% = EXITQUIT END IF ELSE IF SCRWID% = 640 THEN dlg% = EXITFAILUREX ELSE dlg% = EXITFAILURE END IF END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, please call Midisoft Technical Support", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) END BADPATH: IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, BADPATHX, "FInfoDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", APPHELP, HELPPROC$) END IF IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: IF scrwid% = 640 THEN sz$ = UIStartDlg(CUIDLL$, ASKQUITX, "FQuitDlgProc", APPHELP, HELPPROC$) ELSE sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, HELPPROC$) END IF IF sz$ = "EXIT" THEN UIPop 5 ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC RemoveSymbol "ListItemsIn" RemoveSymbol "ListItemsOut" 'Source Directories SrcDir$ = GetSymbolValue("STF_SRCDIR") ROOTDIR$ = SrcDir$ PRESPARTDIR$ = MakePath (ROOTDIR$, "PRESPART") WINSYSSOURCEDIR$ = MakePath (ROOTDIR$, "SYSTEM") FAVORITEDIR$ = MakePath (PRESPARTDIR$, "FAVORITE") HELPDIR$ = MakePath (PRESPARTDIR$, "HELP") RESOURCEDIR$ = MakePath (PRESPARTDIR$, "RESOURCE") SSTDIR$ = MakePath (ROOTDIR$, "SSTV1") IMAGESDIR$ = MakePath(SSTDIR$, "IMAGES") MOVIESDIR$ = MakePath(SSTDIR$, "MOVIES") RUNTIMEDIR$ = MakePath(SSTDIR$, "RUNTIME") SOUNDSDIR$ = MakePath(SSTDIR$, "SOUNDS") VFWDIR$ = MakePath(ROOTDIR$, "VFW") SIDIR$ = MakePath(ROOTDIR$, "AUDIOSIM") MMDIR$ = MakePath(ROOTDIR$, "MUSMAGIC") QTDIR$ = MakePath(ROOTDIR$, "QUIKTOUR") 'Destination Directories PRESPARTDESTDIR$ = DEST$ FAVORITEDESTDIR$ = MakePath (DEST$, "FAVORITE") HELPDESTDIR$ = MakePath (DEST$, "HELP") RESOURCEDESTDIR$ = MakePath (DEST$, "RESOURCE") SSTDESTDIR$ = MakePath (DEST$, "SSTV1") IMAGESDESTDIR$ = MakePath(SSTDESTDIR$, "IMAGES") MOVIESDESTDIR$ = MakePath(SSTDESTDIR$, "MOVIES") RUNTIMEDESTDIR$ = MakePath(SSTDESTDIR$, "RUNTIME") SOUNDSDESTDIR$ = MakePath(SSTDESTDIR$, "SOUNDS") SIDESTDIR$ = MakePath(DEST$, "AUDIOSIM") MMDESTDIR$ = MakePath(DEST$, "MUSMAGIC") WinDir$ = GetWindowsDir() WinSysDir$ = GetWindowsSysDir() CreateDir PRESPARTDESTDIR$, cmoNone CreateDir FAVORITEDESTDIR$, cmoNone CreateDir HELPDESTDIR$, cmoNone CreateDir RESOURCEDESTDIR$, cmoNone CreateDir SSTDESTDIR$, cmoNone CreateDir IMAGESDESTDIR$, cmoNone CreateDir MOVIESDESTDIR$, cmoNone CreateDir RUNTIMEDESTDIR$, cmoNone CreateDir SOUNDSDESTDIR$, cmoNone CreateDir SIDESTDIR$, cmoNone CreateDir MMDESTDIR$, cmoNone 'CreateDir DEST$, cmoNone 'CreateDir MakePath(DEST$, "RUNTIME"), cmoNone 'CreateDir MakePath(DEST$, "MIDFILES"), cmoNone AddSectionFilesToCopyList "Prespart", PRESPARTDIR$, PRESPARTDESTDIR$ AddSectionFilesToCopyList "Favorite", FAVORITEDIR$, FAVORITEDESTDIR$ AddSectionFilesToCopyList "Help", HELPDIR$, HELPDESTDIR$ AddSectionFilesToCopyList "Resource", RESOURCEDIR$, RESOURCEDESTDIR$ AddSectionFilesToCopyList "SST", SSTDIR$, SSTDESTDIR$ AddSectionFilesToCopyList "Images", IMAGESDIR$, IMAGESDESTDIR$ AddSectionFilesToCopyList "Movies", MOVIESDIR$, MOVIESDESTDIR$ AddSectionFilesToCopyList "Runtime", RUNTIMEDIR$, RUNTIMEDESTDIR$ AddSectionFilesToCopyList "Sounds", SOUNDSDIR$, SOUNDSDESTDIR$ AddSectionFilesToCopyList "Audiosim", SIDIR$, SIDESTDIR$ AddSectionFilesToCopyList "Midisoft", MMDIR$, MMDESTDIR$ AddSectionFilesToCopyList "System", WINSYSSOURCEDIR$, winSysDir$ '**************************************************************************** ' These are the files for Video for Windows 'IF vfw$ = "OFF" THEN ' AddSectionFilesToCopyList "VfW Runtime", VFWDIR$, WinSysDir$ ' AddSectionFilesToCopyList "OLE2", VFWDIR$, WinSysDir$ ' AddSectionFilesToCopyList "ACM Drivers", VFWDIR$, WinSysDir$ ' AddSectionFilesToCopyList "MPlayer", VFWDIR$, WinDir$ ' AddSectionFilesToCopyList "AVICodecs", VFWDIR$, WinSysDir$ ' AddSectionFilesToCopyList "Indeo-ini", VFWDIR$, WinDir$ 'END IF If ScrWid% = 640 Then AddToBillboardList CUIDLL$, INFO1X, "FModelessDlgProc", 200 Else AddToBillboardList CUIDLL$, INFO1, "FModelessDlgProc", 200 End If If ScrWid% = 640 Then AddToBillboardList CUIDLL$, INFO2X, "FModelessDlgProc", 200 Else AddToBillboardList CUIDLL$, INFO2, "FModelessDlgProc", 200 End If If ScrWid% = 640 Then AddToBillboardList CUIDLL$, INFO3X, "FModelessDlgProc", 200 Else AddToBillboardList CUIDLL$, INFO3, "FModelessDlgProc", 200 End If CopyFilesInCopyList CreateIniKeyValue "Win.ini", "Extensions", "sst", MakePath(SSTDESTDIR$,"SST.EXE"), cmoOverwrite '//////Write the audio.ini file ini$ = MakePath (WinDir$ , "AUDIO.INI") CreateIniKeyValue ini$, "SetupInfo", "SetupPath", SIDESTDIR$ , cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", "LastRunFrom", SIDESTDIR$ + "\audiosim.exe", cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", "RATProduct", "No" , cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", "Running", "No" , cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", "MidiEditor", MIDIEDITOR , cmoOverwrite CreateIniKeyValue ini$, "Audio", "PitchType", "Fixed", cmoOverwrite CreateIniKeyValue ini$, "Audio", "StartupDirectory", MMDESTDIR$, CmoOverwrite CreateIniKeyValue ini$, "Audio", "VirtualBoundary", "2" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "InputImpedance", "Mic", cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "InputPatch", "On" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "OutputPatch", "On" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "MicPatch", "Record" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "LinePatch", "Record" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "AuxPatch", "Record" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "Focus", "Mic" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "OutputChannels", "Normal", cmoOverwrite IF SELECTED$ = "Other" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "OutputChannels", "Normal" , cmoOverwrite END IF IF SELECTED$ = "MediaVision" THEN CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "MixerType", "MediaVisionStd" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "OutputChannels", "Reversed" , cmoOverwrite END IF IF SELECTED$ = "UNLISTED" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Antex VP Series" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "7100" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "36000" , cmoOverwrite END IF IF SELECTED$ = "Antex Audio Port" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "7100" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "36000" , cmoOverwrite END IF IF SELECTED$ = "Antex AV-16" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "6000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "32000" , cmoOverwrite END IF IF SELECTED$ = "Antex SX Series" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "6250" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "50000" , cmoOverwrite END IF IF SELECTED$ = "ATI" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Audiotrix Pro" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "AudiotrixPro" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Aztech" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Cardinal" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Creative Labs" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "4001" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Diamond SonicSound LX" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaChips" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Ensoniq Soundscape" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Soundscape" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Genoa Systems" THEN CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "Yes", cmoOverwrite CreateIniKeyValue ini$, "Audio", "MixerType", "Genoa" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Jovian Logic" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Jovian" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Logitech SoundMan 16" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaVision" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Media Chips MAD-16" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaChips" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Media Master" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaMaster" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Media Vision all cards" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaVisionStd" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite CreateIniKeyValue ini$, "AudioLevel", "OutputChannels", "Reversed", cmoOverwrite END IF IF SELECTED$ = "Media Vision AudioPort" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Mediasonic" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "MIDI Land" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Oak Mozart" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "MediaChips" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Omni Labs AudioMaster" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Orchid SoundWave 32" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Orchid" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Fixed" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "11025" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "ProMEDIA" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "6300" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "48000" , cmoOverwrite END IF IF SELECTED$ = "Roland RAP-10" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Roland" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "88200" , cmoOverwrite END IF IF SELECTED$ = "Sound FX 16" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "SoundFX16" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF IF SELECTED$ = "Turtle Beach" THEN CreateIniKeyValue ini$, "Audio", "MixerType", "Standard" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "RoundMixerKnobs", "No", cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerType", "Variable" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMin", "5000" , cmoOverwrite CreateIniKeyValue ini$, "Audio", "SamplerMax", "44100" , cmoOverwrite END IF ini$ = MakePath (GetWindowsDir, "MIDISOFT.INI") CreateIniKeyValue ini$, "SetupInfo", RUNNING, "NO", cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", SETUPPATH, MMDESTDIR$, cmoOverwrite CreateIniKeyValue ini$, "SetupInfo", LASTRUNFROM, MakePath(MMDESTDIR$,MIDIEXE), cmoOverwrite ' More VFW stuff 'IF vfw$ = "OFF" THEN 'IF VflatdPresent() = 0 THEN ' CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite ' END IF ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "indeov.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite ' I% = DoesIniKeyExist ("system.ini", "Drivers", "VIDC.RT21") ' IF I% = 0 THEN ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite ' END IF ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "indeov.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite ' CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite ' CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite ' CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite ' CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite ' Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg")) ' Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg")) ' Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg")) 'END IF ICONPATH$ = MakePath(SrcDir$,"PRESPART.ICO") ICONPATH3$ = MakePath(SrcDir$,"ASSIST.ICO") ICONPATH2$ = MakePath(SrcDir$,"SST.ICO") HLPICONPATH$ = MakePath(SrcDir$, "HELP.ICO") CreateProgmanGroup "Presentation Partner", "", cmoNone ShowProgmanGroup "Presentation Partner", 1, cmoNone CreateProgmanItem "Presentation Partner", "Presentation Partner", PRESPARTDESTDIR$ + "\PRESPART.EXE", ICONPATH$, cmoOverwrite CreateProgmanItem "Presentation Partner", "ShowScript Assistant", PRESPARTDESTDIR$ + "\ASSIST.EXE", ICONPATH3$, cmoOverwrite CreateProgmanItem "Presentation Partner", "Super Show & Tell 1.1", SSTDESTDIR$ + "\SST.EXE", ICONPATH2$, cmoOverwrite ''CreateProgmanItem "Presentation Partner", "ShowScript Assistant", PRESPARTDESTDIR$ + "\SSASSIST.HLP", HLPICONPATH$, cmoOverwrite CreateProgmanItem "Presentation Partner", "Presentation Partner Quick Tour", QTDIR$ + "\PLAYACT.EXE QUIKTOUR.ACP", "", cmoOverwrite findpm$ = FindTargetOnEnvVar ("progman.exe","path") IF findpm$ <> "" THEN CreateProgmanItem "Presentation Partner", HELPTITLE, MakePath(MMDESTDIR$, HELPEXE),"", cmoOverwrite CreateProgmanItem "Presentation Partner", NOTATIONTITLE, "WINHELP -i INTRO_NOTATION " + MMDESTDIR$ + "\INTRO.HLP","", cmoOverwrite CreateProgmanItem "Presentation Partner", MIDITITLE, "WINHELP -i INTRO_MIDI " + MMDESTDIR$ + "\INTRO.HLP","", cmoOverwrite CreateProgmanItem "Presentation Partner", GENERALTITLE, "WINHELP -i INTRO_GENERAL_MIDI " + MMDESTDIR$ + "\INTRO.HLP","", cmoOverwrite CreateProgmanItem "Presentation Partner", "Music Magic", MakePath (MMDESTDIR$, MIDIEXE), "", cmoOverwrite CreateProgmanItem "Presentation Partner", "Waveform Editor", MakePath (SIDESTDIR$ , "audiored.exe"), "", cmoOverwrite CreateProgmanItem "Presentation Partner", "Wave Composer", MakePath (SIDESTDIR$ , "audiorcm.exe"), "", cmoOverwrite CreateProgmanItem "Presentation Partner", "Session Manager", MakePath (SIDESTDIR$ , "audiormn.exe"), "", cmoOverwrite CreateProgmanItem "Presentation Partner", SIHELPTITLE, MakePath (SIDESTDIR$ , "audiohlp.hlp"), "", cmoOverwrite CreateProgmanItem "Presentation Partner", "Sound Impression", MakePath (SIDESTDIR$ , "audiosim.exe"), "", cmoOverwrite ELSE nopm% = MessageBox(hwnd%,"Program Manager not found on your path. Add Sound Impression paths and properties to your shell after installation.", "Sound Impression Setup)", MB_OK+MB_ICONINFORMATION) END IF 'Program manager present 'VFW Stuff 'If vfw$ = "OFF" THEN 'Run ("profdisp.exe") 'End if 'end vfw 'This stuff restarts Windows for VFW 'IF vfw$ = "OFF" THEN 'SetRestartDir WinDir$ 'RESTRT% = RestartListEmpty () ' Exe$ = DEST$ + "\_msrstrt.exe" ' Batch$ = DEST$ + "\_mssetup.bat" ' empty$ = "" 'RESTART: ' IF RESTRT% = 0 THEN ' sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "") ' IF sz$ = "REACTIVATE" THEN ' GOTO RESTART ' ENDIF ' I% = ExitExecRestart () ' RemoveFile Exe$, cmoForce ' RemoveFile Batch$, cmoForce ' END ' ELSE ' sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "") ' IF sz$ = "CONTINUE" THEN ' I% = ExitWindowsExec (Exe$, empty$) ' IF I% = 0 THEN ' GOTO RESTART ' ELSE ' END ' ENDIF ' ELSEIF sz$ = "EXIT" THEN ' UIPopAll ' END ' ELSEIF sz$ = "REACTIVATE" THEN ' GOTO RESTART ' ELSE ' UIPop 1 ' END IF ' END IF 'END IF SrcDir$ = GetSymbolValue("STF_SRCDIR") RUN SrcDir$ + "_setup.exe", NOWAIT END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION '************************************************************************ ' CreateProgGroup ' This subroutine creates a program manager group if the user elects ' to run mentor from the cd-rom SUB CreateProgGroup STATIC SrcDir$ = GetSymbolValue("STF_SRCDIR") RUNDEST$ = MakePath(SrcDir$, "RUNTIME") ICONPATH$ = MakePath(RUNDEST$,"MENTOR.ICO") CreateIniKeyValue "Win.ini", "Extensions", "mtr", MakePath(DEST$,"TBOOK.EXE"), cmoOverwrite CreateProgmanGroup "Music Mentor CD-ROM Edition", "", cmoNone ShowProgmanGroup "Music Mentor CD-ROM Edition", 1, cmoNone CreateProgmanItem "Music Mentor CD-ROM Edition", "Music Mentor CD-ROM Edition", MakePath(RUNDEST$,"TBOOK.EXE") + " " + SrcDir$ + "MENTOR.MTR", ICONPATH$, cmoOverwrite END SUB