2606 lines
74 KiB
INI
2606 lines
74 KiB
INI
;------------------------------------------------------------------------
|
|
; Copyright(c) 1992-93 Microsoft Corporation
|
|
;
|
|
; Services for Macintosh Setup INF File.
|
|
;
|
|
; Author: KrishG
|
|
;
|
|
; Revision History: 3/3/93 - Changed for Custom/Express removal
|
|
;------------------------------------------------------------------------
|
|
|
|
[Identification]
|
|
OptionType = NetTransport
|
|
[LanguagesSupported]
|
|
ENG
|
|
[Options]
|
|
SFM
|
|
[OptionsTextENG]
|
|
SFM = "Services for Macintosh"
|
|
|
|
[FileConstants]
|
|
|
|
ProductFullInfName = $(!STF_CWDDIR)oemnxpsm.inf
|
|
|
|
Manufacturer = "Microsoft"
|
|
ProductMajorVersion = 3
|
|
ProductMinorVersion = 1
|
|
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
|
|
|
|
;------------------------------------------------------------------------
|
|
; SFM Software Data
|
|
;------------------------------------------------------------------------
|
|
|
|
ProductSFMName = "SFM"
|
|
ProductSFMTitle = "Services for Macintosh"
|
|
|
|
; AppleTalk Transport Product Descriptions /Net Rules
|
|
|
|
ProductATALKName = "AppleTalk"
|
|
ProductATALKDisplayName = "AppleTalk Transport"
|
|
ProductATALKTitle = "Services for Macintosh"
|
|
ProductATALKImagePath = "%SystemRoot%\system32\drivers\sfmatalk.sys"
|
|
ProductATALKSvcType = "kernel"
|
|
ProductATALKType = "transport"
|
|
ProductATALKEventDll = "%SystemRoot%\system32\sfmatmsg.dll"
|
|
NetRuleATALKType = "appletalk appletalktransport"
|
|
NetRuleATALKUse = transport " yes yes"
|
|
NetRuleATALKBindForm = """appletalk"" yes yes container"
|
|
NetRuleATALKClass = {"appletalktransport basic "}
|
|
NetRuleATALKBindList = {"appletalktransport ndisDriver non non 100", +
|
|
"appletalktransport ltkndisDriver non exclusive 100" }
|
|
;------------------------------------------------------------------------
|
|
; Afp Server Service and Server Product Descriptions /Net Rules
|
|
;------------------------------------------------------------------------
|
|
ProductAFPSVCName = "AfpServer"
|
|
ProductAFPSVCDisplayName = "AFP File Server"
|
|
ProductAFPSVCTitle = "Services for Macintosh"
|
|
ProductAFPSVCImagePath = "%SystemRoot%\system32\sfmsvc.exe"
|
|
ProductAFPSVCType = "service"
|
|
ProductAFPSVCEventDll = "%SystemRoot%\system32\sfmmsg.dll"
|
|
NetRuleAFPSVCType = "AfpServer lmNetService"
|
|
NetRuleAFPSVCUse = "service"
|
|
!UAMVolumeName = "Microsoft UAM Volume"
|
|
|
|
ProductAFPSRVRName = "AfpSrv"
|
|
ProductAFPSRVRDisplayName = "AFP Kernel Driver"
|
|
ProductAFPSRVRImagePath = "%SystemRoot%\system32\drivers\sfmsrv.sys"
|
|
ProductAFPSRVREventDll = "%SystemRoot%\system32\sfmmsg.dll"
|
|
;------------------------------------------------------------------------
|
|
; Macintosh Print Server Product Descriptions /Net Rules
|
|
;------------------------------------------------------------------------
|
|
ProductMACPRINTName = "MacPrint"
|
|
ProductMACPRINTDisplayName = "Macintosh Print Service"
|
|
ProductMACPRINTTitle = "Services for Macintosh"
|
|
ProductMACPRINTImagePath = "%SystemRoot%\system32\sfmprint.exe"
|
|
ProductMACPRINTEventDll = "%SystemRoot%\system32\sfmprint.exe"
|
|
ProductMonitorDll = "sfmmon.dll"
|
|
ProductMonitorEventDll = "%SystemRoot%\system32\sfmmon.dll"
|
|
|
|
;------------------------------------------------------------------------
|
|
; Dll And File Names
|
|
;------------------------------------------------------------------------
|
|
UtilDll = "sfmutil.dll"
|
|
ResDll = "sfmres.dll"
|
|
IconsInfFile = "sfmicons.inf"
|
|
!UamResSrcFile = "sfmuam.rsc"
|
|
!UamInfoSrcFile = "sfmuam.ifo"
|
|
!UamResDestFile = "MS UAM:Afp_Resource"
|
|
!UamInfoDestFile = "MS UAM:Afp_AfpInfo"
|
|
!UamReadMeSrcFile = "sfmuam.txt"
|
|
!UamReadMeDestFile = "MS UAM ReadMe.ttxt"
|
|
!AppleShareFolder = "AppleShare Folder"
|
|
NtNetIniFileName = "ntnet.ini"
|
|
WinFileIniFileName = "winfile.ini"
|
|
AfpMgrCplFile = "sfmmgr.cpl"
|
|
SrvMgrIniSection = "SMAddons"
|
|
WinFileIniSection = "Addons"
|
|
TypeCreatorMapFile = "sfmmap.inf"
|
|
AtWinSockDll = "sfmshat.dll"
|
|
PSprintProcFile = "sfmpsprt.dll"
|
|
PSprintProc = "PSPRINT"
|
|
|
|
;------------------------------------------------------------------------
|
|
; Product Key Names, Registry Key Names of Interest
|
|
;-------------------------------------------------------------------------
|
|
!ProductKeyBase = $(!NTN_SoftwareBase)"\"$(Manufacturer)
|
|
!ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSFMName)"\CurrentVersion"
|
|
!ProductKeyLinkage = $(!NTN_ServiceBase)"\"$(ProductATALKName)"\Linkage"
|
|
!PrintMonKeyName = "SYSTEM\CurrentControlSet\Control\Print\Monitors"
|
|
!EventLogKey = $(!NTN_ServiceBase)"\EventLog\Application"
|
|
|
|
|
|
[GeneralConstants]
|
|
|
|
UtilInf = "UTILITY.INF"
|
|
SubInf = "SUBROUTN.INF"
|
|
!KeyNull = ""
|
|
!ACCESS = 33554432
|
|
RegistryErrorIndex = NO_ERROR
|
|
KeyProduct = ""
|
|
KeyParameters = ""
|
|
TRUE = 1
|
|
FALSE = 0
|
|
NoTitle = 0
|
|
!UamCopyStatus = TRUE
|
|
!DebugOutputControl = 1
|
|
|
|
[FileConstantsENG]
|
|
|
|
FunctionTitle = "Services for Macintosh Setup"
|
|
ProductATALKDescription = "AppleTalk Transport"
|
|
ProductAFPSVCDescription = "AppleTalk File Server"
|
|
ProductMACPRINTDescription = "AppleTalk Print Server"
|
|
ProductSFMDescription = "Macintosh->Windows NT Connectivity"
|
|
|
|
|
|
ProCaption = $(FunctionTitle)
|
|
ProCancel = "Cancel"
|
|
ProCancelMsg = "Services for Macintosh is not correctly installed. "+
|
|
"Are you sure you want to cancel copying files ?"
|
|
ProCancelCap = "Services for Macintosh Setup"
|
|
ProText1 = "Copying:"
|
|
ProText2 = "To:"
|
|
Error = "User has cancelled copying files. Copied files will be removed."
|
|
|
|
MajorVersion = "MajorVersion"
|
|
MinorVersion = "MinorVersion"
|
|
|
|
AskLocationText = "Please enter the full path of the Services for "+
|
|
"Macintosh distribution files. Then choose continue."
|
|
|
|
[DialogConstantsENG]
|
|
|
|
Help = "&Help"
|
|
Exit = "E&xit Setup"
|
|
OK = "OK"
|
|
HelpContext = ""
|
|
Continue = "Continue"
|
|
Cancel = "Cancel"
|
|
ConfigCancel = "Close"
|
|
|
|
[date]
|
|
Now = {} ? $(!LIBHANDLE) GetSystemDate
|
|
|
|
[AvailableSystemMemory]
|
|
|
|
SystemMemory = "" ? $(!LIBHANDLE) GetMemorySize
|
|
MinSystemMemory = 2048
|
|
|
|
[FSAndDiskSpace]
|
|
|
|
VolumeList = {} ? $(!LIBHANDLE) GetHardDriveLetters
|
|
VolumeFreeList = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
|
|
VolumeFSList = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
|
|
|
|
[VolList]
|
|
|
|
VolumeFSList = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
|
|
VolumeList = {} ? $(!LIBHANDLE) GetHardDriveLetters
|
|
|
|
[DefAfpParametersENG]
|
|
|
|
MaxSessions = 255
|
|
LoginMessage = ""
|
|
ServerOptions = 7
|
|
PagedMemLimit = 20000
|
|
NonPagedMemLimit = 2000
|
|
|
|
[ExtensionIds]
|
|
|
|
XCEL1ID = {"ID=1"}
|
|
XCEL2ID = {"ID=2"}
|
|
XCEL3ID = {"ID=3"}
|
|
XCEL4ID = {"ID=4"}
|
|
XCEL5ID = {"ID=5"}
|
|
XCEL6ID = {"ID=6"}
|
|
XCEL7ID = {"ID=7"}
|
|
XCEL8ID = {"ID=8"}
|
|
XCEL9ID = {"ID=9"}
|
|
XCEL10ID = {"ID=10"}
|
|
XCEL11ID = {"ID=11"}
|
|
XCEL12ID = {"ID=12"}
|
|
XCEL13ID = {"ID=13"}
|
|
|
|
|
|
MSWD1ID = {"ID=14"}
|
|
MSWD2ID = {"ID=15"}
|
|
MSWD3ID = {"ID=16"}
|
|
MSWD4ID = {"ID=17"}
|
|
MSWD5ID = {"ID=18"}
|
|
|
|
|
|
|
|
|
|
MSPJ1ID = {"ID=19"}
|
|
MSPJ2ID = {"ID=20"}
|
|
MSPJ3ID = {"ID=21"}
|
|
MSPJ4ID = {"ID=22"}
|
|
MSPJ5ID = {"ID=23"}
|
|
MSPJ6ID = {"ID=24"}
|
|
|
|
|
|
ALD31ID = {"ID=25"}
|
|
ALD32ID = {"ID=26"}
|
|
ALD33ID = {"ID=27"}
|
|
|
|
MOREID = {"ID=28"}
|
|
FOX+ID = {"ID=29"}
|
|
ALD2ID = {"ID=30"}
|
|
ARTZID = {"ID=31"}
|
|
SIT!ID = {"ID=32"}
|
|
PPT2ID = {"ID=33"}
|
|
PPT3ID = {"ID=34"}
|
|
L123ID = {"ID=35"}
|
|
TTXTID = {"ID=36"}
|
|
|
|
[UAMVarsENG]
|
|
UAMDirName = "Microsoft UAM Volume"
|
|
UAMPath = $(UAMDrive)"\"$(UAMDirName)
|
|
|
|
|
|
;------------------------------------------------------------------
|
|
; Express /Custom Mode Install Dialog - Used In Initial Setup Only
|
|
;------------------------------------------------------------------
|
|
|
|
[SetupSpaceDlgENG]
|
|
DlgType = "MessageBox"
|
|
STF_MB_TYPE = 5
|
|
STF_MB_ICON = 3
|
|
STF_MB_DEF = 3
|
|
STF_MB_TITLE = $(FunctionTitle)
|
|
STF_MB_TEXT = "Setup could not find enough space on your Windows NT system partition. "+
|
|
"Setup requires atleast 2 MB for installing Services for Macintosh. "+
|
|
"You can retry installation by freeing up space on your system drive."
|
|
|
|
[ConfigureSfmDlgENG]
|
|
DlgType = "Radio"
|
|
DlgTemplate = "SFMCONFIGSEL"
|
|
Caption = $(FunctionTitle)
|
|
Label1 = "Select the component to be configured"
|
|
RadioHeader = ""
|
|
RadioDefault = "1"
|
|
Radio1Text = "AppleTalk &Transport"
|
|
Radio2Text = "AppleTalk &File Server"
|
|
OptionsGreyed = {}
|
|
HelpContext = #(SfmSetupHelpIds, HC_SFM_SFMCONFIGSEL,1)
|
|
ComboListItemsOut = {}
|
|
|
|
[ConfigureAfpDlgENG]
|
|
DlgType = "RadioCombination"
|
|
DlgTemplate = "SRVCFG"
|
|
Caption = "SFM File Server Configuration"
|
|
Label1 = "Server &Name:"
|
|
BuildUAMVol = "&Build UAM Volume"
|
|
CheckItemsIn = {$(FShareUAM)}
|
|
EditTextIn = $(ServerName)
|
|
EditTextOut = ""
|
|
EditTextLim = 31
|
|
EditFocus = "ALL"
|
|
CBOptionsGreyed = $(DisableList)
|
|
HelpContext = #(SfmSetupHelpIds, HC_SFM_SRVCFG,1)
|
|
ComboListItemsOut = {}
|
|
|
|
|
|
[UAMVolCreateDlgENG]
|
|
DlgType = "Edit"
|
|
DlgTemplate = "UAMVOLCREATE"
|
|
Caption = "Services for Macintosh Setup"
|
|
DlgText = "Enter the path for the Microsoft User Authentication files. "+
|
|
"The Microsoft User Authentication files will be copied to this "+
|
|
"location to allow Macintosh clients to download this module."$(!LF)$(!LF)+
|
|
"Press Cancel to cancel installation of this module."
|
|
Static1Label = "Volume &Path:"
|
|
EditTextLim = 259
|
|
HelpContext = #(SfmSetupHelpIds, HC_SFM_UAMVOLCREATE,1)
|
|
|
|
|
|
|
|
[SetupAbortDlgENG]
|
|
DlgType = "Info"
|
|
DlgTemplate = "RESTART"
|
|
Caption = $(FunctionTitle)
|
|
DlgText = "Setup for Macintosh Services failed."$(!LF)$(!LF)+
|
|
"Please choose Exit to exit back to the Windows NT System."
|
|
Windows = "E&xit to &Windows NT"
|
|
|
|
[ExitWarningDlgENG]
|
|
DlgType = "MessageBox"
|
|
STF_MB_TITLE = "Services for Macintosh Setup"
|
|
STF_MB_TEXT = "Services for Macintosh is not correctly installed. Are you "+
|
|
"sure you want to exit Setup ?"
|
|
STF_MB_TYPE = 3
|
|
STF_MB_ICON = 5
|
|
STF_MB_DEF = 2
|
|
|
|
;------------------------------------------------------------------
|
|
; Error Strings
|
|
;------------------------------------------------------------------
|
|
|
|
;------------------------------------------------------------------
|
|
; Miscellaneous Errors
|
|
;------------------------------------------------------------------
|
|
|
|
[MiscErrorString1ENG]
|
|
ErrorString = " of Services for Macintosh is already installed in your system. "+
|
|
"Use [Update] to update to newer versions."
|
|
|
|
|
|
[MiscErrorString2ENG]
|
|
ErrorString = "The amount of memory available on your system is not sufficient "+
|
|
"to run Services for Macintosh. Services for Macintosh requires "+
|
|
"at least 8 MB to run."
|
|
|
|
|
|
[MiscErrorString3ENG]
|
|
ErrorString = ""
|
|
|
|
[ShellingErrorENG]
|
|
ErrorString = " An internal error occurred. Contact MS support."
|
|
|
|
[UamFileNotCopiedENG]
|
|
ErrorString = "Setup failed to copy Microsoft User Authentication files. "+
|
|
"Setup will not create a volume for allowing Macintosh clients to "+
|
|
"download these files. Refer to your user's guide on how to setup "+
|
|
"this volume after installation."
|
|
|
|
[UamFileNotCopied1ENG]
|
|
ErrorString = "Setup failed to copy Microsoft User Authentication files. "+
|
|
"Setup will not create a volume for allowing Macintosh clients to "+
|
|
"download these files."
|
|
|
|
;------------------------------------------------------------------
|
|
; Status Strings
|
|
;------------------------------------------------------------------
|
|
|
|
[IntroMessageENG]
|
|
|
|
Status = "Setup is ready to install Services for Macintosh. "+
|
|
"Setup will install the AppleTalk Transport, the AppleTalk File "+
|
|
"Server, the Macintosh Print Server and create a volume for "+
|
|
"downloading Microsoft Authentication files to Macintosh clients. "+
|
|
"Press OK to start installation."
|
|
|
|
[Status0ENG]
|
|
Status = "Checking Disk Space and File System Information..."
|
|
|
|
[Status1ENG]
|
|
Status = "Installing "$(Product$(Option))"..."
|
|
|
|
[StatusAtalk1ENG]
|
|
Status = "Adding AppleTalk Transport to registry..."
|
|
|
|
[StatusAtalk3ENG]
|
|
Status = "Starting AppleTalk ..."
|
|
|
|
[StatusAfp1ENG]
|
|
Status = "Adding Afp Server Service to registry..."
|
|
|
|
[StatusAfp2ENG]
|
|
Status = "Creating Afp Service ..."
|
|
|
|
[StatusAfp3ENG]
|
|
Status = "Adding Afp File Server to File Manager and Server Manager ..."
|
|
|
|
[StatusMacPrint1ENG]
|
|
Status = "Adding Macintosh Print Service to registry..."
|
|
|
|
[StatusRemove1ENG]
|
|
Status = "Removing Services for Macintosh files..."
|
|
|
|
[StatusRemove2ENG]
|
|
Status = "Restoring Services for Macintosh original state..."
|
|
|
|
|
|
[StatusRemoveDoneENG]
|
|
Status = "Services for Macintosh has been successfully removed. "+
|
|
"You must now close the Network Applet and reboot for the system "+
|
|
"to work correctly. Do not attempt to reinstall Services for "+
|
|
"Macintosh now."
|
|
|
|
|
|
;------------------------------------------------------------------
|
|
; AppleTalk Transport Error Strings
|
|
;------------------------------------------------------------------
|
|
|
|
[AtalkString1ENG]
|
|
ErrorString = "Setup failed to add WinSock support for the Appletalk transport. "+
|
|
"This will not affect installation. Contact your system administrator "+
|
|
"for support."
|
|
|
|
[AtalkString2ENG]
|
|
ErrorString = "Setup failed to remove WinSock support for the Appletalk transport."
|
|
|
|
[AtalkString3ENG]
|
|
ErrorString = "Services for Macintosh has just been installed. Services will be "+
|
|
"available to Macintoshes in the default network. If you would like "+
|
|
"the services to appear in a different zone or to configure routing, close "+
|
|
"the Control Panel, reboot, Start AppleTalk and use the Control Panel "+
|
|
"to configure Services for Macintosh."
|
|
|
|
[AFPString1ENG]
|
|
ErrorString = "Setup could not find any NT File System volumes in your system. "+
|
|
"Services for Macintosh requires a NT File System volume for "+
|
|
"Macintosh clients to share files. You can create the NT FileSystem "+
|
|
"volume after installing Services for Macintosh. Setup will proceed to "+
|
|
"install Services for Macintosh."
|
|
|
|
[AFPString2ENG]
|
|
ErrorString = "Unable to add Afp File Server to the File Manager Menu. "+
|
|
"You will not be able to use the File Manager to create/edit/delete or edit "+
|
|
"type creator associations from File Manager. Consult your user's guide "+
|
|
"on how to do this after installation."
|
|
|
|
[AFPString3ENG]
|
|
ErrorString = "Unable to add Afp File Server to the Server Manager Menu. "+
|
|
"You will not be able to use the Server Manager to administer Afp Servers on your "+
|
|
"network. Consult your user's guide on how to do this after installation."
|
|
|
|
[AFPString10ENG]
|
|
ErrorString = "An invalid volume path has been entered or this volume is not a NT File System volume."
|
|
|
|
[AFPString11ENG]
|
|
ErrorString = "Could not find the volumes key in the AfpServer section in registry. "+
|
|
"UAM Volume cannot be built."
|
|
|
|
[AFPString12ENG]
|
|
ErrorString = "Could not find any NTFS volumes in your system. UAM Volume cannot be built."
|
|
|
|
[MacPrintString1ENG]
|
|
ErrorString = "Unable to create Macintosh Print user account. This account may already exist. "+
|
|
"Enter a new account name to create."
|
|
|
|
[MacPrintString2ENG]
|
|
ErrorString = "Unable to open registry key for eventlog. Macintosh Print Service event log entries "+
|
|
"may not be set correctly."
|
|
|
|
[MacPrintString3ENG]
|
|
ErrorString = "Unable to add Macintosh Print Service Print Processor. Macintosh clients will be unable to "+
|
|
"print postscript jobs to a non-postscript printer on the Advanced Server network."
|
|
|
|
[MacPrintString4ENG]
|
|
ErrorString = "Unable to add Macintosh Print Monitor. You will be unable to use the "+
|
|
"Macintosh Print Service. Contact Microsoft Support."
|
|
|
|
|
|
[MacPrintString5ENG]
|
|
ErrorString = "Unable to remove the Macintosh Print Service Print Processor. "+
|
|
"Contact your system admnistrator for support."
|
|
|
|
[MacPrintString6ENG]
|
|
ErrorString = "Unable to find the directory to install the Macintosh Print Processor. "+
|
|
"Macintosh Print Processor will not be installed."
|
|
|
|
[MacPrintString7ENG]
|
|
ErrorString = "Unable to remove the Macintosh Print Monitor. Contact your Administrator. "+
|
|
"Temporary Message: Setup will manually delete your monitor registry keys NOW!."
|
|
|
|
[MacPrintString8ENG]
|
|
ErrorString = "Unable to create the Macintosh Print User Account. Refer "+
|
|
"to your Services for Macintosh User's Guide on how to set up "+
|
|
"this account after installation."
|
|
|
|
[MacPrintString9ENG]
|
|
ErrorString = "Unable to remove the Macintosh Print User Account. Refer "+
|
|
"to your Services for Macintosh User's Guide on how to remove "+
|
|
"this account."
|
|
|
|
[MacPrintString10ENG]
|
|
ErrorString = "Unable to open registry key for eventlog. The event log entry for "+
|
|
"the Macintosh Print Service monitor may not be set correctly."
|
|
|
|
[NoAdaptersFoundENG]
|
|
|
|
ErrorString = "Fatal Error: Unable to find any network adapter "+
|
|
"for Services for Macintosh. You will not be able "+
|
|
"to use Services for Macintosh. Add a network "+
|
|
"adapter or enable AppleTalk Transport bindings."
|
|
|
|
[CantRemoveSfmENG]
|
|
ErrorString = "Services for Macintosh is currently running on your system. You "+
|
|
"cannot remove now. Stop Services for Macintosh and retry."
|
|
|
|
[RemoveDefaultPortENG]
|
|
ErrorString = "The default network adapter used by Services"$(!LF)+
|
|
"for Macintosh has been removed. An attempt"$(!LF)+
|
|
"will be made to change the default port."$(!LF)+
|
|
"This may cause Macintosh clients to no longer"$(!LF)+
|
|
"see services on the current zone. You must"$(!LF)+
|
|
"configure the AppleTalk transport to change"$(!LF)+
|
|
"the zone for Services for Macintosh."
|
|
|
|
|
|
[SetupSuccessENG]
|
|
Status = "Services for Macintosh has been installed."$(LF)+
|
|
"Services will self-start on reboot."$(LF)$(LF)+
|
|
"Services will be available to Macintosh clients in the default network. "+
|
|
"If you would like the services to appear in a different zone or to configure routing, "+
|
|
"reboot and use the Control Panel Network Applet to configure the AppleTalk Transport. "+
|
|
"Consult your Services for Macintosh User's Guide on things to do after installation."
|
|
[Identify]
|
|
read-syms Identification
|
|
set Status = STATUS_SUCCESSFUL
|
|
set Identifier = $(OptionType)
|
|
set Media = #("Source Media Descriptions", 1, 1)
|
|
Return $(Status) $(Identifier) $(Media)
|
|
|
|
[ReturnOptions]
|
|
set Status = STATUS_FAILED
|
|
set OptionList = {}
|
|
set OptionTextList = {}
|
|
set LanguageList = ^(LanguagesSupported, 1)
|
|
Ifcontains(i) $($0) in $(LanguageList)
|
|
goto returnoptions
|
|
else
|
|
set Status = STATUS_NOLANGUAGE
|
|
goto finish_ReturnOptions
|
|
endif
|
|
returnoptions = +
|
|
set OptionList = ^(Options, 1)
|
|
set OptionTextList = ^(OptionsText$($0), 1)
|
|
set Status = STATUS_SUCCESSFUL
|
|
|
|
finish_ReturnOptions = +
|
|
Return $(Status) $(OptionList) $(OptionTextList)
|
|
|
|
|
|
[InstallOption]
|
|
set Status = STATUS_FAILED
|
|
set Option = $($1)
|
|
set SrcDir = $($2)
|
|
Set AddCopy = $($3)
|
|
Set DoCopy = $($4)
|
|
Set DoConfig = $($5)
|
|
|
|
set LanguageList = ^(LanguagesSupported, 1)
|
|
|
|
Ifcontains(i) $($0) NOT-IN $(LanguageList)
|
|
return STATUS_NOLANGUAGE
|
|
EndIf
|
|
|
|
|
|
StartWait
|
|
set-subst LF = "\n"
|
|
set-subst CR = "\r"
|
|
read-syms GeneralConstants
|
|
read-syms FileConstants
|
|
read-syms DialogConstants$(!STF_LANGUAGE)
|
|
|
|
|
|
read-syms FileConstants$(!STF_LANGUAGE)
|
|
read-syms SfmSetupHelpIds
|
|
SetHelpFile $(!STF_CWDDIR)sfmsetup.hlp $(MinHelpID) $(MaxHelpID)
|
|
|
|
|
|
detect date
|
|
set-title $(FunctionTitle)
|
|
set to = Begin
|
|
set from = Begin
|
|
set CommonStatus = STATUS_SUCCESSFUL
|
|
|
|
Debug-Output "SFMSETUP: Install Mode = "$(!NTN_InstallMode)
|
|
Debug-Output "SFMSETUP: Origin = "$(!NTN_Origination)
|
|
Debug-Output "SFMSETUP: Phase = "$(!NTN_InstallPhase)
|
|
Debug-Output "SFMSETUP: Context INF = "$(!STF_CONTEXTINFNAME)
|
|
EndWait
|
|
|
|
Begin = +
|
|
|
|
Set REMOVE_SOFTWARE = {}
|
|
Set REMOVE_SERVICES = {}
|
|
|
|
IfStr(i) $(!NTN_InstallMode) == deinstall
|
|
Set StartLabel = Removesfm
|
|
|
|
Set REMOVE_SOFTWARE = { $(ProductATALKName),+
|
|
$(ProductAFPSVCName),+
|
|
$(ProductMACPRINTName)+
|
|
}
|
|
Set REMOVE_SERVICES = {$(ProductAFPSRVRName)}
|
|
|
|
LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
|
|
|
|
Debug-Output "Remove Software List = "$(REMOVE_SOFTWARE)
|
|
Debug-Output "Remove Services List = "$(REMOVE_SERVICES)
|
|
|
|
else-Ifstr(i) $(!NTN_InstallMode) == Update
|
|
set StartLabel = Upgradesfm
|
|
|
|
else-Ifstr(i) $(!NTN_InstallMode) == configure
|
|
set StartLabel = Configuresfm
|
|
|
|
else-Ifstr(i) $(!NTN_InstallMode) == bind
|
|
set StartLabel = Bindingssfm
|
|
|
|
else-Ifstr(i) $(!NTN_InstallMode) == install
|
|
set StartLabel = Installsfm
|
|
else
|
|
|
|
; CODEWORK - Declare Error and Bomb Out
|
|
|
|
endif
|
|
|
|
goto $(StartLabel)
|
|
|
|
;------------------------------------------------------------------
|
|
; Install the product
|
|
;------------------------------------------------------------------
|
|
|
|
Installsfm = +
|
|
|
|
|
|
Set FLibraryErrCtl = 1
|
|
; Detect if we are already installed. If installed, ask the user to
|
|
; use the update option. Otherwise ask the user to input the
|
|
; location of the SFM files
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
|
|
|
|
Ifstr $(KeyProduct) != $(!KeyNull)
|
|
|
|
GetRegValue $(KeyProduct) $(MajorVersion) VersionInfo
|
|
set VersionMajor = *($(VersionInfo), 4)
|
|
GetRegValue $(KeyProduct) $(MinorVersion) VersionInfo
|
|
set VersionMinor = *($(VersionInfo), 4)
|
|
set InstalledVersion = $(VersionMajor)"."$(VersionMinor)
|
|
|
|
ifstr(i) $(ProductVersion) == $(InstalledVersion)
|
|
|
|
read-syms MiscErrorString1$(!STF_LANGUAGE)
|
|
Set Text = "Version "$(ProductVersion)
|
|
Shell $(SubInf), SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Text)$(ErrorString)
|
|
goto end
|
|
|
|
EndIf
|
|
|
|
Else
|
|
set Text = $(AskLocationText)
|
|
|
|
ifstr(i) $(!NTN_InstallPhase) == "secondary"
|
|
|
|
Shell $(SubInf), DoAskSourceEx, $(SrcDir) $(Text)
|
|
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
|
Goto fatal
|
|
Else-Ifstr(i) $($R0) == STATUS_FAILED
|
|
Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
|
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
|
goto ShellCodeError
|
|
endif
|
|
set Error = $($R0)
|
|
Goto fatal
|
|
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
|
|
Goto initialsetupcancel
|
|
Endif
|
|
Set SrcDir = $($R1)
|
|
EndIf
|
|
|
|
EndIf
|
|
|
|
|
|
StartWait
|
|
|
|
Debug-Output "Detecting memory"
|
|
|
|
read-syms AvailableSystemMemory
|
|
detect AvailableSystemMemory
|
|
|
|
Debug-Output "System Memory = "$(SystemMemory)
|
|
Debug-Output "Min System Memory = "$(MinSystemMemory)
|
|
|
|
Ifint $(SystemMemory) < $(MinSystemMemory)
|
|
read-syms MiscErrorString2(!STF_LANGUAGE)
|
|
shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
goto end
|
|
EndIf
|
|
|
|
Debug-Output "Reading Status 0"
|
|
read-syms Status0$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
|
|
Debug-Output "Detecting Disk Space"
|
|
|
|
read-syms FSAndDiskSpace
|
|
detect FSAndDiskSpace
|
|
|
|
GetDriveInPath NtDrive $(!STF_WINDOWSSYSPATH)
|
|
|
|
; Check if the user has any NTFS Volumes or not
|
|
|
|
Set NTFSVolExists = FALSE
|
|
Set !NTFSVolumeList = {}
|
|
|
|
ForListDo $(VolumeFSList)
|
|
Ifstr(i) $($) == "NTFS"
|
|
Set NTFSVolExists = TRUE
|
|
Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
|
|
Endif
|
|
EndForListDo
|
|
|
|
|
|
ifstr(i) $(NTFSVolExists) == FALSE
|
|
read-syms AFPString1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
endIf
|
|
|
|
|
|
; Check if there is enough space in the Windows NT System Drive.
|
|
; If not enough space, tell the user ot make some space and retry
|
|
|
|
|
|
readvollist = +
|
|
|
|
Debug-Output "Detecting vol list"
|
|
ForListDo $(VolumeList)
|
|
|
|
set CurrentVolume = *($(VolumeList), $(#))
|
|
set CurrentVolumeFree = *($(VolumeFreeList), $(#))
|
|
|
|
Ifstr(i) $(CurrentVolume) == $(NtDrive)
|
|
|
|
Ifint $(CurrentVolumeFree) < $(RequiredSfmSize)
|
|
|
|
read-syms SetupSpaceDlg$(!STF_LANGUAGE)
|
|
ui start "SetupSpaceDlg"
|
|
|
|
Ifstr(i) $(DLGEVENT) == "RETRY"
|
|
read-syms FSAndDiskSpace
|
|
detect FSAndDiskSpace
|
|
goto readvollist
|
|
else
|
|
goto initialsetupcancel
|
|
EndIf
|
|
|
|
Else
|
|
goto intromessage
|
|
EndIf
|
|
|
|
EndIf
|
|
|
|
EndForListDo
|
|
|
|
intromessage = +
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
read-syms IntroMessage$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "STATUS" $(Status)
|
|
|
|
;------------------------------------------------------------------
|
|
; Copy the SFM Files
|
|
;------------------------------------------------------------------
|
|
|
|
CopySfmFiles = +
|
|
|
|
install "Install-Initial"
|
|
|
|
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
|
|
|
read-syms StatusRemove1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
Shell "" RemoveSfmFiles "INSTALL"
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
goto usercancel
|
|
|
|
endif
|
|
|
|
LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
|
|
|
|
|
|
Set Result = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, $(SrcDir)"\"$(!UamResSrcFile) $(!STF_WINDOWSSYSPATH)"\"$(!UamResSrcFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
read-syms UamFileNotCopied$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
Set !UamCopyStatus = FALSE
|
|
goto StartInstall
|
|
EndIf
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, $(SrcDir)"\"$(!UamInfoSrcFile) $(!STF_WINDOWSSYSPATH)"\"$(!UamInfoSrcFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
read-syms UamFileNotCopied$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
Set !UamCopyStatus = FALSE
|
|
EndIf
|
|
|
|
StartInstall = +
|
|
|
|
Set REMOVE_FLAG = TRUE
|
|
|
|
Set ThisOption = "SFM"
|
|
Shell $(UtilInf), InstallSoftwareProduct, $(Manufacturer),$(Product$(ThisOption)Name), $(ProductFullInfName)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
set RegistryErrorIndex = $($R0)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $($R1)
|
|
CloseRegKey $($R2)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
Set SfmProductKey = $($R1)
|
|
Set SfmNetRuleKey = $($R2)
|
|
|
|
; set product key information in the registry
|
|
|
|
set NewValueList = +
|
|
{{Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)},+
|
|
{ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
|
|
{Title,0,$(!REG_VT_SZ), $(Product$(ThisOption)Title)},+
|
|
{Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
|
|
{MajorVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)},+
|
|
{MinorVersion,0,$(!REG_VT_DWORD),$(ProductMinorVersion)},+
|
|
{InstalledComponents,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TobeInstalledList)},+
|
|
{InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(SfmProductKey), $(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(SfmProductKey)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(SfmNetRuleKey)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
Set NewValueList = {{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
|
|
{Infname,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(SfmNetRuleKey), $(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(SfmNetRuleKey)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
endif
|
|
|
|
|
|
Set ThisOption = ATALK
|
|
Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
|
|
|
|
read-syms StatusAtalk1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
Set Atalk_DependList = {"+NDIS"}
|
|
Set FLibraryErrCtl = 1
|
|
Shell $(UtilInf), AddSoftwareComponent, $(Manufacturer), +
|
|
$(Product$(ThisOption)Name), $(Product$(ThisOption)Name), +
|
|
$(Product$(ThisOption)DisplayName), +
|
|
$(ProductFullInfName), $(Product$(ThisOption)ImagePath),+
|
|
"kernelautostart", "", $(Atalk_DependList), "" $(Product$(ThisOption)EventDll)
|
|
Set FLibraryErrCtl = 0
|
|
Set RegistryErrorIndex = $($R0)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $($R1)
|
|
CloseRegKey $($R2)
|
|
CloseRegKey $($R3)
|
|
CloseRegKey $($R4)
|
|
CloseRegKey $($R5)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
; At this point:
|
|
; $R1 contains the product version key handle;
|
|
; $R2 contains the NetRules subkey handle;
|
|
; $R3 contains the new Services key handle; and
|
|
; $R4 contains the Parameters key
|
|
; $R5 contains the Linkage Key
|
|
;
|
|
|
|
Set AtkVersKey = $($R1)
|
|
Set AtkNetRuleKey = $($R2)
|
|
Set AtkSvcKey = $($R3)
|
|
Set AtalkParameters = $($R4)
|
|
Set AtkLinkageKey = $($R5)
|
|
|
|
set NewValueList = {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
|
|
{Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
|
|
{Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
|
|
{PathName,0,$(!REG_VT_SZ),$(!STF_WINDOWSSYSPATH)},+
|
|
{ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
|
|
{Review,0,$(!REG_VT_DWORD),1},+
|
|
{Hidden,0,$(!REG_VT_DWORD),1},+
|
|
{InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(AtkVersKey), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $(AtkVersKey)
|
|
CloseRegKey $(AtkNetRuleKey)
|
|
CloseRegKey $(AtkSvcKey)
|
|
CloseRegKey $(AtkLinkageKey)
|
|
CloseRegKey $(AtalkParameters)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
set NewValueList = {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)}, +
|
|
{use,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)}, +
|
|
{bindform,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)}, +
|
|
{class,0, $(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)}, +
|
|
{bindable,0, $(!REG_VT_MULTI_SZ), $(NetRule$(ThisOption)BindList)},+
|
|
{InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
|
|
{Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)} }
|
|
|
|
Shell $(UtilInf), AddValueList, $(AtkNetRuleKey), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(AtkVersKey)
|
|
CloseRegKey $(AtkNetRuleKey)
|
|
|
|
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
set NewValueList = {{OtherDependencies,0,$(!REG_VT_MULTI_SZ),{"+NDIS"}}}
|
|
|
|
shell $(UtilInf), AddValueList, $(AtkLinkageKey), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(AtkVersKey)
|
|
CloseRegKey $(AtkNetRuleKey)
|
|
CloseRegKey $(AtkSvcKey)
|
|
CloseRegKey $(AtkLinkageKey)
|
|
CloseRegKey $(AtalkParameters)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
;
|
|
; Create the Adapters Key
|
|
;
|
|
CreateRegKey $(AtkSvcKey), {"Adapters",0,GenericClass},"", $(!ACCESS),+
|
|
"" , KeyAdapters
|
|
|
|
; write global parameters
|
|
|
|
Set DesiredZone = ""
|
|
set NewValueList = {{EnableRouter,0,$(!REG_VT_DWORD),0},+
|
|
{DesiredZone,0,$(!REG_VT_SZ),$(DesiredZone)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(AtalkParameters), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
CloseRegKey $(AtalkParameters)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
; Add WinSock Support to AppleTalk
|
|
|
|
Set WinAtalkDll = $(!STF_WINDOWSSYSPATH)"\"$(AtWinSockDll)
|
|
Set MaxSockAddrLen = 8
|
|
Set MinSockAddrLen = 6
|
|
|
|
|
|
Shell $(UtilInf) AddWinsockInfo $(Product$(ThisOption)Name), $(WinAtalkDll), +
|
|
$(MaxSockAddrLen), $(MinSockAddrLen)
|
|
|
|
ifstr(i) $($R0) != NO_ERROR
|
|
|
|
read-syms AtalkString1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
|
|
Endif
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
; Install AFPSVC
|
|
|
|
Set ThisOption = AFPSVC
|
|
Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
|
|
Set REMOVE_SERVICES = >($(REMOVE_SERVICES), $(ProductAFPSRVRName))
|
|
StartWait
|
|
read-syms StatusAfp1$(!STF_LANGUAGE)
|
|
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
Set FLibraryErrCtl = 1
|
|
Shell $(UtilInf), AddSoftwareComponent, $(Manufacturer), +
|
|
$(Product$(ThisOption)Name), $(Product$(ThisOption)Name), +
|
|
$(Product$(ThisOption)DisplayName), +
|
|
$(ProductFullInfName), $(Product$(ThisOption)ImagePath),+
|
|
"autoserviceshare", "", {"AppleTalk","NetLogon"}, "" $(Product$(ThisOption)EventDll)
|
|
Set FLibraryErrCtl = 0
|
|
Ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $($R1)
|
|
CloseRegKey $($R2)
|
|
CloseRegKey $($R3)
|
|
CloseRegKey $($R4)
|
|
goto fatalregistry
|
|
endif
|
|
;
|
|
; At this point:
|
|
; $R1 contains the product version key handle;
|
|
; $R2 contains the NetRules subkey handle;
|
|
; $R3 contains the new Services key handle; and
|
|
; $R4 contains the Parameters key
|
|
;
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
Set McProductKey = $($R1)
|
|
Set McNetRuleKey = $($R2)
|
|
Set McServiceKey = $($R3)
|
|
set McParameters = $($R4)
|
|
Set McLinkageKey = $($R5)
|
|
|
|
set NewValueList = {{SoftwareType,0 ,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
|
|
{Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
|
|
{Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
|
|
{PathName,0,$(!REG_VT_SZ),$(!STF_CWDDIR)},+
|
|
{ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
|
|
{Hidden,0,$(!REG_VT_DWORD),1},+
|
|
{InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
|
|
|
|
Shell $(UtilInf),AddValueList,$(McProductKey),$(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(McProductKey)
|
|
CloseRegKey $(McNetRuleKey)
|
|
CloseRegKey $(McServiceKey)
|
|
CloseRegKey $(McParameters)
|
|
CloseRegKey $(McLinkageKey)
|
|
goto fatalregistry
|
|
Endif
|
|
|
|
set NewValueList = {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
|
|
{use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOpton)Use)},+
|
|
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
|
|
{Infname ,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(McNetRuleKey), $(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(McNetRuleKey)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(McParameters)
|
|
CloseRegKey $(McLinkageKey)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
|
|
CreateRegKey $(McParameters) {"Type_Creators",0,GenericClass} "" +
|
|
$(!ACCESS) "" KeyTypeCreator
|
|
|
|
CreateRegKey $(McParameters) {"Extensions",0,GenericClass} "" +
|
|
$(!ACCESS) "" KeyExtensions
|
|
|
|
CreateRegKey $(McParameters) {"Icons",0,GenericClass} "" +
|
|
$(!ACCESS) "" KeyIcons
|
|
|
|
CreateRegKey $(McParameters) {"Volumes",$(NoTitle),GenericClass} "" +
|
|
$(!ACCESS) "" KeyVolumeList
|
|
|
|
|
|
Shell $(!STF_CWDDIR)$(IconsInfFile) ReadIconVariables
|
|
|
|
set NewValueList = {{LMANDEXE,0,$(!REG_VT_MULTI_SZ),$(!LMANDEXE)},+
|
|
{LMANTEXT,0, $(!REG_VT_MULTI_SZ),$(!LMANTEXT)},+
|
|
{SRVRSRVR,0, $(!REG_VT_MULTI_SZ),$(!SRVRSRVR)}}
|
|
|
|
Shell $(UtilInf),AddValueList,$(KeyIcons),$(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(McProductKey)
|
|
CloseRegKey $(McNetRuleKey)
|
|
CloseRegKey $(McServiceKey)
|
|
CloseRegKey $(McParameters)
|
|
CloseRegKey $(McLinkageKey)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
; Set TypeCreator Mappings
|
|
|
|
Shell $(!STF_CWDDIR)$(TypeCreatorMapFile) ReadTypeCreatorMappings
|
|
|
|
|
|
Set NewValueList = +
|
|
{{1,0,$(!REG_VT_MULTI_SZ),$(!XCEL1CREATOR)},+
|
|
{2,0,$(!REG_VT_MULTI_SZ),$(!XCEL2CREATOR)},+
|
|
{3,0,$(!REG_VT_MULTI_SZ),$(!XCEL3CREATOR)},+
|
|
{4,0,$(!REG_VT_MULTI_SZ),$(!XCEL4CREATOR)},+
|
|
{5,0,$(!REG_VT_MULTI_SZ),$(!XCEL5CREATOR)},+
|
|
{6,0,$(!REG_VT_MULTI_SZ),$(!XCEL6CREATOR)},+
|
|
{7,0,$(!REG_VT_MULTI_SZ),$(!XCEL7CREATOR)},+
|
|
{8,0,$(!REG_VT_MULTI_SZ),$(!XCEL8CREATOR)},+
|
|
{9,0,$(!REG_VT_MULTI_SZ),$(!XCEL9CREATOR)},+
|
|
{10,0,$(!REG_VT_MULTI_SZ),$(!XCEL10CREATOR)},+
|
|
{11,0,$(!REG_VT_MULTI_SZ),$(!XCEL11CREATOR)},+
|
|
{12,0,$(!REG_VT_MULTI_SZ),$(!XCEL12CREATOR)},+
|
|
{13,0,$(!REG_VT_MULTI_SZ),$(!XCEL13CREATOR)},+
|
|
{14,0,$(!REG_VT_MULTI_SZ),$(!MSWD1CREATOR)},+
|
|
{15,0,$(!REG_VT_MULTI_SZ),$(!MSWD2CREATOR)},+
|
|
{16,0,$(!REG_VT_MULTI_SZ),$(!MSPJ1CREATOR)},+
|
|
{17,0,$(!REG_VT_MULTI_SZ),$(!MSPJ2CREATOR)},+
|
|
{18,0,$(!REG_VT_MULTI_SZ),$(!MSPJ3CREATOR)},+
|
|
{19,0,$(!REG_VT_MULTI_SZ),$(!MSPJ4CREATOR)},+
|
|
{20,0,$(!REG_VT_MULTI_SZ),$(!MSPJ5CREATOR)},+
|
|
{21,0,$(!REG_VT_MULTI_SZ),$(!MSPJ6CREATOR)},+
|
|
{22,0,$(!REG_VT_MULTI_SZ),$(!ALD31CREATOR)},+
|
|
{23,0,$(!REG_VT_MULTI_SZ),$(!ALD32CREATOR)},+
|
|
{24,0,$(!REG_VT_MULTI_SZ),$(!ALD33CREATOR)},+
|
|
{25,0,$(!REG_VT_MULTI_SZ),$(!MORECREATOR)},+
|
|
{26,0,$(!REG_VT_MULTI_SZ),$(!FOX+CREATOR)},+
|
|
{27,0,$(!REG_VT_MULTI_SZ),$(!ALD2CREATOR)},+
|
|
{28,0,$(!REG_VT_MULTI_SZ),$(!ARTZCREATOR)},+
|
|
{29,0,$(!REG_VT_MULTI_SZ),$(!SIT!CREATOR)},+
|
|
{30,0,$(!REG_VT_MULTI_SZ),$(!PPT2CREATOR)},+
|
|
{31,0,$(!REG_VT_MULTI_SZ),$(!PPT3CREATOR)},+
|
|
{32,0,$(!REG_VT_MULTI_SZ),$(!L123CREATOR)}}
|
|
|
|
|
|
Shell $(UtilInf),AddValueList,$(KeyTypeCreator),$(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(McProductKey)
|
|
CloseRegKey $(McNetRuleKey)
|
|
CloseRegKey $(McServiceKey)
|
|
CloseRegKey $(McParameters)
|
|
CloseRegKey $(McLinkageKey)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
|
|
; Set Extensions
|
|
|
|
read-syms ExtensionIds
|
|
|
|
|
|
Set NewValueList = +
|
|
{{XLC,0,$(!REG_VT_MULTI_SZ),$(XCEL1ID)},+
|
|
{XLS,0,$(!REG_VT_MULTI_SZ),$(XCEL2ID)},+
|
|
{XLM,0,$(!REG_VT_MULTI_SZ),$(XCEL3ID)},+
|
|
{XLW,0,$(!REG_VT_MULTI_SZ),$(XCEL4ID)},+
|
|
{XLA,0,$(!REG_VT_MULTI_SZ),$(XCEL5ID)},+
|
|
{XLT,0,$(!REG_VT_MULTI_SZ),$(XCEL6ID)},+
|
|
{SLK,0,$(!REG_VT_MULTI_SZ),$(XCEL7ID)},+
|
|
{WKS,0,$(!REG_VT_MULTI_SZ),$(XCEL8ID)},+
|
|
{WK1,0,$(!REG_VT_MULTI_SZ),$(XCEL9ID)},+
|
|
{CSV,0,$(!REG_VT_MULTI_SZ),$(XCEL10ID)},+
|
|
{DIF,0,$(!REG_VT_MULTI_SZ),$(XCEL11ID)},+
|
|
{DOC,0,$(!REG_VT_MULTI_SZ),$(MSWD1ID)},+
|
|
{WRD,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
|
|
{RTF,0,$(!REG_VT_MULTI_SZ),$(MSWD3ID)},+
|
|
{STY,0,$(!REG_VT_MULTI_SZ),$(MSWD4ID)},+
|
|
{GLY,0,$(!REG_VT_MULTI_SZ),$(MSWD5ID)},+
|
|
{TXT,0,$(!REG_VT_MULTI_SZ),$(MSWD6ID)},+
|
|
{MPP,0,$(!REG_VT_MULTI_SZ),$(MSPJ1ID)},+
|
|
{MPX,0,$(!REG_VT_MULTI_SZ),$(MSPJ2ID)},+
|
|
{MPC,0,$(!REG_VT_MULTI_SZ),$(MSPJ3ID)},+
|
|
{MPV,0,$(!REG_VT_MULTI_SZ),$(MSPJ4ID)},+
|
|
{MPW,0,$(!REG_VT_MULTI_SZ),$(MSPJ5ID)},+
|
|
{PM3,0,$(!REG_VT_MULTI_SZ),$(ALD31ID)},+
|
|
{PT3,0,$(!REG_VT_MULTI_SZ),$(ALD32ID)},+
|
|
{TEM,0,$(!REG_VT_MULTI_SZ),$(ALD33ID)},+
|
|
{TPL,0,$(!REG_VT_MULTI_SZ),$(ALD33ID)},+
|
|
{TIF,0,$(!REG_VT_MULTI_SZ),$(ALD33ID)},+
|
|
{RDY,0,$(!REG_VT_MULTI_SZ),$(MOREID)},+
|
|
{DBF,0,$(!REG_VT_MULTI_SZ),$(FOX+ID)},+
|
|
{PUB,0,$(!REG_VT_MULTI_SZ),$(ALD2ID)},+
|
|
{EPS,0,$(!REG_VT_MULTI_SZ),$(ARTZID)},+
|
|
{SIT,0,$(!REG_VT_MULTI_SZ),$(SIT!ID)},+
|
|
{PPT,0,$(!REG_VT_MULTI_SZ),$(PPT2ID)},+
|
|
{WK3,0,$(!REG_VT_MULTI_SZ),$(L123ID)}}
|
|
|
|
|
|
Shell $(UtilInf),AddValueList,$(KeyExtensions),$(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(McProductKey)
|
|
CloseRegKey $(McNetRuleKey)
|
|
CloseRegKey $(McServiceKey)
|
|
CloseRegKey $(McParameters)
|
|
CloseRegKey $(McLinkageKey)
|
|
goto fatalregistry
|
|
endif
|
|
|
|
|
|
Ifstr(i) $(NTFSVolExists) == TRUE
|
|
|
|
Ifstr(i) $(!UamCopyStatus) == TRUE
|
|
Shell "" DoUAMInstall "INSTALL"
|
|
EndIf
|
|
|
|
EndIf
|
|
|
|
read-syms DefAfpParameters$(!STF_LANGUAGE)
|
|
|
|
|
|
set NewValueList = +
|
|
{{ServerOptions,0,$(!REG_VT_DWORD),$(ServerOptions)},+
|
|
{MaxSessions,0,$(!REG_VT_DWORD),$(MaxSessions)},+
|
|
{LoginMsg,0,$(!REG_VT_SZ),$(LoginMessage)}, +
|
|
{PagedMemLimit,0,$(!REG_VT_DWORD),$(PagedMemLimit)}, +
|
|
{NonPagedMemLimit,0,$(!REG_VT_DWORD),$(NonPagedMemLimit)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(McParameters), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
CloseRegKey $(McParameters)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
endif
|
|
|
|
read-syms StatusAfp2$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
Set Afp_DependList = {"+TDI"}
|
|
Set FLibraryErrCtl = 1
|
|
Shell $(UtilInf) CreateService,+
|
|
$(ProductAFPSRVRName),$(ProductAFPSRVRDisplayName),+
|
|
$(ProductAFPSRVRImagePath),"system",+
|
|
"Network", $(Afp_DependList),"",+
|
|
$(ProductAFPSRVREventDll)
|
|
Set FLibraryErrCtl = 0
|
|
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
|
goto ShellCodeError
|
|
endif
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $($R1)
|
|
CloseRegKey $($R2)
|
|
CloseRegKey $($R3)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
endif
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
|
|
; WRITE Private Profile String in NTNET.INI
|
|
|
|
read-syms StatusAfp3$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
|
|
Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
|
|
Set IniSection = $(SrvMgrIniSection)
|
|
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(IniStatus) == "FAILED"
|
|
read-syms AFPString3$(!STF_LANGUAGE)
|
|
shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
|
|
EndIf
|
|
|
|
; Do the same thing for File Manager
|
|
|
|
Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
|
|
Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
|
|
Set IniSection = $(WinFileIniSection)
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(IniStatus) == "FAILED"
|
|
read-syms AFPString2$(!STF_LANGUAGE)
|
|
shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
|
|
EndIf
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
Set ThisOption = MACPRINT
|
|
Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
|
|
|
|
read-syms StatusMacPrint1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
Set FLibraryErrCtl = 1
|
|
Shell $(UtilInf), AddSoftwareComponent, $(Manufacturer), +
|
|
$(Product$(ThisOption)Name), $(Product$(ThisOption)Name),+
|
|
$(Product$(ThisOption)DisplayName), +
|
|
$(ProductFullInfName), $(Product$(ThisOption)ImagePath),+
|
|
"serviceauto", "", {"AppleTalk"},"",+
|
|
$(Product$(ThisOption)EventDll) "", "Application", ""
|
|
Set FLibraryErrCtl = 0
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $($R1)
|
|
CloseRegKey $($R2)
|
|
CloseRegKey $($R3)
|
|
CloseRegKey $($R4)
|
|
goto fatalregistry
|
|
EndIf
|
|
;
|
|
; At this point:
|
|
; $R1 contains the product version key handle;
|
|
; $R2 contains the NetRules subkey handle;
|
|
; $R3 contains the new Services key handle; and
|
|
; $R4 contains the Parameters key
|
|
;
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
Set MpProductKey = $($R1)
|
|
Set MpNetRuleKey = $($R2)
|
|
Set MpServiceKey = $($R3)
|
|
Set MpParameters = $($R4)
|
|
Set MpLinkageKey = $($R5)
|
|
|
|
|
|
set NewValueList = {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
|
|
{Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
|
|
{Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
|
|
{PathName,$(NoTitle),$(!REG_VT_SZ),$(!STF_CWDDIR)},+
|
|
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
|
|
{Hidden,0,$(!REG_VT_DWORD),1},+
|
|
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
|
|
|
|
Shell $(UtilInf),AddValueList,$(MpProductKey),$(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(MpProductKey)
|
|
CloseRegKey $(MpNetRuleKey)
|
|
CloseRegKey $(MpServiceKey)
|
|
CloseRegKey $(MpParameters)
|
|
CloseRegKey $(MpLinkageKey)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
set NewValueList = {{InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
|
|
{Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(MpNetRuleKey), $(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
CloseRegKey $(MpProductKey)
|
|
CloseRegKey $(MpNetRuleKey)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(MpParameters)
|
|
CloseRegKey $(MpLinkageKey)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
set NewValueList = {{OtherDependencies,0, $(!REG_VT_MULTI_SZ), {"AppleTalk"}}}
|
|
|
|
Shell $(UtilInf), AddValueList $(MpLinkageKey), $(NewValueList)
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
CloseRegKey $(MpProductKey)
|
|
CloseRegKey $(MpNetRuleKey)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
EndWait
|
|
CloseRegKey $(MpParameters)
|
|
CloseRegKey $(MpLinkageKey)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
|
|
|
|
; Add additional EventLogging Entries for MacPrint
|
|
|
|
Set MacPrintEventLogKey = $(!EventLogKey)"\"$(ThisOption)
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(MacPrintEventLogKey) $(!ACCESS) MacEvntLogKey
|
|
|
|
|
|
ifstr(i) $(MacEvntLogKey) != $(!KeyNull)
|
|
|
|
Set EventFile = "%SystemRoot%\System32\sfmprint.exe"
|
|
|
|
Set NewValueList = {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)}, +
|
|
{CategoryCount,0,$(!REG_VT_DWORD),4}}
|
|
|
|
Shell $(UtilInf) AddValueList, $(MacEvntLogKey), $(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $(KeyMcEventLog)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
Else
|
|
read-syms MacPrintString2$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
|
|
; Add the AppleTalk Print Monitor Stuff
|
|
|
|
Set AddMonStatus = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure AddMonStatus $(!UTILHANDLE) SfmAddPrintMonitor
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(AddMonStatus) == "FAILED"
|
|
read-syms MacPrintString4$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
|
|
; Set up Event Loggin for the AppleTalk Monitor
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) EvntLogKey
|
|
|
|
ifstr(i) $(EvntLogKey) != $(!KeyNull)
|
|
|
|
CreateRegKey $(EvntLogKey) {"AppleTalk Print Monitor",0,GenericClass} "" +
|
|
$(!ACCESS) "" AtalkMonKey
|
|
|
|
Set EventFile = "%SystemRoot%\system32\sfmmon.dll"
|
|
|
|
Set NewValueList = {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
|
|
{EventMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
|
|
{CategoryCount,0,$(!REG_VT_DWORD),4},+
|
|
{TypesSupported,0,$(!REG_VT_DWORD),7}}
|
|
|
|
Shell $(UtilInf) AddValueList $(AtalkMonKey) $(NewValueList)
|
|
|
|
ifint $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $(AtalkMonKey)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
Else
|
|
read-syms MacPrintString10$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
|
|
; Install PSTODIB Stuff
|
|
|
|
Set PrintProcDir = ""
|
|
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure PrintProcDir $(!UTILHANDLE) GetPrintProcDir
|
|
Set FLibraryErrCtl = 0
|
|
Debug-Output "SFMSETUP: GetPrintProcDir Return Val = "$(PrintProcDir)
|
|
|
|
ifstr(i) $(PrintProcDir) == "FAILED"
|
|
read-syms MacPrintString6$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
goto pstodibdone
|
|
Endif
|
|
|
|
|
|
; Copy PSPRINT.DLL to the Print Processor Directory
|
|
|
|
Set !PrintProcDir = $(PrintProcDir)
|
|
|
|
|
|
install "Install-PSPrint"
|
|
|
|
; Call AddPrintProcessor to add the PrintProcessor to system
|
|
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Status $(!UTILHANDLE) AddPrintProc $(PSprintProcFile) $(PSprintProc)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Status) != SUCCESS
|
|
read-syms MacPrintString3$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
pstodibdone = +
|
|
|
|
EndWait
|
|
FreeLibrary $(!UTILHANDLE)
|
|
|
|
|
|
read-syms SetupSuccess$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "STATUS" $(Status)
|
|
|
|
goto successful
|
|
|
|
|
|
|
|
;=============================Install Section End=========================
|
|
|
|
|
|
;=============================Configure Section Begin=========================
|
|
|
|
Configuresfm = +
|
|
|
|
|
|
LoadLibrary "x" $(!STF_CWDDIR)$(ResDll) !SFMDLGHANDLE
|
|
LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
|
|
|
|
read-syms ConfigureSfmDlg$(!STF_LANGUAGE)
|
|
|
|
beginconfigui = +
|
|
|
|
ui start "cfgsfm" $(!SFMDLGHANDLE)
|
|
|
|
Ifstr(i) $(DLGEVENT) == "CONTINUE"
|
|
Ifstr(i) $(ButtonChecked) == "1"
|
|
Set Option = ATALK
|
|
else
|
|
Set Option = AFPSVC
|
|
Endif
|
|
ui pop 1
|
|
else-ifstr(i) $(DLGEVENT) == "BACK"
|
|
ui pop 1
|
|
goto endconfigui
|
|
EndIf
|
|
|
|
ifstr(i) $(Option) == "ATALK"
|
|
StartWait
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyLinkage) $(!ACCESS) LinkageKey
|
|
|
|
ifstr(i) $(LinkageKey) != $(!KeyNull)
|
|
GetRegValue $(LinkageKey) "Bind" BindList
|
|
ifstr(i) $(BindList) == ""
|
|
read-syms AtalkString3$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
goto endconfigui
|
|
endif
|
|
else
|
|
Set RegistryErrorIndex = $($R0)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure "", $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND)
|
|
FreeLibrary $(ATHANDLE)
|
|
Set FLibraryErrCtl = 0
|
|
goto endconfigui
|
|
|
|
else-ifstr(i) $(Option) == "AFPSVC"
|
|
|
|
Set ParamKeyName = $(!NTN_ServiceBase)"\"$(Product$(Option)Name)"\Parameters"
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(!ACCESS) AfpParameters
|
|
|
|
Ifstr(i) $(AfpParameters) == $(!KeyNull)
|
|
set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
|
|
goto fatalregistry
|
|
endif
|
|
|
|
set ValueList = {}
|
|
set ServerName = ""
|
|
|
|
EnumRegValue $(AfpParameters) ValueList
|
|
|
|
ForListDo $(ValueList)
|
|
Ifstr(i) *($($),1) == "ServerName"
|
|
set ServerName = *($($),4)
|
|
endif
|
|
EndForListDo
|
|
|
|
Ifstr(i) $(ServerName) == ""
|
|
|
|
Set ServerName = $(!STF_COMPUTERNAME)
|
|
|
|
EndIf
|
|
|
|
read-syms ConfigureAfpDlg$(!STF_LANGUAGE)
|
|
|
|
processui = +
|
|
ui start "afpdlg" $(!SFMDLGHANDLE)
|
|
|
|
Debug-Output "DLGEVENT = "$(DLGEVENT)
|
|
|
|
ifstr(i) $(DLGEVENT) == "CONTINUE"
|
|
|
|
set ServerName = *($(EditTextOut),1)
|
|
|
|
; If Server Name is same as Computer Name, donot update
|
|
|
|
ifstr(i) $(ServerName) != $(!STF_COMPUTERNAME)
|
|
|
|
set NewValueList = {{ServerName,0,$(!REG_VT_SZ),$(ServerName)}}
|
|
|
|
Shell $(UtilInf), AddValueList, $(AfpParameters), $(NewValueList)
|
|
|
|
CloseRegKey $(AfpParameters)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
endif
|
|
|
|
else
|
|
DeleteRegValue $(AfpParameters) "ServerName"
|
|
EndIf
|
|
ui pop 1
|
|
Else-ifstr(i) $(DLGEVENT) == "EXIT"
|
|
|
|
Shell "" DoUAMInstall "CONFIGURE"
|
|
goto processui
|
|
|
|
Else
|
|
ui pop 1
|
|
EndIf
|
|
|
|
EndIf
|
|
|
|
endconfigui = +
|
|
FreeLibrary $(!SFMDLGHANDLE)
|
|
FreeLibrary $(!UTILHANDLE)
|
|
Set CommonStatus = STATUS_USERCANCEL
|
|
goto usercancel
|
|
|
|
;=============================Configure Section End=========================
|
|
|
|
;=============================Bindings Section Begin=========================
|
|
Bindingssfm = +
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Linkage" $(!ACCESS) LinkageKey
|
|
Ifstr(i) $(LinkageKey) == $(!KeyNull)
|
|
Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
|
|
Goto fatalregistry
|
|
Endif
|
|
Set BindList = {}
|
|
Set ExportList = {}
|
|
Set RouteList = {}
|
|
|
|
GetRegValue $(LinkageKey) "Bind" BindList
|
|
GetRegValue $(LinkageKey) "Export" ExportList
|
|
GetRegValue $(LinkageKey) "Route" RouteList
|
|
GetRegValue $(LinkageKey) "Exclude" ExcludeList
|
|
QueryListSize BindCount $(BindList)
|
|
IfInt $(BindCount) == 0
|
|
Goto endbinding
|
|
Endif
|
|
|
|
set NewBindList = {}
|
|
set NewExportList = {}
|
|
set NewRouteList = {}
|
|
|
|
ForListDo *($(BindList),4)
|
|
Split-String $($), "\", BindInfo
|
|
set NewBindList = >($(NewBindList), *($(BindInfo),4))
|
|
EndForListDo
|
|
|
|
ForListDo *($(ExportList),4)
|
|
set NewExportList = >($(NewExportList), $($))
|
|
EndForListDo
|
|
|
|
ForListDo *($(RouteList),4)
|
|
set NewRouteList = >($(NewRouteList), $($))
|
|
EndForListDo
|
|
|
|
ForListDo *($(ExcludeList),4)
|
|
set NewExcludeList = >($(NewExcludeList), $($))
|
|
EndForListDo
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Adapters" $(!ACCESS) AdapterKey
|
|
Ifstr(i) $(AdapterKey) == $(!KeyNull)
|
|
Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
|
|
Goto fatalregistry
|
|
Endif
|
|
|
|
set AdapterList = ""
|
|
EnumRegKey $(AdapterKey) AdapterList
|
|
|
|
Set AtalkAdapterList = {}
|
|
|
|
ForListDo $(AdapterList)
|
|
Set AtalkAdapterList = >($(AtalkAdapterList), *($($),1))
|
|
EndForListDo
|
|
|
|
|
|
Set NewBindings = ""
|
|
Set TobeUsedBindList = {}
|
|
Set TobeUsedExportList = {}
|
|
Set TobeUsedRouteList = {}
|
|
|
|
ForListDo $(NewBindList)
|
|
IfContains(i) $($) not-in $(AtalkAdapterList)
|
|
Set NewBindings = TRUE
|
|
Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
|
|
Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
|
|
Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
|
|
|
|
Shell "" CreateAtalkConfig $($) $(AdapterKey)
|
|
Ifstr(i) $($R0) != STATUS_SUCCESSFUL
|
|
CloseRegKey $(AdapterKey)
|
|
Set RegistryErrorIndex = $($R1)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
Else
|
|
Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
|
|
Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
|
|
Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
|
|
Endif
|
|
|
|
EndForListDo
|
|
|
|
set NewValueList = {{Bind,0,$(!REG_VT_MULTI_SZ),$(TobeUsedBindList)}, +
|
|
{Export,0,$(!REG_VT_MULTI_SZ),$(TobeUsedExportList)}, +
|
|
{Route,0,$(!REG_VT_MULTI_SZ),$(TobeUsedRouteList)}}
|
|
|
|
Ifstr(i) $(NewBindings) == TRUE
|
|
Shell $(UtilInf), AddValueList, $(LinkageKey), $(NewValueList)
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(LinkageKey)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
EndIf
|
|
EndIf
|
|
|
|
; Add the Default Port
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Parameters" $(!ACCESS) ParmKey
|
|
Ifstr(i) $(ParmKey) == $(!KeyNull)
|
|
Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
|
|
Goto fatalregistry
|
|
Endif
|
|
Set DefaultPort = {}
|
|
Set MediaTypeList = {}
|
|
GetRegValue $(ParmKey) "DefaultPort" DefaultPort
|
|
Ifstr(i) $(DefaultPort) != {}
|
|
goto removeadapters
|
|
EndIf
|
|
|
|
finddefaultport = +
|
|
|
|
ForListDo $(TobeUsedBindList)
|
|
Split-String $($) "\" PortName
|
|
Shell "" FindMediaType *($(PortName),4)
|
|
Ifstr(i) $($R0) == STATUS_SUCCESSFUL
|
|
Set MediaTypeList = >($(MediaTypeList), $($R1))
|
|
EndIf
|
|
EndForListDo
|
|
|
|
Ifcontains(i) "1" in $(MediaTypeList)
|
|
ForListDo $(MediaTypeList)
|
|
Ifint $($) == 1
|
|
Set DefaultPort = *($(TobeUsedBindList),$(#))
|
|
goto defportdone
|
|
EndIf
|
|
EndForListDo
|
|
else-ifcontains(i) "2" in $(MediaTypeList)
|
|
ForListDo $(MediaTypeList)
|
|
Ifint $($) == 2
|
|
Set DefaultPort = *($(TobeUsedBindList),$(#))
|
|
goto defportdone
|
|
EndIf
|
|
EndForListDo
|
|
else-ifcontains(i) "3" in $(MediaTypeList)
|
|
Set DefaultPort = *($(TobeUsedBindList),1)
|
|
else
|
|
read-syms NoAdaptersFound$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ErrorString)
|
|
goto endbinding
|
|
Endif
|
|
|
|
defportdone = +
|
|
|
|
Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
|
|
Shell $(UtilInf), AddValueList, $(ParmKey), $(NewValueList)
|
|
set RegistryErrorIndex = $($R0)
|
|
CloseRegKey $(ParmKey)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
goto fatalregistry
|
|
EndIf
|
|
goto endbinding
|
|
|
|
removeadapters = +
|
|
Split-String *($(DefaultPort),4) "\" PortName
|
|
ForListDo $(AtalkAdapterList)
|
|
Ifcontains(i) $($) not-in $(NewBindList)
|
|
DeleteRegKey $(AdapterKey) $($)
|
|
Ifstr(i) $($) == *($(PortName),4)
|
|
read-syms RemoveDefaultPort$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
goto finddefaultport
|
|
Endif
|
|
EndIf
|
|
EndForListDo
|
|
|
|
endbinding = +
|
|
goto end
|
|
|
|
;=============================Bindings Section End=========================
|
|
Removesfm = +
|
|
|
|
|
|
|
|
; Remove the SMAddons String in regnet.ini. This is done first, because
|
|
; we remove the util dll in "SfmRemoveFiles". If RemoveFiles failed,
|
|
; the SMAddons section will be restored to it's former shape.
|
|
|
|
|
|
Set FLibraryErrCtl = 1
|
|
|
|
|
|
Ifcontains(i) "AfpServer" in $(REMOVE_SOFTWARE)
|
|
|
|
Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
|
|
Set IniSection = $(SrvMgrIniSection)
|
|
Set Result = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
|
|
endif
|
|
|
|
|
|
; Remove the file manager addons also
|
|
|
|
Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
|
|
Set IniSection = $(WinFileIniSection)
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
|
|
endif
|
|
|
|
EndIf
|
|
|
|
|
|
read-syms StatusRemove1$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
Shell "" RemoveSfmFiles "REMOVE"
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
|
|
Ifstr(i) $($R0) != STATUS_SUCCESSFUL
|
|
|
|
; restore the Afp Server SMAddons
|
|
|
|
read-syms CantRemoveSfm$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
|
|
read-syms StatusRemove2$(!STF_LANGUAGE)
|
|
Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
|
|
|
|
Ifcontains(i) "AfpServer" in $(REMOVE_SOFTWARE)
|
|
|
|
Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
|
|
Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
|
|
Set IniSection = $(SrvMgrIniSection)
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, +
|
|
$(IniSection), $(IniString), $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
|
|
endif
|
|
|
|
|
|
; Restore the File Manager Addons too
|
|
|
|
Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
|
|
Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
|
|
Set IniSection = $(WinFileIniSection)
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, +
|
|
$(IniSection), $(IniString), $(IniFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
|
|
endif
|
|
|
|
EndIf
|
|
|
|
Shell $(SubInf) PopBillBoard
|
|
goto removeabort
|
|
|
|
EndIf
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyBase) $(!ACCESS) ProductKey
|
|
|
|
Ifstr $(ProductKey) == $(!KeyNull)
|
|
set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
|
|
goto fatalregistry
|
|
endif
|
|
|
|
DeleteRegTree $(ProductKey) $(ProductSFMName)
|
|
CloseRegKey $(ProductKey)
|
|
|
|
|
|
ForListDo $(REMOVE_SOFTWARE)
|
|
debug-output "Removing component: "$($)
|
|
Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $($)
|
|
EndForListDo
|
|
|
|
ForListDo $(REMOVE_SERVICES)
|
|
debug-output "Removing component service: "$($)
|
|
Shell $(UtilInf), RemoveService, $($), "YES"
|
|
EndForListDo
|
|
|
|
|
|
; Use Deletemonitor Api
|
|
Ifcontains(i) "MACPRINT" in $(REMOVE_SOFTWARE)
|
|
|
|
Set DelMonStatus = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure DelMonStatus $(!UTILHANDLE) SfmDeletePrintMonitor
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(DelMonStatus) == "FAILED"
|
|
read-syms MacPrintString7$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
; Temporary Fix
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!PrintMonKeyName) $(!ACCESS) MonitorKey
|
|
DeleteRegTree $(MonitorKey) "AppleTalk Printers"
|
|
|
|
; Delete EventLog entries for MacPrint and AppleTalk Monitors
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) LogKey
|
|
|
|
Ifstr(i) $(LogKey) == $(!KeyNull)
|
|
Set RegistryErrorIndex = $($R0)
|
|
goto fatalregistry
|
|
EndIf
|
|
|
|
|
|
Set AtalkMonKey = "AppleTalk Print Monitor"
|
|
DeleteRegTree $(LogKey) $(AtalkMonKey)
|
|
|
|
Set MacPrintKey = "MACPRINT"
|
|
DeleteRegTree $(LogKey) $(MacPrintKey)
|
|
|
|
CloseRegKey $(!EventLogKey)
|
|
|
|
; Delete the PSPRINT Print Processor
|
|
|
|
Set DelStatus = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure DelStatus $(!UTILHANDLE) DeletePrintProc "\\"$(!STF_COMPUTERNAME) PSPRINT
|
|
Set FLibraryErrCtl = 0
|
|
Ifstr(i) $(DelStatus) == FAILED
|
|
read-syms MacPrintString5$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
EndIf
|
|
|
|
|
|
; Update WinSock Service to remove from Transport List
|
|
Ifcontains(i) "AppleTalk" in $(REMOVE_SOFTWARE)
|
|
Shell $(UtilInf) UpdateWinsockService "AppleTalk" FALSE
|
|
EndIf
|
|
|
|
Ifstr(i) $($R0) != NO_ERROR
|
|
read-syms AtalkString2$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
|
|
EndIf
|
|
|
|
FreeLibrary $(!UTILHANDLE)
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Status, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)$(UtilDll)
|
|
Set FLibraryErrCtl = 0
|
|
|
|
read-syms StatusRemoveDone$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "STATUS" $(Status)
|
|
|
|
goto end
|
|
|
|
removeabort = +
|
|
|
|
FreeLibrary $(!UTILHANDLE)
|
|
|
|
goto usercancel
|
|
|
|
Upgradesfm = +
|
|
|
|
ifstr(i) $(!ProductKeyName) == $(!NTN_RegBase)
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
|
|
|
|
Ifstr $(KeyProduct) != $(!KeyNull)
|
|
|
|
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
|
|
set Version = *($(VersionInfo), 4)
|
|
Split-String $(!NTN_Infname), "\", FilenameList
|
|
QueryListSize ListSize $(FilenameList)
|
|
set !UG_Filename = *($(FilenameList), $(ListSize))
|
|
|
|
install Install-Initial
|
|
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
|
goto fatal
|
|
endif
|
|
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
|
|
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
|
|
CloseRegKey $(KeyProduct)
|
|
else
|
|
Set RegistryErrorIndex = $($R0)
|
|
goto fatalregistry
|
|
endif
|
|
endif
|
|
|
|
goto end
|
|
|
|
|
|
successful = +
|
|
|
|
Set Status = STATUS_SUCCESSFUL
|
|
goto end
|
|
|
|
fatalregistry = +
|
|
EndWait
|
|
Shell $(UtilInf) RegistryErrorString $(RegistryErrorIndex)
|
|
IfInt $(ShellCode) != 0
|
|
goto ShellCodeError
|
|
EndIf
|
|
set Error = $($R0)
|
|
goto fatal
|
|
|
|
fatal = +
|
|
Ifint $(BillboardVisible) != 0
|
|
Shell $(SubInf) PopBillboard
|
|
Set BillboardVisible = 0
|
|
Endif
|
|
read-syms MiscErrorString3$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ThisOption):$(Error)
|
|
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
|
goto ShellCodeError
|
|
endif
|
|
goto failed
|
|
|
|
ShellCodeError = +
|
|
|
|
read-syms ShellingError$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
|
|
failed = +
|
|
set CommonStatus = STATUS_FAILED
|
|
ifstr(i) $(REMOVE_FLAG) == TRUE
|
|
set REMOVE_FLAG = FALSE
|
|
goto Removesfm
|
|
endif
|
|
goto end
|
|
|
|
setupabort = +
|
|
read-syms SetupAbortDlg$(!STF_LANGUAGE)
|
|
ui start "setupabort"
|
|
|
|
initialsetupcancel = +
|
|
|
|
Set CommonStatus = STATUS_USERCANCEL
|
|
goto end
|
|
|
|
usercancel = +
|
|
|
|
Set CommonStatus = STATUS_USERCANCEL
|
|
|
|
end = +
|
|
|
|
Return $(CommonStatus)
|
|
|
|
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
;-------------------------------------------------------------
|
|
; ROUTINE : Find MediaType
|
|
; DESCRIPTION : Gets the media type of the card
|
|
; RETURNS : R0: STATUS_SUCCESSFUL | STATUS_FAILED
|
|
; : R1: RegistryErrorIndex, if error, else media type
|
|
;
|
|
;------------------------------------------------------------
|
|
|
|
[FindMediaType]
|
|
|
|
Set Status = STATUS_FAILED
|
|
|
|
Set CardName = $(!NTN_ServiceBase)"\"$($0)"\Parameters"
|
|
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(CardName) $(!ACCESS) CardKey
|
|
|
|
Ifstr(i) $(CardKey) == $(!KeyNull)
|
|
Set RegistryErrorIndex = $($R0)
|
|
Return $(Status) $(RegistryErrorIndex)
|
|
EndIf
|
|
|
|
GetRegValue $(CardKey) "MediaType" MediaTypeList
|
|
|
|
Set MediaType = *($(MediaTypeList),4)
|
|
Set Status = STATUS_SUCCESSFUL
|
|
Return $(Status) $(MediaType)
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------
|
|
; ROUTINE : CreateAtalkConfig
|
|
; DESCRIPTION : Creates the registry entries for AppleTalk
|
|
; RETURNS : R0: STATUS_SUCCESSFUL | STATUS_FAILED
|
|
; : R1: RegistryErrorIndex
|
|
;
|
|
;------------------------------------------------------------
|
|
|
|
[CreateAtalkConfig]
|
|
Set AdapterName = $($0)
|
|
Set KeyAdapters = $($1)
|
|
Set RetStatus = STATUS_SUCCESSFUL
|
|
|
|
read-syms GeneralConstants
|
|
CreateRegKey $(KeyAdapters) {$(AdapterName), 0, GenericClass} "" $(!ACCESS) "", TempKeyAdapters
|
|
|
|
Shell "" FindMediaType $($0)
|
|
|
|
Ifstr(i) $($R0) == STATUS_SUCCESSFUL
|
|
Set MediaType = $($R1)
|
|
else
|
|
Set RegistryErrorIndex = $($R1)
|
|
Set RetStatus = $($R0)
|
|
goto return
|
|
EndIf
|
|
set PortName = $($0)"@"$(!STF_COMPUTERNAME)
|
|
set ZoneList = {""}
|
|
IfInt $(MediaType) == 3
|
|
set NewValueList = {{"NetworkRangeUpperEnd",0,$(!REG_VT_DWORD),0 },+
|
|
{"NetworkRangeLowerEnd",0,$(!REG_VT_DWORD),0 },+
|
|
{"ZoneList",0,$(!REG_VT_MULTI_SZ),$(ZoneList)},+
|
|
{"SeedingNetwork", 0,$(!REG_VT_DWORD),0},+
|
|
{"DdpCheckSums", 0,$(!REG_VT_DWORD),0},+
|
|
{"PortName",0,$(!REG_VT_SZ),$(PortName)}}
|
|
else
|
|
set AarpRetries = 10
|
|
set DefaultZone = ""
|
|
set NewValueList = {{"AarpRetries",0,$(!REG_VT_DWORD),$(AarpRetries)}, +
|
|
{"DefaultZone", 0,$(!REG_VT_SZ),$(DefaultZone)},+
|
|
{"NetworkRangeUpperEnd",0,$(!REG_VT_DWORD),0 },+
|
|
{"NetworkRangeLowerEnd",0,$(!REG_VT_DWORD),0 },+
|
|
{"ZoneList",0,$(!REG_VT_MULTI_SZ),$(ZoneList)},+
|
|
{"SeedingNetwork", 0,$(!REG_VT_DWORD),0},+
|
|
{"DdpCheckSums", 0,$(!REG_VT_DWORD),0},+
|
|
{"PortName",0,$(!REG_VT_SZ),$(PortName)}}
|
|
EndIf
|
|
|
|
Shell $(UtilInf),AddValueList, $(TempKeyAdapters), $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $(TmpKeyAdapters)
|
|
Set RetStatus = STATUS_FAILED
|
|
EndIf
|
|
|
|
return = +
|
|
|
|
Return $(RetStatus) $(RegistryErrorIndex)
|
|
|
|
|
|
;-------------------------------------------------------------------------
|
|
;
|
|
; DO UAM INSTALL
|
|
;
|
|
;-------------------------------------------------------------------------
|
|
|
|
[DoUAMInstall]
|
|
|
|
Set Status = STATUS_FAILED
|
|
Set Mode = $($0)
|
|
|
|
read-syms DialogConstants$(!STF_LANGUAGE)
|
|
|
|
read-syms VolList
|
|
detect VolList
|
|
|
|
Set NTFSVolumeList = {}
|
|
|
|
; loop thru the volume list and find the first NTFS Volume
|
|
|
|
ForListDo $(VolumeFSList)
|
|
|
|
Ifstr(i) $($) == "NTFS"
|
|
|
|
Set NTFSExists = TRUE
|
|
Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
|
|
|
|
EndIf
|
|
|
|
EndForListDo
|
|
|
|
Ifstr(i) $(NTFSExists) != TRUE
|
|
read-syms AFPString12$(!STF_LAMGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
goto enduam
|
|
EndIf
|
|
|
|
|
|
OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AfpServer\Parameters\Volumes" $(!ACCESS) KeyVol
|
|
|
|
ifstr(i) $(KeyVol) == $(!KeyNull)
|
|
read-syms AFPString11$(!STF_LAMGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
goto enduam
|
|
endif
|
|
|
|
Ifstr(i) $(Mode) == "INSTALL"
|
|
Set UAMDrive = *($(NTFSVolumeList),1)
|
|
read-syms UAMVars$(!STF_LANGUAGE)
|
|
goto uamuidone
|
|
|
|
Else-Ifstr(i) $(Mode) == "CONFIGURE"
|
|
Set UAMDrive = *($(NTFSVolumeList),1)
|
|
read-syms UAMVars$(!STF_LANGUAGE)
|
|
Set EditTextIn = $(UAMPath)
|
|
read-syms UAMVolCreateDlg$(!STF_LANGUAGE)
|
|
EndIf
|
|
|
|
; display the uam ui
|
|
|
|
uamui = +
|
|
|
|
ui start "uaminstall" $(!SFMDLGHANDLE)
|
|
|
|
ifstr(i) $(DLGEVENT) == "CONTINUE"
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure IsFullPath, $(!LIBHANDLE), CheckPathFullPathSpec $(EditTextOut)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(IsFullPath) == "YES"
|
|
|
|
Split-String $(EditTextOut) ":" DriveLetter
|
|
|
|
Set NTFSDrive = *($(DriveLetter),1)":"
|
|
|
|
IfContains(i) $(NTFSDrive) not-in $(NTFSVolumeList)
|
|
|
|
read-syms AFPString10$(!STF_LANGUAGE)
|
|
Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
goto uamui
|
|
|
|
Endif
|
|
|
|
Else
|
|
|
|
read-syms AFPString10$(!STF_LANGUAGE)
|
|
Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
goto uamui
|
|
|
|
|
|
EndIf
|
|
|
|
ui pop 1
|
|
Set UAMPath = $(EditTextOut)
|
|
|
|
|
|
Else-ifstr(i) $(DLGEVENT) == "BACK"
|
|
ui pop 1
|
|
|
|
EndIf
|
|
|
|
|
|
uamuidone = +
|
|
|
|
install "CreateUAMDir"
|
|
Set Result = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, +
|
|
$(!STF_CWDDIR)$(!UamResSrcFile), +
|
|
$(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
read-syms UamFileNotCopied1$(!STF_LANGUAGE)
|
|
Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
Set Status = STATUS_USERCANCEL
|
|
goto enduam
|
|
EndIf
|
|
|
|
Set Result = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, $(!STF_CWDDIR)$(!UamInfoSrcFile) +
|
|
$(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
read-syms UamFileNotCopied1$(!STF_LANGUAGE)
|
|
Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
Set Status = STATUS_USERCANCEL
|
|
goto enduam
|
|
EndIf
|
|
|
|
; copy the UAM Readme
|
|
Set Result = ""
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, $(!STF_CWDDIR)$(!UamReadMeSrcFile) +
|
|
$(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
|
|
Set FLibraryErrCtl = 0
|
|
ifstr(i) $(Result) == "FAILED"
|
|
read-syms UamFileNotCopied1$(!STF_LANGUAGE)
|
|
Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
|
|
Set Status = STATUS_USERCANCEL
|
|
goto enduam
|
|
EndIf
|
|
|
|
|
|
|
|
Set VolProperties = {"MAXUSES=25", "PROPERTIES=32768","PASSWORD="}
|
|
Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
|
|
|
|
set NewValueList = {{$(!UAMVolumeName), 0, $(!REG_VT_MULTI_SZ),+
|
|
$(VolProperties)}}
|
|
|
|
Shell "utility.inf" AddValueList $(KeyVol) $(NewValueList)
|
|
|
|
set RegistryErrorIndex = $($R0)
|
|
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
|
CloseRegKey $(KeyVol)
|
|
Set Status = STATUS_FAILED
|
|
goto enduam
|
|
EndIf
|
|
|
|
Set Status = STATUS_SUCCESSFUL
|
|
|
|
enduam = +
|
|
|
|
Return $(Status) $(RegistryErrorIndex)
|
|
|
|
|
|
|
|
[RemoveSfmFiles]
|
|
|
|
|
|
Set Mode = $($0)
|
|
|
|
Set RemoveList = {}
|
|
Set RenameList = {}
|
|
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKSYS, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMSG, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATCONFIG, 1))
|
|
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCEXE, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMSG, 1))
|
|
Set RenameList = >($(RenameList), #(Files-RemoveList, AFPSVCAPI, 1))
|
|
Set RenameList = >($(RenameList), #(Files-RemoveList, AFPSVCMGR, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSRVR, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPICONS, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPTYPECRTR, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMRES, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMINF, 1))
|
|
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB1, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB2, 1))
|
|
Set RenameList = >($(RenameList), #(Files-RemoveList, PSTODIB3, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB4, 1))
|
|
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, MACPRINT, 1))
|
|
Set RenameList = >($(RenameList), #(Files-RemoveList, ATALKMON, 1))
|
|
|
|
; Remove resource dll's and other dll's
|
|
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMRESDLL, 1))
|
|
Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMSETUPINF, 1))
|
|
|
|
ForListDo $(RemoveList)
|
|
|
|
Set DelStatus = ""
|
|
Debug-Output "Deleting File "$($)
|
|
Set FLibraryErrCtl = 1
|
|
|
|
Ifstr(i) $(Mode) == "REMOVE"
|
|
LibraryProcedure DelStatus $(!UTILHANDLE), DelFile $($)
|
|
else
|
|
LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
|
|
EndIf
|
|
Set FLibraryErrCtl = 0
|
|
Debug-Output "Del File Status = "$(DelStatus)
|
|
|
|
ifstr(i) $(DelStatus) == "FAILED"
|
|
Ifstr(i) $(Mode) == "REMOVE"
|
|
read-syms CantRemoveSfm$(!STF_LANGUAGE)
|
|
Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
|
|
Set Status = STATUS_FAILED
|
|
goto endremove
|
|
EndIf
|
|
Endif
|
|
|
|
EndForListDo
|
|
|
|
ForListDo $(RenameList)
|
|
|
|
Ifstr(i) $(Mode) == "REMOVE"
|
|
Debug-Output "File to remove on reboot = "$($)
|
|
AddFileToDeleteList $($)
|
|
else
|
|
Set FLibraryErrCtl = 1
|
|
LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
|
|
Set FLibraryErrCtl = 0
|
|
EndIf
|
|
|
|
EndForListDo
|
|
|
|
|
|
Set Status = STATUS_SUCCESSFUL
|
|
|
|
endremove = +
|
|
|
|
Return $(Status)
|
|
|
|
|
|
[SfmSetupHelpIds]
|
|
|
|
MinHelpID = 25000
|
|
MaxHelpID = 30000
|
|
InitialSfmId = 25000
|
|
|
|
HC_SFM_SFMCONFIGSEL = 25023
|
|
HC_SFM_SRVCFG = 25024
|
|
HC_SFM_UAMVOLCREATE = 25026
|
|
|
|
|
|
|
|
;-----------------------------------------------------------------------------
|
|
;
|
|
; Copy File /Install Sections
|
|
;
|
|
;-----------------------------------------------------------------------------
|
|
|
|
|
|
[Install-Initial]
|
|
|
|
set STF_VITAL = ""
|
|
|
|
AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
|
|
AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
|
|
AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
|
|
CopyFilesInCopyList
|
|
|
|
Exit
|
|
|
|
|
|
[Install-PSPrint]
|
|
AddSectionFilesToCopyList Files-PRINTPROC $(!STF_CWDDIR) $(!PrintProcDir)
|
|
CopyFilesInCopyList
|
|
Exit
|
|
|
|
[CreateUAMDir]
|
|
|
|
CreateDir $(UAMPath)
|
|
CreateDir $(UAMPath)"\"$(!AppleShareFolder)
|
|
|
|
Exit
|
|
|
|
|
|
|
|
[Source Media Descriptions]
|
|
1 = "Windows NT Advanced Server Setup Disk #1" , TAGFILE = sfmutil.dll
|
|
2 = "Windows NT Advanced Server Setup CD-ROM Disk" , TAGFILE = sfmutil.dll
|
|
|
|
|
|
[ProductType]
|
|
STF_PRODUCT = LanmanNT
|
|
STF_PLATFORM = I386
|
|
|
|
[Files-Inf]
|
|
2, oemsetup.inf, SIZE=75000, RENAME=oemnxpsm.inf, DECOMPRESS
|
|
2, sfmicons.inf, SIZE=2599, DECOMPRESS
|
|
2, sfmmap.inf, SIZE=2599, DECOMPRESS
|
|
|
|
[Files-SFM]
|
|
2, sfmres.dll, SIZE=10752, DECOMPRESS
|
|
2, sfmutil.dll, SIZE=9210, DECOMPRESS
|
|
2, sfmatmsg.dll, SIZE=55555, DECOMPRESS
|
|
2, sfmatcfg.dll, SIZE=72704, DECOMPRESS
|
|
2, sfmwshat.dll, SIZE=55555, DECOMPRESS
|
|
2, sfmsvc.exe, SIZE=141824, DECOMPRESS
|
|
2, sfmmsg.dll, SIZE=10752, DECOMPRESS
|
|
2, sfmapi.dll, SIZE=61440, DECOMPRESS
|
|
2, sfmmgr.dll, SIZE=126976, RENAME=sfmmgr.cpl, DECOMPRESS
|
|
2, sfmprint.exe, SIZE=76288, DECOMPRESS
|
|
2, sfmmon.dll, SIZE=47616, DECOMPRESS
|
|
2, sfmpsexe.exe, SIZE=55555, DECOMPRESS
|
|
2, sfmpsfnt.dll, SIZE=55555, DECOMPRESS
|
|
2, sfmpsprt.dll, SIZE=55555, DECOMPRESS
|
|
2, sfmpsdib.dll, SIZE=55555, DECOMPRESS
|
|
2. sfmuam.txt SIZE=55555, DECOMPRESS
|
|
|
|
[Files-SFMDrivers]
|
|
2, sfmatalk.sys, SIZE=436224, DECOMPRESS
|
|
2, sfmsrv.sys, SIZE=274432, DECOMPRESS
|
|
|
|
[Files-PRINTPROC]
|
|
2, sfmpsprt.dll, SIZE=55555, DECOMPRESS
|
|
|
|
|
|
|
|
[Files-RemoveList]
|
|
|
|
SFMSETUPINF = $(!STF_WINDOWSSYSPATH)\oemnxpsm.inf
|
|
SFMRESDLL = $(!STF_WINDOWSSYSPATH)\sfmres.dll
|
|
SFMUTILDLL = $(!STF_WINDOWSSYSPATH)\sfmutil.dll
|
|
|
|
ATALKSYS = $(!STF_WINDOWSSYSPATH)\drivers\sfmatalk.sys
|
|
ATALKMSG = $(!STF_WINDOWSSYSPATH)\sfmatmsg.dll
|
|
ATCONFIG = $(!STF_WINDOWSSYSPATH)\sfmatcfg.dll
|
|
ATWINSOCK = $(!STF_WINDOWSSYSPATH)\sfmwshat.dll
|
|
|
|
AFPSVCEXE = $(!STF_WINDOWSSYSPATH)\sfmsvc.exe
|
|
AFPSVCMSG = $(!STF_WINDOWSSYSPATH)\sfmmsg.dll
|
|
AFPSVCAPI = $(!STF_WINDOWSSYSPATH)\sfmapi.dll
|
|
AFPSVCMGR = $(!STF_WINDOWSSYSPATH)\sfmmgr.cpl
|
|
|
|
AFPSRVR = $(!STF_WINDOWSSYSPATH)\drivers\sfmsrv.sys
|
|
AFPICONS = $(!STF_WINDOWSSYSPATH)\sfmicons.inf
|
|
AFPTYPECRTR = $(!STF_WINDOWSSYSPATH)\sfmmap.inf
|
|
UAMINF = $(!STF_WINDOWSSYSPATH)\sfmuam.ifo
|
|
UAMRES = $(!STF_WINDOWSSYSPATH)\sfmuam.rs
|
|
|
|
MACPRINT = $(!STF_WINDOWSSYSPATH)\sfmprint.exe
|
|
ATALKMON = $(!STF_WINDOWSSYSPATH)\sfmmon.dll
|
|
|
|
PSTODIB1 = $(!STF_WINDOWSSYSPATH)\sfmpsexe.exe
|
|
PSTODIB2 = $(!STF_WINDOWSSYSPATH)\sfmpsfnt.dll
|
|
PSTODIB3 = $(!STF_WINDOWSSYSPATH)\sfmpsprt.dll
|
|
PSTODIB4 = $(!STF_WINDOWSSYSPATH)\sfmpsdib.dll
|