diff options
Diffstat (limited to 'private/nw/install/wksta/nw.inf')
-rw-r--r-- | private/nw/install/wksta/nw.inf | 1224 |
1 files changed, 1224 insertions, 0 deletions
diff --git a/private/nw/install/wksta/nw.inf b/private/nw/install/wksta/nw.inf new file mode 100644 index 000000000..49491ced5 --- /dev/null +++ b/private/nw/install/wksta/nw.inf @@ -0,0 +1,1224 @@ +[Identification] + OptionType = NetService +[LanguagesSupported] + ENG +[Options] + NWWKSTA +[FileConstants] +UtilityInf = "UTILITY.INF" +subroutineinf = "SUBROUTN.INF" +SoftwareType = "service" +Exit_Code = 0 +NetwareEventDLL = "%SystemRoot%\System32\nwevent.dll" +Manufacturer = "Microsoft" +ProductMajorVersion = "3" +ProductMinorVersion = "1" +ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion) +ProductNWWKSTAName = "NWCWorkstation" +ProductNWWKSTAImagePath = "%SystemRoot%\System32\nwsvc.exe" +NetRuleNWWKSTAType = "nwWsta nwcWorkstation" +NetRuleNWWKSTAClass = {"nwcWorkstation basic"} +NetRuleNWWKSTABindable = {"nwcWorkstation nwlinkipxTransport non non 100"} +NetRuleNWWKSTAUse = $(SoftwareType)" no no" +NetRuleNWWKSTABindForm = """NwcWorkstation"" yes yes container" +ProductNWRDRName = "NwRdr" +ProductNWRDRImagePath = "\SystemRoot\System32\drivers\nwrdr.sys" +ProductProviderImagePath = "%SystemRoot%\System32\nwprovau.dll" +ProviderName = $(ProductNWWKSTAName) +ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(Product$(Option)Name)"\CurrentVersion" +ParamKeyName = $(!NTN_ServiceBase)"\"$(Product$(Option)Name)"\Parameters" +LSAKeyName = "System\CurrentControlSet\Control\LSA" +[GeneralConstants] +from = "" +to = "" +ExitCodeOk = 0 +ExitCodeCancel = 1 +ExitCodeFatal = 2 +KeyNull = "" +MAXIMUM_ALLOWED = 33554432 +RegistryErrorIndex = NO_ERROR +KeyProduct = "" +KeyParameters = "" +TRUE = 1 +FALSE = 0 +NoTitle = 0 +ExitState = "Active" +OldVersionExisted = $(FALSE) +DriverPath = $(!STF_NTPATH)\drivers +[date] + Now = {} ? $(!LIBHANDLE) GetSystemDate + +[DetectDiskSpace] + VolumeList = {} ? $(!LIBHANDLE) GetHardDriveLetters + VolumeFreeList = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace + VolumeFSList = {} ? $(!LIBHANDLE) GetHardDriveFileSystems + +[DetectSystemMemory] + SystemMemory = "" ? $(!LIBHANDLE) GetMemorySize + +[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) + ifstr(i) $(!STF_PRODUCT) == "WINNT" + set OptionTextList = ^(OptionsWINNTText$($0), 1) + else + set OptionTextList = ^(OptionsLANMANNTText$($0), 1) + endif + set Status = STATUS_SUCCESSFUL +finish_ReturnOptions = + + Return $(Status) $(OptionList) $(OptionTextList) +[InstallOption] + 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 + Debug-Output "OEMNSVNW.INF: STF_CWDDIR is: "$(!STF_CWDDIR) + Debug-Output "OEMNSVNW.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE) + set-subst LF = "\n" + set-subst CR = "\r" + ifstr(i) $(!STF_PRODUCT) == "WINNT" + read-syms Workstation$(!STF_LANGUAGE) + else + read-syms Gateway$(!STF_LANGUAGE) + endif + read-syms GeneralConstants + read-syms FileConstants + read-syms DialogConstants$(!STF_LANGUAGE) + ifstr(i) $(!NTN_Origination) == "NCPA" + set Continue = $(OK) + endif + read-syms FileConstants$(!STF_LANGUAGE) + detect date + detect DetectSystemMemory + detect DetectDiskSpace + set-title $(FunctionTitle) + set to = Begin + set from = Begin + set CommonStatus = STATUS_SUCCESSFUL + EndWait +Begin = + + Ifstr(i) $(!NTN_InstallMode) == deinstall + set OEM_ABANDON_OPTIONS = { $(ProductNWWKSTAName), + + $(ProductNWRDRName)} + set StartLabel = removeadapter + else-Ifstr(i) $(!NTN_InstallMode) == Update + set StartLabel = UpgradeSoftware + else-Ifstr(i) $(!NTN_InstallMode) == bind + set StartLabel = bindingadapter + else-Ifstr(i) $(!NTN_InstallMode) == configure + Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error: cannot get an error string." + goto ShellCodeError + endif + set Error = $($R0) + set from = end + set to = end + goto nonfatalinfo + else + set StartLabel = installadapter + set OEM_ABANDON_OPTIONS = {} + endif + set DoWKSTA = FALSE + set DoRDR = FALSE + set DoNWLINK = FALSE + set DoMUP = FALSE + Ifstr(i) $(Option) == NWWKSTA + set DoWKSTA = TRUE + set DoRDR = TRUE + set DoNWLINK = TRUE + set DoMUP = TRUE + Else-ifstr(i) $(Option) == RDR + Set DoRDR = TRUE + Else + Debug-Output "OEMNSVWK.INF: Unrecognized option" + Endif + set from = $(fatal) + set to = $(fatal) + goto $(StartLabel) +installadapter = + + GetDriveInPath NtDrive $(!STF_WINDOWSSYSPATH) + Shell "" GetFilesSize + set RequiredSize = $($R0) + ForListDo $(VolumeList) + set CurrentVolume = *($(VolumeList), $(#)) + set CurrentVolumeFree = *($(VolumeFreeList), $(#)) + Ifstr(i) $(CurrentVolume) == $(NtDrive) + set-mul CurrentVolumeFree = $(CurrentVolumeFree) 1024 + Ifint $(CurrentVolumeFree) < $(RequiredSize) + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(NotEnoughSpace) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + else + goto AfterCheckSpace + endif + EndIf + EndForListDo +AfterCheckSpace = + + + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NWLINKIPX" $(MAXIMUM_ALLOWED) BS_KeyServices + + Ifstr $(BS_KeyServices) == $(KeyNull) + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(InstallNWLINKFirst) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + endif + + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct + Ifstr $(KeyProduct) != $(KeyNull) + CloseRegKey $(KeyProduct) + Shell $(UtilityInf), VerExistedDlg, $(Product$(Option)Title),+ + $(ProductVersion) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error: cannot get an error string." + goto ShellCodeError + endif + goto end + endif + CloseRegKey $(KeyProduct) + + ; + ; Make sure Mup exists + ; + ifstr(i) $(DoMUP) == TRUE + ; + ; Check whether MUP exists or not. + ; If exists, continue. + ; Otherwise, popup a dialog and end + ; + Debug-Output "OEMNSVNW.INF: check MUP registry" + + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Mup" $(MAXIMUM_ALLOWED) MupKey + + Ifstr $(MupKey) == $(KeyNull) + ; + ; Mup does not exist. So, end NWCS setup. + ; + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(InstallNTWKSTAFirst) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + endif + + ; + ; It exists. So, continue. + ; + CloseRegKey $(MupKey) + endif + + ; + ; Check to make sure that NETWAREWORKSTATION is not there + ; + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\NetwareWorkstation" $(MAXIMUM_ALLOWED) BS_KeyServices + + Ifstr $(BS_KeyServices) == $(KeyNull) + ; + ; Good. Let check the "Mark for deletion" service controller problem. + ; + Shell $(UtilityInf), CreateService, + + "NetwareWorkstation", + + $(ProductNWWKSTADisplayName), + + $(ProductNWWKSTAImagePath), "autoserviceshare", "NetworkProvider", {}, "",+ + $(NetwareEventDLL) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + debug-output $($R0) + set RegistryErrorIndex = $($R0) + ifstr(i) $(RegistryErrorIndex) != NO_ERROR + ; + ; it is still there + ; + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(RemoveAndReboot) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + else + Shell $(UtilityInf) RemoveService "NetwareWorkstation" "YES" + endif + else + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(RemoveAndReboot) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + CloseRegKey $(BS_KeyServices) + goto end + endif + + + goto nextstep +nextstep = + + StartWait + Ifstr(i) $(!NTN_InstallMode) == install + Ifint $(OldVersionExisted) == $(FALSE) + goto installproduct + endif + endif + goto writeparameters +installproduct = + + CloseRegKey $(ParamKeyName) + ifstr(i) $(!NTN_InstallMode) == "install" + Ifstr(i) $(DoCopy) == "YES" + Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES + Ifint $($ShellCode) != $(!SHELL_CODE_OK) + Goto ShellCodeError + Else-Ifstr(i) $($R0) == STATUS_FAILED + Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + Goto fatal + Else-Ifstr(i) $($R0) == STATUS_USERCANCEL + Goto successful + Endif + Set SrcDir = $($R1) + Endif + install "Install-nwcfgdll" + ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS + Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + goto fatal + endif + endif + set OEM_ABANDON_ON = TRUE + LoadLibrary "nw" $(!STF_CWDDIR)\nwcfg.dll !NWCFG_HANDLE + Set FLibraryErrCtl = 1 + ; + ; Check the version number + ; + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) < 528 + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(UpgradeFirst) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + FreeLibrary $(!NWCFG_HANDLE) + else-ifint *($(Result),3) > 529 + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(NotDaytona) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + FreeLibrary $(!NWCFG_HANDLE) + endif + + ifstr(i) $(!NTN_InstallMode) == "install" + install "Install-Option" + ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS + Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + goto fatal + endif + endif + + LibraryProcedure Result $(!NWCFG_HANDLE), SetFileSysChangeValue + LibraryProcedure Result $(!NWCFG_HANDLE), AddNetwarePrinterProvidor + Set FLibraryErrCtl = 0 + ; + ; Change netware to the top provider + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\Print\Providers" $(MAXIMUM_ALLOWED) PrintProviderKey + Ifstr $(PrintProviderKey) != $(KeyNull) + GetRegValue $(PrintProviderKey),"Order",OrderInfo + set OrderList = *($(OrderInfo),4) + set NewOrderList = {$(ProductProviderName)} + ForListDo $(OrderList) + ifstr(i) $($) != $(ProductProviderName) + set NewOrderList = >($(NewOrderList),$($)) + endif + EndForListDo + SetRegValue $(PrintProviderKey) {"Order",$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewOrderList)} + CloseRegKey $(PrintProviderKey) + endif + + ; + ; Set Authentication packages + ; + + OpenRegKey $(!REG_H_LOCAL) "" $(LSAKeyName) $(MAXIMUM_ALLOWED) LSAKey + Ifstr $(LSAKey) != $(KeyNull) + GetRegValue $(LSAKey),"Authentication Packages", PackagesInfo + set Packages = *($(PackagesInfo), 4) + ifcontains(i) "nwprovau" in $(Packages) + ; don't do it + debug-output "Authentication Packages already exist." + else + ifstr(i) $(Packages) == "" + set Packages = {"nwprovau"} + else + set Packages = >($(Packages),"nwprovau") + endif + SetRegValue $(LSAKey) {"Authentication Packages",$(NoTitle),$(!REG_VT_MULTI_SZ),$(Packages)} + endif + CloseRegKey $(LSAKey) + endif + + ifstr(i) $(DoWKSTA) == TRUE + Debug-Output "OEMNSVNW.INF: Install Workstation in registry." + Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductNWWKSTAName)) + Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), + + $(ProductNWWKSTAName), + + $(ProductNWWKSTAName), + + $(ProductNWWKSTADisplayName), $(STF_CONTEXTINFNAME), + + $(ProductNWWKSTAImagePath), "autoserviceshare", "NetworkProvider", {}, "",+ + $(NetwareEventDLL) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add software components" + CloseRegKey $($R1) + CloseRegKey $($R2) + CloseRegKey $($R3) + CloseRegKey $($R4) + CloseRegKey $($R5) + goto fatalregistry + endif + Set SoftProductKey = $($R1) + Set SoftNetRuleKey = $($R2) + Set SoftServiceKey = $($R3) + Set SoftParameterKey = $($R4) + Set SoftLinkageKey = $($R5) + set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+ + {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+ + {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+ + {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductNWWKSTATitle)},+ + {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductNWWKSTADescription)},+ + {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductNWWKSTAName)},+ + {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}} + Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error." + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: registry error: add value list." + CloseRegKey $(SoftProductKey) + CloseRegKey $(SoftNetRuleKey) + CloseRegKey $(SoftServiceKey) + CloseRegKey $(SoftLinkageKey) + CloseRegKey $(SoftParameterKey) + goto fatalregistry + endif + set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleNWWKSTAType)},+ + {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleNWWKSTAClass)}, + + {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleNWWKSTAUse)}, + + {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleNWWKSTABindForm)}, + + {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleNWWKSTABindable)}, + + {InfOption,$(NoTitle),$(!REG_VT_SZ),NWWKSTA}} + Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error." + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + CloseRegKey $(SoftProductKey) + CloseRegKey $(SoftNetRuleKey) + CloseRegKey $(SoftServiceKey) + + Shell "" AddParameterKey $(SoftParameterKey) + CloseRegKey $(SoftParameterKey) + + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + CloseRegKey $(SoftLinkageKey) + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add value list." + goto fatalregistry + endif + set NewValueList = {{OtherDependencies,$(NoTitle),$(!REG_VT_MULTI_SZ),{"Mup"}}} + Shell $(UtilityInf), AddValueList, $(SoftLinkageKey), $(NewValueList) + CloseRegKey $(SoftLinkageKey) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error." + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: registry error: add value list." + goto fatalregistry + endif + + ; Remove autoexec.nt statements + ; + Set FLibraryErrCtl = 1 + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "REM Install network redirector"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\nw16"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\vwipxspx"$(LF) + ; + ; Setup string in autoexec.nt + ; + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "REM Install network redirector"$(CR)$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\nw16"$(CR)$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\vwipxspx"$(CR)$(LF) + Set FLibraryErrCtl = 0 + endif + + ifstr(i) $(DoNWLINK) == TRUE + ; + ; Increase the reference counter + ; + Shell "utility.inf", IncrementRefCount, "Software\Microsoft\NWLINKIPX\CurrentVersion" + endif + + ifstr(i) $(DoRDR) == TRUE + Debug-Output "OEMNSVNW.INF: Install Rdr registry" + Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductNWRDRName)) + Shell $(UtilityInf), CreateService, $(ProductNWRDRName), + + $(ProductNWRDRDisplayName), $(ProductNWRDRImagePath), + + "system", "Network", {}, "", + + $(NetwareEventDLL) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + set NWRdrServiceKey = $($R1) + CloseRegKey $($R2) + CloseRegKey $($R3) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add software components" + goto fatalregistry + endif + + ; + ; Add performance monitoring info + ; + CreateRegKey $(NWRdrServiceKey) {"Performance",$(NoTitle),GenericClass} "" + + $(MAXIMUM_ALLOWED) "" KeyPerformance + + set NewValueList = {{Library,$(NoTitle),$(!REG_VT_SZ),"Perfnw.dll"},+ + {Open,$(NoTitle),$(!REG_VT_SZ),"OpenNetWarePerformanceData"},+ + {Collect,$(NoTitle),$(!REG_VT_SZ),"CollectNetWarePerformanceData"},+ + {Close,$(NoTitle),$(!REG_VT_SZ),"CloseNetWarePerformanceData"}} + + Shell $(UtilityInf), AddValueList, $(KeyPerformance), $(NewValueList) + + set RegistryErrorIndex = $($R0) + + CloseRegKey $(KeyPerformance) + CloseRegKey $(NWRdrServiceKey) + + ; + ; Create performance help information + ; + + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) < 529 + Set FLibraryErrCtl = 1 + LibraryProcedure STATUS $(!NWCFG_HANDLE), lodctr $(!STF_WINDOWSSYSPATH)\nwperf.ini + ; Ignore the error code for now + Set FLibraryErrCtl = 0 + else + StartDetachedProcess STATUS "" "" $(!STF_WINDOWSSYSPATH)"\lodctr.exe" "nwperf.ini" + ifstr(i) $(STATUS) == "ERROR" + debug-output "Cannot detached process" + endif + endif + + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add performance information" + goto fatalregistry + endif + + Debug-Output "OEMNSVNW.INF: Add NetworkProvider" + Shell $(UtilityInf), AddNetworkProvider, $(ProviderName), + + $(ProductProviderImagePath), $(ProductProviderName), "nwrdr" + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add software components" + goto fatalregistry + endif + + ; + ; Put netware provider to the top of the order list + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\NetworkProvider\Order" $(MAXIMUM_ALLOWED) NetProviderKey + Ifstr $(NetProviderKey) != $(KeyNull) + GetRegValue $(NetProviderKey),"ProviderOrder",OrderInfo + set OrderList = *($(OrderInfo),4) + Split-String $(OrderList), ",", ProviderList + set NewOrderList = $(ProductNWWKSTAName) + ForListDo $(ProviderList) + ifstr(i) $($) != "," + ifstr(i) $($) != $(ProductNWWKSTAName) + set NewOrderList = $(NewOrderList)","$($) + endif + endif + EndForListDo + SetRegValue $(NetProviderKey) {"ProviderOrder",$(NoTitle),$(!REG_VT_SZ),$(NewOrderList)} + CloseRegKey $(NetProviderKey) + endif + + Shell "" AddShortName + + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProviderName)"\networkprovider" $(MAXIMUM_ALLOWED) ProviderKey + ifstr(i) $(ProviderKey) != "" + set NewValueList = {{Class,$(NoTitle),$(!REG_VT_DWORD),3}} + Shell $(UtilityInf) AddValueList $(ProviderKey) $(NewValueList) + endif + CloseRegKey $(ProviderKey) + + LibraryProcedure Status1, $(!LIBHANDLE), CheckFileExistance, $(!STF_WINDOWSSYSPATH)"\novell.cpl" + ifstr(i) $(Status1) == "YES" + LibraryProcedure Status2, $(!LIBHANDLE), RenFile, $(!STF_WINDOWSSYSPATH)"\novell.cpl", $(!STF_WINDOWSSYSPATH)"\novell.bak" + endif + + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\WOW" $(MAXIMUM_ALLOWED) WowKey + ifstr(i) $(WowKey) != "" + GetRegValue $(WowKey),"KnownDLLS", KnownDLLsInfo + Split-String *($(KnownDLLsInfo),4), " ", KnownDLLsList + Ifcontains(i) "netware.drv" not-in $(KnownDLLsList) + ifstr(i) *($(KnownDLLsInfo),4) == "" + set KnownDLLs = "netware.drv" + else + set KnownDLLs = *($(KnownDLLsInfo),4)" netware.drv" + endif + SetRegValue $(WowKey) {"KnownDLLS",$(NoTitle),$(!REG_VT_SZ),$(KnownDLLs)} + endif + CloseRegKey $(WowKey) + endif + + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\LanmanServer\Parameters" $(MAXIMUM_ALLOWED) ServerParmKey + ifstr(i) $(ServerParmKey) != "" + SetRegValue $(ServerParmKey) {"EnableSharedNetDrives",$(NoTitle),$(!REG_VT_DWORD),1} + CloseRegKey $(ServerParmKey) + endif + endif +writeparameters = + + + FreeLibrary $(!NWCFG_HANDLE) + + EndWait + goto successful +ConfigureBrowser = + + goto successful +bindingadapter =+ + set Error = "Binding: Sorry, not yet implemented." + goto fatal +removeadapter = + + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\WOW" $(MAXIMUM_ALLOWED) WowKey + ifstr(i) $(WowKey) != "" + GetRegValue $(WowKey),"KnownDLLS", KnownDLLsInfo + Split-String *($(KnownDLLsInfo),4), " ", KnownDLLsList + set KnownDLLs = "" + Ifcontains(i) "netware.drv" in $(KnownDLLsList) + ForListDo $(KnownDLLsList) + ifstr(i) $($) != " " + ifstr(i) $($) != "netware.drv" + ifstr(i) $(KnownDLLs) == "" + set KnownDLLs = $($) + else + set KnownDLLs = $(KnownDLLs)" "$($) + endif + endif + endif + EndForListDo + else + set KnownDLLs = *($(KnownDLLsInfo),4) + endif + SetRegValue $(WowKey) {"KnownDLLS",$(NoTitle),$(!REG_VT_SZ),$(KnownDLLs)} + CloseRegKey $(WowKey) + endif + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\LanmanServer\Parameters" $(MAXIMUM_ALLOWED) ServerParmKey + ifstr(i) $(ServerParmKey) != "" + SetRegValue $(ServerParmKey) {"EnableSharedNetDrives",$(NoTitle),$(!REG_VT_DWORD),0} + CloseRegKey $(ServerParmKey) + endif + + LoadLibrary "nw" $(!STF_CWDDIR)\nwcfg.dll !NWCFG_HANDLE + Set FLibraryErrCtl = 1 + LibraryProcedure Result $(!NWCFG_HANDLE), DeleteNetwarePrinterProvidor + LibraryProcedure Result $(!NWCFG_HANDLE), DeleteGatewayPassword + Set FLibraryErrCtl = 0 + + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) < 529 + Set FLibraryErrCtl = 1 + LibraryProcedure STATUS $(!NWCFG_HANDLE), unlodctr nwrdr + ; Ignore the error code for now + Set FLibraryErrCtl = 0 + else + StartDetachedProcess STATUS "" "" $(!STF_WINDOWSSYSPATH)"\unlodctr.exe" "nwrdr" + ifstr(i) $(STATUS) == "ERROR" + debug-output "Cannot detached process" + endif + endif + + ; + ; remove Authentication Packages + ; + OpenRegKey $(!REG_H_LOCAL) "" $(LSAKeyName) $(MAXIMUM_ALLOWED) LSAKey + Ifstr $(LSAKey) != $(KeyNull) + GetRegValue $(LSAKey),"Authentication Packages", PackagesInfo + set Packages = *($(PackagesInfo), 4) + ifcontains(i) "nwprovau" not-in $(Packages) + ; don't do it + ; something wrong.... + debug-output "Authentication Packages does not exist.." + else + set NewPackages = {} + ForListDo $(Packages) + ifstr(i) $($) != "nwprovau" + ifstr(i) $(NewPackages) == {} + set NewPackages = {$($)} + else + set NewPackages = >($(NewPackages),$($)) + endif + endif + EndForListDo + SetRegValue $(LSAKey) {"Authentication Packages",$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewPackages)} + endif + CloseRegKey $(LSAKey) + endif + + ifcontains(i) $(ProductNWWKSTAName) in $(OEM_ABANDON_OPTIONS) + Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), + + $(ProductNWWKSTAName) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + goto fatalregistry + endif + endif + ForListDo {$(ProductNWRDRName)} + ifcontains(i) $($) in $(OEM_ABANDON_OPTIONS) + Shell $(UtilityInf), RemoveService, $($), "YES" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + goto fatalregistry + endif + endif + EndForListDo + Shell "UTILITY.INF", DecrementRefCount, "Software\Microsoft\NWLINKIPX\CurrentVersion" + ; + ; Remove autoexec.nt statements + ; + Set FLibraryErrCtl = 1 + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "REM Install network redirector"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\nw16"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\vwipxspx"$(LF) + Set FLibraryErrCtl = 0 + + Shell $(UtilityInf) RemoveNetworkProvider $(ProviderName) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + Debug-Output "OEMNSVNW.INF: ShellCode error" + goto ShellCodeError + endif + set RegistryErrorIndex = $($R0) + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + goto fatalregistry + endif + + ; + ; Remove ShrotName + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\NetworkProvider\ShortName" $(MAXIMUM_ALLOWED) ShortNameKey + ifstr $(ShortNameKey) != $(KeyNull) + DeleteRegValue $(ShortNameKey) "NW" + else + ; + ; we must be able to open the provider key + ; + debug-output "something wrong..." + endif + + FreeLibrary $(!NWCFG_HANDLE) + + Install "RestoreFiles" + + Set FLibraryErrCtl = 1 + LibraryProcedure Status1, $(!LIBHANDLE), DelFile, $(!STF_WINDOWSSYSPATH)"\nwc.bak" + LibraryProcedure Status1, $(!LIBHANDLE), DelFile, $(!STF_WINDOWSSYSPATH)"\nwapi32.bak" + LibraryProcedure Status1, $(!LIBHANDLE), RenFile, $(!STF_WINDOWSSYSPATH)"\nwc.cpl" $(!STF_WINDOWSSYSPATH)"\nwc.bak" + LibraryProcedure Status1, $(!LIBHANDLE), RenFile, $(!STF_WINDOWSSYSPATH)"\nwapi32.dll" $(!STF_WINDOWSSYSPATH)"\nwapi32.bak" + Set FLibraryErrCtl = 0 + + Shell "" RemoveBackupFiles + + goto end +UpgradeSoftware = + + LoadLibrary "nw" $(!STF_CWDDIR)\nwcfg.dll !NWCFG_HANDLE + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) > 528 + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(NotDaytona) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto end + endif + FreeLibrary $(!NWCFG_HANDLE) + + + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName)"\NetRules" $(MAXIMUM_ALLOWED) KeyNetRules + Ifstr $(KeyNetRules) != $(KeyNull) + GetRegValue $(KeyNetRules),"InfName", InfNameInfo + set !UG_Filename = *($(InfNameInfo), 4) + CloseRegKey $(KeyNetRules) + else + Split-String $(!NTN_Infname), "\", FilenameList + QueryListSize ListSize $(FilenameList) + set !UG_Filename = *($(FilenameList), $(ListSize)) + endif + + Install "Install-Update" + ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS + goto fatal + endif + + set AddCopy = "YES" + set DoCopy = "YES" + install "Install-nwcfgdll" + ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS + goto fatal + endif + + LoadLibrary "nw" $(!STF_CWDDIR)\nwcfg.dll !NWCFG_HANDLE + + OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct + + Ifstr $(KeyProduct) != $(KeyNull) + CloseRegKey $(KeyProduct) + + ; + ; Check whether we are update beta 1 or beta 2. + ; Beta 2 will have a Performance key under \nwcworkstation\parameters + ; + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\Nwrdr\Performance" $(MAXIMUM_ALLOWED) KeyPerformance + + Ifstr $(KeyPerformance) != $(KeyNull) + ; + ; We are upgrading beta 2. Do nothing + ; + CloseRegKey $(KeyPerformance) + + Set FLibraryErrCtl = 1 + LibraryProcedure Result $(!NWCFG_HANDLE), DeleteGatewayPassword + Set FLibraryErrCtl = 0 + + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) < 529 + Set FLibraryErrCtl = 1 + LibraryProcedure STATUS $(!NWCFG_HANDLE), unlodctr nwrdr + LibraryProcedure STATUS $(!NWCFG_HANDLE), lodctr $(!STF_WINDOWSSYSPATH)\nwperf.ini + Set FLibraryErrCtl = 0 + endif + + else + ; + ; We are upgrading beta 1. Do the followings: + ; 1. Add SetFileSysChangeValue call out. + ; 2. Add "vwipxspx" to autoexec.nt + ; 3. Add Performance stuff + ; 4. Add lodctr + ; 5. Change the provider device name + ; 6. rename novell.cpl + ; 7. Add WOW's known DLL + ; 8. Add EnableShareNetDrivers + ; 9. Change name + ; 10. Change class type + ; + + ; + ; Do 1. Add SetFileSysChangeValue + ; + LibraryProcedure Result $(!NWCFG_HANDLE), SetFileSysChangeValue + + ; Do 2. Remove autoexec.nt statements + ; + Set FLibraryErrCtl = 1 + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "REM Install network redirector"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\nw16"$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), RemoveSzFromFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\vwipxspx"$(LF) + ; + ; Setup string in autoexec.nt + ; + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "REM Install network redirector"$(CR)$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\nw16"$(CR)$(LF) + LibraryProcedure Result $(!NWCFG_HANDLE), AppendSzToFile, $(!STF_WINDOWSSYSPATH)"\autoexec.nt", "lh %SystemRoot%\system32\vwipxspx"$(CR)$(LF) + Set FLibraryErrCtl = 0 + + ; + ; Do 3. Add performance stuff + ; + OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\nwrdr" $(MAXIMUM_ALLOWED) KeyNwrdr + CreateRegKey $(KeyNwrdr) {"Performance",$(NoTitle),GenericClass} "" + + $(MAXIMUM_ALLOWED) "" KeyPerformance + + set NewValueList = {{Library,$(NoTitle),$(!REG_VT_SZ),"Perfnw.dll"},+ + {Open,$(NoTitle),$(!REG_VT_SZ),"OpenNetWarePerformanceData"},+ + {Collect,$(NoTitle),$(!REG_VT_SZ),"CollectNetWarePerformanceData"},+ + {Close,$(NoTitle),$(!REG_VT_SZ),"CloseNetWarePerformanceData"}} + + Shell $(UtilityInf), AddValueList, $(KeyPerformance), $(NewValueList) + + set RegistryErrorIndex = $($R0) + + CloseRegKey $(KeyPerformance) + CloseRegKey $(KeyNwrdr) + + ; + ; Do 4. Add lodctr + ; + + LibraryProcedure Result $(!NWCFG_HANDLE), GetKernelVersion + ifint *($(Result),3) < 529 + Set FLibraryErrCtl = 1 + LibraryProcedure STATUS $(!NWCFG_HANDLE), lodctr $(!STF_WINDOWSSYSPATH)\nwperf.ini + ; Ignore the error code for now + Set FLibraryErrCtl = 0 + endif + + Ifstr(i) $(RegistryErrorIndex) != NO_ERROR + EndWait + Debug-Output "OEMNSVNW.INF: Registry error: add performance information" + goto fatalregistry + endif + + ; + ; Do 6. rename novell.cpl + ; + LibraryProcedure Status1, $(!LIBHANDLE), CheckFileExistance, $(!STF_WINDOWSSYSPATH)"\novell.cpl" + ifstr(i) $(Status1) == "YES" + LibraryProcedure Status2, $(!LIBHANDLE), RenFile, $(!STF_WINDOWSSYSPATH)"\novell.cpl", $(!STF_WINDOWSSYSPATH)"\novell.bak" + endif + + ; + ; Do 7. Add WOW's known DLL + ; + + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\WOW" $(MAXIMUM_ALLOWED) WowKey + ifstr(i) $(WowKey) != "" + GetRegValue $(WowKey),"KnownDLLS", KnownDLLsInfo + Split-String *($(KnownDLLsInfo),4), " ", KnownDLLsList + Ifcontains(i) "netware.drv" not-in $(KnownDLLsList) + ifstr(i) *($(KnownDLLsInfo),4) == "" + set KnownDLLs = "netware.drv" + else + set KnownDLLs = *($(KnownDLLsInfo),4)" netware.drv" + endif + SetRegValue $(WowKey) {"KnownDLLS",$(NoTitle),$(!REG_VT_SZ),$(KnownDLLs)} + endif + CloseRegKey $(WowKey) + endif + endif + endif + + ; + ; Do 5. Change the provider device name + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\NWCWorkstation\networkprovider" $(MAXIMUM_ALLOWED) ProviderKey + ifstr(i) $(ProviderKey) != "" + SetRegValue $(ProviderKey) {Devicename,$(NoTitle),$(!REG_VT_SZ),"\device\nwrdr"} + SetRegValue $(ProviderKey) {Name,$(NoTitle),$(!REG_VT_SZ),$(ProductProviderName)} + CloseRegKey $(ProviderKey) + endif + + ; + ; Do 8. Add EnableShareNetDrivers + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\LanmanServer\Parameters" $(MAXIMUM_ALLOWED) ServerParmKey + ifstr(i) $(ServerParmKey) != "" + SetRegValue $(ServerParmKey) {"EnableSharedNetDrives",$(NoTitle),$(!REG_VT_DWORD),1} + CloseRegKey $(ServerParmKey) + endif + + ; + ; do 9. Change name + ; + OpenRegKey $(!REG_H_LOCAL) "" "Software\Microsoft\NWCWorkstation\CurrentVersion" $(MAXIMUM_ALLOWED) CurrentVersionKey + ifstr(i) $(CurrentVersionKey) != "" + SetRegValue $(CurrentVersionKey) {"Description",$(NoTitle),$(!REG_VT_SZ),$(NWType)} + SetRegValue $(CurrentVersionKey) {"Title",$(NoTitle),$(!REG_VT_SZ),$(NWType)} + CloseRegKey $(CurrentVersionKey) + endif + + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\NWCWorkstation" $(MAXIMUM_ALLOWED) nwcKey + ifstr(i) $(nwcKey) != "" + SetRegValue $(nwcKey) {"DisplayName",$(NoTitle),$(!REG_VT_SZ),$(NWType)} + CloseRegKey $(nwcKey) + endif + + Set FLibraryErrCtl = 1 + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\Print\Providers" $(MAXIMUM_ALLOWED) PrintProviderKey + ifstr(i) $(PrintProviderKey) != "" + GetRegValue $(PrintProviderKey) "Order" OrderInfo + ifcontains(i) $(OldPrintProviderName) in *($(OrderInfo),4) + ; spool is not started + + DeleteRegKey $(PrintProviderKey) $(OldPrintProviderName) + OpenRegKey $(PrintProviderKey) "" $(ProductProviderName) $(MAXIMUM_ALLOWED) ProductProviderKey + ifstr $(ProductProviderKey) == $(KeyNull) + CreateRegKey $(PrintProviderKey) {$(ProductProviderName),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" ProductProviderKey + endif + ifstr $(ProductProviderKey) != $(KeyNull) + SetRegValue $(ProductProviderKey) {"Name",$(NoTitle),$(!REG_VT_SZ),"nwprovau.dll"} + endif + + ; + ; Change it to top provider + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\Print\Providers" $(MAXIMUM_ALLOWED) PrintProviderKey + Ifstr $(PrintProviderKey) != $(KeyNull) + GetRegValue $(PrintProviderKey),"Order",OrderInfo + set OrderList = *($(OrderInfo),4) + set NewOrderList = {$(ProductProviderName)} + ForListDo $(OrderList) + ifstr(i) $($) != $(OldPrintProviderName) + ifstr(i) $($) != $(ProductProviderName) + set NewOrderList = >($(NewOrderList),$($)) + endif + endif + EndForListDo + SetRegValue $(PrintProviderKey) {"Order",$(NoTitle),$(!REG_VT_MULTI_SZ),$(NewOrderList)} + CloseRegKey $(PrintProviderKey) + endif + endif + endif + Set FLibraryErrCtl = 0 + + Shell "" AddShortName + + FreeLibrary $(!NWCFG_HANDLE) + + goto end +successful = + + goto end +warning = + + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + ifstr(i) $($R1) == "OK" + goto $(to) + else-ifstr(i) $($R1) == "CANCEL" + goto $(from) + else + goto end + endif +nonfatalinfo = + + Set CommonStatus = STATUS_USERCANCEL + Set Severity = STATUS + goto nonfatalmsg +nonfatal = + + Set Severity = NONFATAL + goto nonfatalmsg +nonfatalmsg = + + ifstr(i) $(Error) == "" + Set Severity = NONFATAL + Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + endif + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + ifstr(i) $($R1) == "OK" + goto $(from) + else + goto "end" + endif +fatalregistry = + + Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + goto fatal +fatal = + + ifstr(i) $(Error) == "" + Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL" + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + set Error = $($R0) + endif + Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error) + ifint $($ShellCode) != $(!SHELL_CODE_OK) + goto ShellCodeError + endif + goto setfailed +ShellCodeError = + + set DlgType = "MessageBox" + set STF_MB_TITLE = "Error: "$(FunctionTitle) + set STF_MB_TEXT = $(ShellCodeErrorText) + set STF_MB_TYPE = 1 + set STF_MB_ICON = 3 + set STF_MB_DEF = 1 + ui start "Error Message" + goto setfailed +setfailed = + + set CommonStatus = STATUS_FAILED + ifstr(i) $(OEM_ABANDON_ON) == TRUE + set OEM_ABANDON_ON = FALSE + goto removeadapter + endif + goto end +end = + + goto term +term = + + Return $(CommonStatus) +[RestoreFiles] + AddSectionFilesToCopyList Restore-Oldexe $(!STF_WINDOWSSYSPATH) $(!STF_WINDOWSSYSPATH) + AddSectionFilesToCopyList Restore-Oldsys $(!STF_WINDOWSSYSPATH)\drivers $(!STF_WINDOWSSYSPATH)\drivers + set !STF_NCPA_FLUSH_COPYLIST = TRUE + CopyFilesInCopyList + Exit +[Install-nwcfgdll] + set STF_VITAL = "" + ifstr(i) $(AddCopy) == "YES" + AddSectionFilesToCopyList Files-nwcfgdll $(SrcDir) $(!STF_WINDOWSSYSPATH) + endif + ifstr(i) $(DoCopy) == "YES" + set !STF_NCPA_FLUSH_COPYLIST = TRUE + CopyFilesInCopyList + endif + Exit +[Install-Option] + set STF_VITAL = "" + ifstr(i) $(AddCopy) == "YES" + AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH) + AddSectionFilesToCopyList Files-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers + ifstr(i) $(!STF_PRODUCT) == "WINNT" + AddSectionFilesToCopyList Files-WINNTHelp $(SrcDir) $(!STF_WINDOWSSYSPATH) + else + AddSectionFilesToCopyList Files-NTASHelp $(SrcDir) $(!STF_WINDOWSSYSPATH) + endif + endif + ifstr(i) $(DoCopy) == "YES" + set !STF_NCPA_FLUSH_COPYLIST = TRUE + CopyFilesInCopyList + endif + ifstr(i) $(DoConfig) == "YES" + endif + Exit +[Install-Update] + set STF_VITAL = "" + AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH) + AddSectionFilesToCopyList Files-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers + AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH) + ifstr(i) $(!STF_PRODUCT) == "WINNT" + AddSectionFilesToCopyList Files-WINNTHelp $(SrcDir) $(!STF_WINDOWSSYSPATH) + else + AddSectionFilesToCopyList Files-NTASHelp $(SrcDir) $(!STF_WINDOWSSYSPATH) + endif + set !STF_NCPA_FLUSH_COPYLIST = TRUE + CopyFilesInCopyList + Exit + +[AddShortName] + read-syms GeneralConstants + read-syms FileConstants + read-syms FileConstants$(!STF_LANGUAGE) + ; + ; Create Short name + ; + OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Control\NetworkProvider" $(MAXIMUM_ALLOWED) NetProviderKey + ifstr $(NetProviderKey) != $(KeyNull) + OpenRegKey $(NetProviderKey) "" "ShortName" $(MAXIMUM_ALLOWED) ShortNameKey + ifstr $(ShortNameKey) == $(KeyNull) + ; + ; Create short key if we cannot open it + ; + CreateRegKey $(NetProviderKey) {"ShortName",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" ShortNameKey + endif + ifstr $(ShortNameKey) != $(KeyNull) + SetRegValue $(ShortNameKey) {"NW",$(NoTitle),$(!REG_VT_SZ),$(ProductProviderName)} + endif + else + ; + ; we must be able to open the provider key + ; + debug-output "something wrong..." + endif + + return + +[AddParameterKey] + read-syms GeneralConstants + set SoftParameterKey = $($0) + CreateRegKey $(SoftParameterKey) {"Logon",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" LogonKey + CreateRegKey $(SoftParameterKey) {"Option",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" OptionKey + + Set FLibraryErrCtl = 1 + ; + ; 2 is the equal to SetValue + ; + LibraryProcedure Result $(!NWCFG_HANDLE), SetEverybodyPermission, $(OptionKey), 2 + Set FLibraryErrCtl = 0 + + CloseRegKey $(LogonKey) + CloseRegKey $(OptionKey) + + Return + +[GetFilesSize] + set FileSizeList = >(^(Files-Drivers,3),^(Files-NWWKSTA,3)) + set TotalSize = 0 + ForListDo $(FileSizeList) + ForListDo $($) + Debug-Output $($) + Split-String $($) "=" SplitString + set Size = *($(SplitString),3) + set-add TotalSize = $(TotalSize) $(Size) + EndForListDo + EndForListDo + set-div SizeInK = $(TotalSize) 1024 + return $(SizeInK) + +[Files-Inf] +1, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename) |