Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1157 lines
39 KiB

;***********************************************************************
; 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