;*********************************************************************** ; CONSTANTS FOR USING DIALOGS ;*********************************************************************** [GeneralConstants] ; ; Constants to support the use of radio button dialogs ; Radio1 = "1" Radio2 = "2" Radio3 = "3" Radio4 = "4" Radio5 = "5" Radio6 = "6" Radio7 = "7" Radio8 = "8" Radio9 = "9" ; ; Constants to support the use of checkbox dialogs Chosen = "ON" NotChosen = "OFF" ;************************************************************************ ; CONFIGURATION CHOICES ; --------------------- ; the sections below contain the different choices supported for ; the configuration items shown. an id section establishes the ; language independent IDs supported by nt setup. for each language ; supported a text section displays the text used for the different ; choices ;************************************************************************ ;******************************** ; PLATFORM INDEPENDENT CHOICES ;******************************** ;---------------------------------------------------- ; PROCESSOR CHOICES ;---------------------------------------------------- [ProcessorID] ProcessorID_I386 = I386 ProcessorID_I486 = I486 ProcessorID_I586 = I586 ProcessorID_R4000 = R4000 ProcessorID_Alpha = Alpha_AXP ProcessorID_PPC601 = PPC601 ProcessorID_PPC603 = PPC603 ProcessorID_PPC604 = PPC604 ProcessorID_PPC620 = PPC620 ;---------------------------------------------------- ; PLATFORM CHOICES ;---------------------------------------------------- [PlatformID] PlatformID_I386 = I386 PlatformID_Mips = Mips PlatformID_Alpha = Alpha PlatformID_PPC = ppc ;************************************************************** ; UI VARIABLES ;************************************************************** [ProcessorVar] STF_PROCESSOR = "" ? $(LIBHANDLE) GetProcessor STF_PLATFORM = "" [LanguageVar] ; ; Language to Use For interaction with user ; STF_LANGUAGE = "" ? $(LIBHANDLE) GetLanguage [UiVars] ; ; Version Information ; BuildVersion = "12-91" ; ; Destination TOOLS Drive Particulars ; VolumeList = {} ? $(LIBHANDLE) GetHardDriveLetters VolumeFreeList = {} ? $(LIBHANDLE) GetHardDriveFreeSpace VolumeFSList = {} ? $(LIBHANDLE) GetHardDriveFileSystems DestVolume = "" ; ; ; Mstools directory ; MSTOOLS = "\MSTOOLS" ; ; user environment variables in the current user's profile ; PathEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Path LibEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Lib IncludeEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER Include InitEnvVar = {} ? $(LIBHANDLE) GetEnvVar USER init ; ; Installation mode ; MinInteract = $(Radio1) MaxInteract = $(Radio2) STF_INSTALL_MODE = $(MinInteract) ; ; Mstools Setup Help IDs ; !IDH_DB_TOOLSWELCOME_INS = 3000 !IDH_DB_MSTINSTALLMODE_INS = 3010 !IDH_DB_MSTDEST_INS = 3020 !IDH_DB_MSTOPTIONS_INS = 3030 [VarsI386] ; MinToolsSize = 10 MaxToolsSize = 26 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 5675520 PosixSize = 0 ; ; Installation options ; DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(Chosen) DoPosix = $(NotChosen) ; ; Options to disable ; DisableList = {4} [VarsMips] ; MinToolsSize = 20 MaxToolsSize = 36 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 0 PosixSize = 0 ; ; Installation options ; DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(NotChosen) DoPosix = $(NotChosen) ; ; Options to disable ; DisableList = {3,4} [Varsppc] ; MinToolsSize = 20 MaxToolsSize = 36 ToolsSamplesSize = 1058816 ToolsHelpSize = 8671232 MfcSize = 0 PosixSize = 0 ; ; Installation options ; DoToolsSamples = $(Chosen) DoToolsHelp = $(Chosen) DoMfc = $(NotChosen) DoPosix = $(NotChosen) ; ; Options to disable ; DisableList = {3,4} ;************************************************************************** ; DLL LOAD and FREE ; the following section contain commands to load specific dll libraries and ; to free them ;************************************************************************** ;---------------------------------------------- ; a) DETECT LIBRARY ;---------------------------------------------- [LoadSetupLibrary] LoadLibrary "x" $(STF_CWDDIR)\setupdll.dll LIBHANDLE exit [FreeSetupLibrary] FreeLibrary $(LIBHANDLE) exit ;************************************************************************** ; SHELL COMMANDS SCRIPT ;************************************************************************** [Shell Commands] ; ; Initialise the app, by setting the caption and loading the support library ; set-title "Win32 SDK Setup" set Exit_Code = $(!SETUP_ERROR_GENERAL) install LoadSetupLibrary StartWait ; ; read general constants ; set-subst LF = "\n" read-syms GeneralConstants ; ; read the platform independent choices ; read-syms LanguageID read-syms ProcessorID read-syms PlatformID ; ; read the default language and try to detect the language ; read-syms LanguageVar detect LanguageVar ; ; read and detect the processor we are working on ; read-syms ProcessorVar detect ProcessorVar read-syms Strings$(!STF_LANGUAGE) ; ; Check processor type, see if it is supported, if so what platform does it ; belong to. ; ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I386) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586) set STF_PLATFORM = $(PlatformID_I386) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000) set STF_PLATFORM = $(PlatformID_Mips) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_Alpha) set STF_PLATFORM = $(PlatformID_Alpha) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC601) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC603) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC604) set STF_PLATFORM = $(PlatformID_PPC) else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC620) set STF_PLATFORM = $(PlatformID_PPC) else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String1) goto setupnotdone endif ; ; read the UI Variables and detect their setting on the current machine ; read-syms UiVars detect UiVars read-syms Vars$(STF_PLATFORM) EndWait welcome =+ read-syms WelcomeDlg$(STF_LANGUAGE) ui start "Welcome" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto queryinstallmode else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto welcome endif else goto end endif ; ; show install mode dialog and query if we are to operate in express mode ; or in full install ; queryinstallmode =+ read-syms InstallModeDlg$(STF_LANGUAGE) ui start "InstallMode" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 set STF_INSTALL_MODE = $(ButtonChecked) goto setdestination else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto queryinstallmode endif else goto end endif setdestination =+ ; ; go through the volume list and form the destination volume list of ; all volumes which have the size needed to install the mstools. ; set DestVolumeList = {} set DestVolumeFreeList = {} ForListDo $(VolumeList) set CurrentVolume = *($(VolumeList), $(#)) set CurrentVolumeFree = *($(VolumeFreeList), $(#)) set CurrentVolumeFS = *($(VolumeFSList), $(#)) Ifstr(i) $(CurrentVolumeFS) == "" goto skipvol else-Ifint $(CurrentVolumeFree) < $(MinToolsSize) goto skipvol endif set DestVolumeList = >($(DestVolumeList), $(CurrentVolume)) set DestVolumeFreeList = >($(DestVolumeFreeList), $(CurrentVolumeFree)) skipvol=+ EndForListDo ; ; check to see if there is any volume else tell the user to create enough ; space and exit ; ifstr(i) $(DestVolumeList) == {} shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String8)$(MaxToolsSize)$(String10)$(String11) goto setupnotdone endif ; ; destination drive is the drive with the maximum space ; set DestVolume = "" set DestVolumeFree = 0 ForListDo $(DestVolumeList) set Volume = $($) set VolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(Volume))) ifint $(VolumeFree) > $(DestVolumeFree) set DestVolume = $(Volume) set DestVolumeFree = $(VolumeFree) endif EndForListDo set MstoolsDir = $(DestVolume)$(MSTOOLS) ; ; display tools destination, size available and needed for ; user approval ; destination =+ ifstr(i) $(STF_INSTALL_MODE) == $(MinInteract) ifint $(DestVolumeFree) < $(MaxToolsSize) shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String8)$(MaxToolsSize)$(String10)$(String12) goto setupnotdone else goto mstooldirs endif endif read-syms DestinationDlg$(STF_LANGUAGE) ui start "Destination" ifstr(i) $(DLGEVENT) == "NOTIFY" ifstr(i) $(Combo1Out) != $(DestVolume) set ReInit = YES set DestVolume = $(Combo1Out) set DestVolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(DestVolume))) set MstoolsDir = $(DestVolume)$(MSTOOLS) else set ReInit = NO endif goto destination else-ifstr(i) $(DLGEVENT) == "CONTINUE" set ReInit = NO LibraryProcedure IsFullPath, $(LIBHANDLE), CheckPathFullPathSpec $(EditTextOut) ifstr(i) $(IsFullPath) == "NO" shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String13)$(DestVolume)$(MSTOOLS) goto destination else GetDriveInPath Drive, $(EditTextOut) Ifcontains(i) $(Drive) in $(DestVolumeList) set DestVolume = $(Drive) set DestVolumeFree = *($(DestVolumeFreeList), ~($(DestVolumeList), $(DestVolume))) set MstoolsDir = $(EditTextOut) else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String14) goto destination endif endif ui pop 1 goto mstooldirs else-ifstr(i) $(DLGEVENT) == "EXIT" set ReInit = NO shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto destination endif else goto end endif mstooldirs = + LibraryProcedure MstoolsDir, $(LIBHANDLE), AppendBackSlash $(MstoolsDir) ; ; First find all the destination directories for the tools ; set MstoolsPath = $(MstoolsDir)bin set MstoolsLib = $(MstoolsDir)lib set MstoolsInclude = $(MstoolsDir)h set MstoolsIncStrict = $(MstoolsDir)h\strict set MstoolsInit = $(MstoolsDir)init set ToolsSamplesInclude = $(MstoolsDir)samples\inc set MfcLib = $(MstoolsDir)mfc\lib set MfcInclude = $(MstoolsDir)mfc\include ; ; mstool install. ask user for options on mstool install. ; mstools = + ifstr(i) $(STF_INSTALL_MODE) == $(MinInteract) goto mstoolsinstall endif ifint $(DestVolumeFree) < $(MaxToolsSize) set DoToolsSamples = $(NotChosen) set DoToolsHelp = $(NotChosen) set DoMfc = $(NotChosen) set DoPosix = $(NotChosen) endif set-sub FreeForOptional = $(DestVolumeFree) $(MinToolsSize) ifstr(i) $(FreeForOptional) == 0 shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String15) endif read-syms MSToolsOptionsDlg$(STF_LANGUAGE) ui start "Options" ifstr(i) $(DLGEVENT) == "CONTINUE" set DoToolsSamples = *($(CheckItemsOut), 1) set DoToolsHelp = *($(CheckItemsOut), 2) set DoMfc = *($(CheckItemsOut), 3) set DoPosix = *($(CheckItemsOut), 4) ui pop 1 goto mstoolsinstall else-ifstr(i) $(DLGEVENT) == "EXIT" shell "" QueryUserQuit ifstr(i) $($R1) == "OK" ui pop 1 goto setupnotdone else goto mstools endif else goto "end" endif ; ; build mstools copy list ; mstoolsinstall =+ StartWait install Install-CopyToolsFiles EndWait ; ; Complete the copying of files added by other options. ; ; Alter the CFG/INI files as needed by the options. ; ; print information screen to restart ; finish = + ; ; first copy all the files over ; read-syms ProgressCopy$(STF_LANGUAGE) install Install-All-Files-Now ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_SUCCESS" goto mstoolsconfig else shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String4) goto setupnotdone endif StartWait mstoolsconfig=+ ; ; first initialize the variables which indicate whether new values are ; to be set for the variables or not ; ForListDo {Path, Lib, Include, Init} set FSet$($)Var = FALSE EndForListDo ; ; add the mfc variables if mfc chosen, posix is not set up ; ifstr(i) $(DoMfc) == $(Chosen) ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(Mfc$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(Mfc$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo endif ifstr(i) $(DoToolsSamples) == $(Chosen) ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(ToolsSamples$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(ToolsSamples$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo endif ; ; For the Path, Lib and Include variables see if we can prepend them ; onto the current variables ; ForListDo {Path, Lib, Include, Init} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(Mstools$(Var))}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(Mstools$(Var)) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo ForListDo {Include} set Var = $($) ifstr(i) $($(Var)EnvVar) == {} set $(Var)EnvVar = {$(Var), 0, $(!REG_VT_EXPAND_SZ), {$(MstoolsIncStrict)}} set FSet$(Var)Var = TRUE else set VarTitle = *($($(Var)EnvVar), 2) set VarRegType = *($($(Var)EnvVar), 3) set VarValue = *($($(Var)EnvVar), 4) shell "" PrependNewValueToEnvVar $(VarValue) $(MstoolsIncStrict) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String6) goto setupnotdone endif ifstr(i) $($R1) == "TRUE" set FSet$(Var)Var = TRUE set $(Var)EnvVar = {$(Var), $(VarTitle), $(VarRegType), $($R2)} endif endif EndForListDo ; ; make cpu variable - STF_PLATFORM ; set FSetCpuVar = TRUE ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_I386) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), i386} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_MIPS) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), MIPS} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_Alpha) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), ALPHA} endif ifstr(i) $(!STF_PLATFORM) == $(!PlatformID_PPC) set CpuEnvVar = {Cpu, 0, $(!REG_VT_SZ), ppc} endif ; ; modify all the environment variables ; ForListDo {Path, Lib, Include, Init, Cpu} ; ; if the variable to set the variable is set ifstr(i) $(FSet$($)Var) == "TRUE" shell "" SetEnvironmentString $($($)EnvVar) ifstr(i) $($R0) == STATUS_FAILED shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String7) endif endif EndForListDo install Install-MSTools-Groups setupdone=+ set Exit_Code = $(!SETUP_ERROR_SUCCESS) read-syms SetupDoneDlg$(STF_LANGUAGE) EndWait ui start "Done" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto end else goto end endif setupnotdone=+ read-syms SetupNotDoneDlg$(STF_LANGUAGE) EndWait ui start "NotDone" ifstr(i) $(DLGEVENT) == "CONTINUE" ui pop 1 goto end else goto end endif end = + install FreeSetupLibrary exit ;***************************************************************** ; * ; INSTALLATION SUPPORT ROUTINES * ; * ;***************************************************************** ;----------------------------------------------------------------------- ; ROUTINE: QueryUserQuit ; ; DESCRIPTION: This routine queries whether the user wants to quit setup ; ; INPUTS: None ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL | ; STATUS_FAILED ; ; $R1: UserAction: OK | CANCEL ; ;------------------------------------------------------------------------ [QueryUserQuit] set Status = STATUS_FAILED set UserAction = CANCEL ; ; read in quit message ; read-syms ExitWarningDlg$(!STF_LANGUAGE) ui start "ExitWarning" ifstr(i) $(DLGEVENT) == "YES" set Status = STATUS_SUCCESSFUL set UserAction = "OK" else-ifstr(i) $(DLGEVENT) == "NO" set Status = STATUS_SUCCESSFUL set UserAction = "CANCEL" else endif fin_QueryUserQuit = + Return $(Status) $(UserAction) ;----------------------------------------------------------------------- ; ROUTINE: PrependNewValueToEnvVar ; ; DESCRIPTION: Looks at the existing value of an environment variable ; and appends a new value if it is not already present ; ; INPUTS: $0: OldValueList ; $1: NewValue ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL ; STATUS_FAILED ; ; $R1: Changed? ; $R2: NewValueList ; ;------------------------------------------------------------------------ [PrependNewValueToEnvVar] ; set Status = STATUS_FAILED set NewValueList = {} set Changed = TRUE ; set Error = NO ForListDo $($0) ifstr(i) $(Error) == NO ifstr(i) $(Changed) == TRUE LibraryProcedure ExpandedValue, $(!LIBHANDLE), ExpandSz $($) ifstr(i) $(ExpandedValue) == "ERROR" set Error = YES else-ifstr(i) $(ExpandedValue) == $($1) set Changed = FALSE endif endif endif EndForListDo ifstr(i) $(Error) == "YES" goto finish_append endif set Status = STATUS_SUCCESSFUL ifstr(i) $(Changed) == TRUE set NewValueList = {$($1)} ForListDo $($0) set NewValueList = >($(NewValueList), $($)) EndForListDo endif finish_append = + return $(Status) $(Changed) $(NewValueList) ;----------------------------------------------------------------------- ; ROUTINE: SetEnvironmentString ; ; DESCRIPTION: Set the value for a user environment string ; ; INPUTS: $0: VarList ; ; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL ; STATUS_FAILED ; ; ;------------------------------------------------------------------------ [SetEnvironmentString] ; ; set Status = STATUS_FAILED set Var = *($($0), 1) set VarTitle = *($($0), 2) set VarRegType = *($($0), 3) set VarValueList = *($($0), 4) set VarValue = "" ForListDo $(VarValueList) ifstr(i) $(VarValue) != "" set VarValue = $(VarValue)";"$($) else set VarValue = $($) endif EndForListDo LibraryProcedure STATUS, $(!LIBHANDLE), SetEnvVar USER $(Var) $(VarTitle) $(VarRegType) $(VarValue) ifstr(i) $(STATUS) == "ERROR" goto finish_setenvstr endif set Status = STATUS_SUCCESSFUL finish_setenvstr = + Return $(Status) ;***************************************************************** ; * ; INSTALLATION SUPPORT ROUTINES * ; * ;***************************************************************** [Install-MSTools-Groups] set ToolsGroup = "Win32 Software Development Kit" CreateProgManGroup $(ToolsGroup) "" ShowProgManGroup $(ToolsGroup), 1 CreateProgmanItem $(ToolsGroup) , "Readme" "notepad "$(MstoolsDir)"readme.txt" "" 0 CreateProgmanItem $(ToolsGroup) , "M Editor" $(MstoolsPath)"\mep" "moricons.dll" 86 CreateProgmanItem $(ToolsGroup) , "Dialog Editor" $(MstoolsPath)"\dlgedit" "" 0 CreateProgmanItem $(ToolsGroup) , "Image Editor" $(MstoolsPath)"\imagedit" "" 0 CreateProgmanItem $(ToolsGroup) , "Spy" $(MstoolsPath)"\spy" "" 0 CreateProgmanItem $(ToolsGroup) , "DDESpy" $(MstoolsPath)"\ddespy" "" 0 CreateProgmanItem $(ToolsGroup) , "WinDbg" $(MstoolsPath)"\windbg" "" 0 CreateProgmanItem $(ToolsGroup) , "Zoom Utility" $(MstoolsPath)"\zoomin" "" 0 CreateProgmanItem $(ToolsGroup) , "Font Editor" $(MstoolsPath)"\fontedit" "" 0 CreateProgmanItem $(ToolsGroup) , "PView" $(MstoolsPath)"\pview" "" 0 CreateProgmanItem $(ToolsGroup) , "PortTool" $(MstoolsPath)"\porttool" "" 0 CreateProgmanItem $(ToolsGroup) , "PStat" $(MstoolsPath)"\pstat" "progman.exe" 40 CreateProgmanItem $(ToolsGroup) , "CPU Thermometer" $(MstoolsPath)"\cputherm" "" 0 ifstr(i) $(DoToolsHelp) == $(Chosen) CreateProgmanItem $(ToolsGroup) , "Win32 API Reference" "winhelp "$(MstoolsPath)"\api32wh.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "C Run-time Reference" "winhelp "$(MstoolsPath)"\msc.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "RPC Language Help" "winhelp "$(MstoolsPath)"\midl10wh.hlp" "" 0 CreateProgmanItem $(ToolsGroup) , "Samples Help" "winhelp "$(MstoolsPath)"\samples.hlp" "" 0 endif ShowProgManGroup $(ToolsGroup), 6 exit ;************************************************************************ ; * ; MSTOOLS SUPPORT * ; * ;************************************************************************ [Install-CopyToolsFiles] set STF_VITAL = "" ; ; 1. MSTOOLS - always done CreateDir $(MstoolsDir) CreateDir $(MstoolsInclude) CreateDir $(MstoolsInclude)\sys CreateDir $(MstoolsInclude)\strict CreateDir $(MstoolsPath) CreateDir $(MstoolsLib) CreateDir $(MstoolsInit) AddSectionFilesToCopyList Files-mstools $(STF_SRCDIR)mstools $(MstoolsDir) AddSectionFilesToCopyList Files-mstools-bin-$(STF_PLATFORM) $(STF_SRCDIR)mstools\bin\$(STF_PLATFORM) $(MstoolsPath) AddSectionFilesToCopyList Files-mstools-h $(STF_SRCDIR)mstools\h $(MstoolsInclude) AddSectionFilesToCopyList Files-mstools-h-sys $(STF_SRCDIR)mstools\h\sys $(MstoolsInclude)\sys AddSectionFilesToCopyList Files-mstools-h-strict $(STF_SRCDIR)mstools\h\strict $(MstoolsInclude)\strict AddSectionFilesToCopyList Files-mstools-init $(STF_SRCDIR)mstools\init $(MstoolsInit) AddSectionFilesToCopyList Files-mstools-lib-$(STF_PLATFORM) $(STF_SRCDIR)mstools\lib\$(STF_PLATFORM) $(MstoolsLib) ; ; 2. Help files - conditional ; ifstr(i) $(!DoToolsHelp) == $(!Chosen) AddSectionFilesToCopyList Files-mstools-help $(STF_SRCDIR)mstools\help $(MstoolsPath) endif ; ; 3. Mstools samples - conditional ; ifstr(i) $(!DoToolsSamples) == $(!Chosen) set SampleList = { + cliptext ,+ comm ,+ console ,+ cursor ,+ deb ,+ filer ,+ fontview ,+ gdidemo ,+ generic ,+ getsys ,+ inc ,+ input ,+ mandel ,+ maskblt ,+ memory ,+ menu ,+ mfedit ,+ mltithrd ,+ multipad ,+ mypal ,+ npclient ,+ npserver ,+ ntfonts ,+ output ,+ owncombo ,+ pdc ,+ playit ,+ plgblt ,+ polydraw ,+ registry ,+ select ,+ showdib ,+ sidcln ,+ simple ,+ tls ,+ wxform ,+ rpc + } ; ; First copy all the files in the samples directory ; CreateDir $(MstoolsDir)samples AddSectionFilesToCopyList Files-mstools-samples $(STF_SRCDIR)mstools\samples $(MstoolsDir)samples ; ; Then copy all the files in the various directories at the sample level ; ForListDo $(SampleList) CreateDir $(MstoolsDir)samples\$($) AddSectionFilesToCopyList Files-mstools-samples-$($) $(STF_SRCDIR)mstools\samples\$($) $(MstoolsDir)samples\$($) EndForListDo ; ; Lastly handle ole, rpc & ddeml separately because this has multiple level subdirs ; ; 1. ole CreateDir $(MstoolsDir)samples\ole CreateDir $(MstoolsDir)samples\ole\clidemo CreateDir $(MstoolsDir)samples\ole\srvrdemo AddSectionFilesToCopyList Files-mstools-samples-ole-clidemo $(STF_SRCDIR)mstools\samples\ole\clidemo $(MstoolsDir)samples\ole\clidemo AddSectionFilesToCopyList Files-mstools-samples-ole-srvrdemo $(STF_SRCDIR)mstools\samples\ole\srvrdemo $(MstoolsDir)samples\ole\srvrdemo ; 2. ddeml CreateDir $(MstoolsDir)samples\ddeml CreateDir $(MstoolsDir)samples\ddeml\client CreateDir $(MstoolsDir)samples\ddeml\clock CreateDir $(MstoolsDir)samples\ddeml\server AddSectionFilesToCopyList Files-mstools-samples-ddeml-client $(STF_SRCDIR)mstools\samples\ddeml\client $(MstoolsDir)samples\ddeml\client AddSectionFilesToCopyList Files-mstools-samples-ddeml-clock $(STF_SRCDIR)mstools\samples\ddeml\clock $(MstoolsDir)samples\ddeml\clock AddSectionFilesToCopyList Files-mstools-samples-ddeml-server $(STF_SRCDIR)mstools\samples\ddeml\server $(MstoolsDir)samples\ddeml\server ; 3. rpc CreateDir $(MstoolsDir)samples\rpc CreateDir $(MstoolsDir)samples\rpc\data CreateDir $(MstoolsDir)samples\rpc\data\dunion CreateDir $(MstoolsDir)samples\rpc\data\inout CreateDir $(MstoolsDir)samples\rpc\data\xmit CreateDir $(MstoolsDir)samples\rpc\doctor CreateDir $(MstoolsDir)samples\rpc\dict CreateDir $(MstoolsDir)samples\rpc\handles CreateDir $(MstoolsDir)samples\rpc\handles\auto CreateDir $(MstoolsDir)samples\rpc\handles\cxhndl CreateDir $(MstoolsDir)samples\rpc\handles\usrdef CreateDir $(MstoolsDir)samples\rpc\hello CreateDir $(MstoolsDir)samples\rpc\mandel CreateDir $(MstoolsDir)samples\rpc\whello AddSectionFilesToCopyList Files-mstools-samples-rpc $(STF_SRCDIR)mstools\samples\rpc $(MstoolsDir)samples\rpc AddSectionFilesToCopyList Files-mstools-samples-rpc-data $(STF_SRCDIR)mstools\samples\rpc\data $(MstoolsDir)samples\rpc\data AddSectionFilesToCopyList Files-mstools-samples-rpc-data-dunion $(STF_SRCDIR)mstools\samples\rpc\data\dunion $(MstoolsDir)samples\rpc\data\dunion AddSectionFilesToCopyList Files-mstools-samples-rpc-data-inout $(STF_SRCDIR)mstools\samples\rpc\data\inout $(MstoolsDir)samples\rpc\data\inout AddSectionFilesToCopyList Files-mstools-samples-rpc-data-xmit $(STF_SRCDIR)mstools\samples\rpc\data\xmit $(MstoolsDir)samples\rpc\data\xmit AddSectionFilesToCopyList Files-mstools-samples-rpc-doctor $(STF_SRCDIR)mstools\samples\rpc\doctor $(MstoolsDir)samples\rpc\doctor AddSectionFilesToCopyList Files-mstools-samples-rpc-dict $(STF_SRCDIR)mstools\samples\rpc\dict $(MstoolsDir)samples\rpc\dict AddSectionFilesToCopyList Files-mstools-samples-rpc-handles $(STF_SRCDIR)mstools\samples\rpc\handles $(MstoolsDir)samples\rpc\handles AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-auto $(STF_SRCDIR)mstools\samples\rpc\handles\auto $(MstoolsDir)samples\rpc\handles\auto AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-cxhndl $(STF_SRCDIR)mstools\samples\rpc\handles\cxhndl $(MstoolsDir)samples\rpc\handles\cxhndl AddSectionFilesToCopyList Files-mstools-samples-rpc-handles-usrdef $(STF_SRCDIR)mstools\samples\rpc\handles\usrdef $(MstoolsDir)samples\rpc\handles\usrdef AddSectionFilesToCopyList Files-mstools-samples-rpc-hello $(STF_SRCDIR)mstools\samples\rpc\hello $(MstoolsDir)samples\rpc\hello AddSectionFilesToCopyList Files-mstools-samples-rpc-mandel $(STF_SRCDIR)mstools\samples\rpc\mandel $(MstoolsDir)samples\rpc\mandel AddSectionFilesToCopyList Files-mstools-samples-rpc-whello $(STF_SRCDIR)mstools\samples\rpc\whello $(MstoolsDir)samples\rpc\whello endif ; ; 4. Microsoft C++ - optional ; ifstr(i) $(DoMfc) == $(Chosen) CreateDir $(MstoolsDir)mfc CreateDir $(MfcInclude) CreateDir $(MfcLib) CreateDir $(MstoolsDir)mfc\doc CreateDir $(MstoolsDir)mfc\samples CreateDir $(MstoolsDir)mfc\samples\about2 CreateDir $(MstoolsDir)mfc\samples\chart CreateDir $(MstoolsDir)mfc\samples\ctrltest CreateDir $(MstoolsDir)mfc\samples\fileview CreateDir $(MstoolsDir)mfc\samples\hello CreateDir $(MstoolsDir)mfc\samples\helloapp CreateDir $(MstoolsDir)mfc\samples\mdi CreateDir $(MstoolsDir)mfc\samples\minmdi CreateDir $(MstoolsDir)mfc\samples\minsvr CreateDir $(MstoolsDir)mfc\samples\minsvrmi CreateDir $(MstoolsDir)mfc\samples\multipad CreateDir $(MstoolsDir)mfc\samples\oclient CreateDir $(MstoolsDir)mfc\samples\oserver CreateDir $(MstoolsDir)mfc\samples\restool CreateDir $(MstoolsDir)mfc\samples\showfont CreateDir $(MstoolsDir)mfc\samples\templdef CreateDir $(MstoolsDir)mfc\samples\tracer CreateDir $(MstoolsDir)mfc\samples\tutorial CreateDir $(MstoolsDir)mfc\samples\tutorial\char CreateDir $(MstoolsDir)mfc\samples\tutorial\win CreateDir $(MstoolsDir)mfc\src AddSectionFilesToCopyList Files-mstools-mfc $(STF_SRCDIR)mstools\mfc $(MstoolsDir)mfc AddSectionFilesToCopyList Files-mstools-mfc-doc $(STF_SRCDIR)mstools\mfc\doc $(MstoolsDir)mfc\doc AddSectionFilesToCopyList Files-mstools-mfc-include $(STF_SRCDIR)mstools\mfc\include $(MfcInclude) AddSectionFilesToCopyList Files-mstools-mfc-lib-$(STF_PLATFORM) $(STF_SRCDIR)mstools\mfc\lib\$(STF_PLATFORM) $(MfcLib) AddSectionFilesToCopyList Files-mstools-mfc-samples $(STF_SRCDIR)mstools\mfc\samples $(MstoolsDir)mfc\samples AddSectionFilesToCopyList Files-mstools-mfc-samples-about2 $(STF_SRCDIR)mstools\mfc\samples\about2 $(MstoolsDir)mfc\samples\about2 AddSectionFilesToCopyList Files-mstools-mfc-samples-chart $(STF_SRCDIR)mstools\mfc\samples\chart $(MstoolsDir)mfc\samples\chart AddSectionFilesToCopyList Files-mstools-mfc-samples-ctrltest $(STF_SRCDIR)mstools\mfc\samples\ctrltest $(MstoolsDir)mfc\samples\ctrltest AddSectionFilesToCopyList Files-mstools-mfc-samples-fileview $(STF_SRCDIR)mstools\mfc\samples\fileview $(MstoolsDir)mfc\samples\fileview AddSectionFilesToCopyList Files-mstools-mfc-samples-hello $(STF_SRCDIR)mstools\mfc\samples\hello $(MstoolsDir)mfc\samples\hello AddSectionFilesToCopyList Files-mstools-mfc-samples-helloapp $(STF_SRCDIR)mstools\mfc\samples\helloapp $(MstoolsDir)mfc\samples\helloapp AddSectionFilesToCopyList Files-mstools-mfc-samples-mdi $(STF_SRCDIR)mstools\mfc\samples\mdi $(MstoolsDir)mfc\samples\mdi AddSectionFilesToCopyList Files-mstools-mfc-samples-minmdi $(STF_SRCDIR)mstools\mfc\samples\minmdi $(MstoolsDir)mfc\samples\minmdi AddSectionFilesToCopyList Files-mstools-mfc-samples-minsvr $(STF_SRCDIR)mstools\mfc\samples\minsvr $(MstoolsDir)mfc\samples\minsvr AddSectionFilesToCopyList Files-mstools-mfc-samples-minsvrmi $(STF_SRCDIR)mstools\mfc\samples\minsvrmi $(MstoolsDir)mfc\samples\minsvrmi AddSectionFilesToCopyList Files-mstools-mfc-samples-multipad $(STF_SRCDIR)mstools\mfc\samples\multipad $(MstoolsDir)mfc\samples\multipad AddSectionFilesToCopyList Files-mstools-mfc-samples-oclient $(STF_SRCDIR)mstools\mfc\samples\oclient $(MstoolsDir)mfc\samples\oclient AddSectionFilesToCopyList Files-mstools-mfc-samples-oserver $(STF_SRCDIR)mstools\mfc\samples\oserver $(MstoolsDir)mfc\samples\oserver AddSectionFilesToCopyList Files-mstools-mfc-samples-restool $(STF_SRCDIR)mstools\mfc\samples\restool $(MstoolsDir)mfc\samples\restool AddSectionFilesToCopyList Files-mstools-mfc-samples-showfont $(STF_SRCDIR)mstools\mfc\samples\showfont $(MstoolsDir)mfc\samples\showfont AddSectionFilesToCopyList Files-mstools-mfc-samples-templdef $(STF_SRCDIR)mstools\mfc\samples\templdef $(MstoolsDir)mfc\samples\templdef AddSectionFilesToCopyList Files-mstools-mfc-samples-tracer $(STF_SRCDIR)mstools\mfc\samples\tracer $(MstoolsDir)mfc\samples\tracer AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial $(STF_SRCDIR)mstools\mfc\samples\tutorial $(MstoolsDir)mfc\samples\tutorial AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial-char $(STF_SRCDIR)mstools\mfc\samples\tutorial\char $(MstoolsDir)mfc\samples\tutorial\char AddSectionFilesToCopyList Files-mstools-mfc-samples-tutorial-win $(STF_SRCDIR)mstools\mfc\samples\tutorial\win $(MstoolsDir)mfc\samples\tutorial\win AddSectionFilesToCopyList Files-mstools-mfc-src $(STF_SRCDIR)mstools\mfc\src $(MstoolsDir)mfc\src endif ; ; 5. Microsoft mstools posix - optional ; ifstr(i) $(DoPosix) == $(Chosen) endif exit [Install-All-Files-Now] CopyFilesInCopyList exit