1 |
[Identification]
|
2 |
OptionType = NetService
|
3 |
|
4 |
[Options]
|
5 |
B2ETHER
|
6 |
|
7 |
[FileConstants]
|
8 |
UtilityInf = "UTILITY.INF"
|
9 |
subroutineinf = "SUBROUTN.INF"
|
10 |
SoftwareType = "service"
|
11 |
Exit_Code = 0
|
12 |
NetEventDLL = "%SystemRoot%\System32\netevent.dll"
|
13 |
Manufacturer = "Microsoft"
|
14 |
ProductMajorVersion = "4"
|
15 |
ProductMinorVersion = "0"
|
16 |
ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
|
17 |
|
18 |
ProductSoftwareName = "B2Ether"
|
19 |
ProductSoftwareImagePath = "\SystemRoot\System32\drivers\B2Ether.sys"
|
20 |
|
21 |
NetRuleSoftwareType = "B2Ether lmNetService ndisTransport"
|
22 |
NetRuleSoftwareClass = {"rasCapableTransport ndisTransport"}
|
23 |
|
24 |
NetRuleSoftwareUse = "service yes yes"
|
25 |
NetRuleSoftwareBindForm = """B2Ether"" yes yes simple"
|
26 |
|
27 |
ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
|
28 |
ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductSoftwareName)"\Parameters"
|
29 |
|
30 |
[GeneralConstants]
|
31 |
from = ""
|
32 |
to = ""
|
33 |
ExitCodeOk = 0
|
34 |
ExitCodeCancel = 1
|
35 |
ExitCodeFatal = 2
|
36 |
KeyNull = ""
|
37 |
MAXIMUM_ALLOWED = 33554432
|
38 |
RegistryErrorIndex = NO_ERROR
|
39 |
KeyProduct = ""
|
40 |
KeyParameters = ""
|
41 |
TRUE = 1
|
42 |
FALSE = 0
|
43 |
NoTitle = 0
|
44 |
ExitState = "Active"
|
45 |
OldVersionExisted = $(FALSE)
|
46 |
DriverPath = $(!STF_NTPATH)\drivers
|
47 |
|
48 |
[date]
|
49 |
Now = {} ? $(!LIBHANDLE) GetSystemDate
|
50 |
|
51 |
[Identify]
|
52 |
read-syms Identification
|
53 |
set Status = STATUS_SUCCESSFUL
|
54 |
set Identifier = $(OptionType)
|
55 |
set Media = #("Source Media Descriptions", 1, 1)
|
56 |
Return $(Status) $(Identifier) $(Media)
|
57 |
|
58 |
[ReturnOptions]
|
59 |
set Status = STATUS_FAILED
|
60 |
set OptionList = {}
|
61 |
set OptionTextList = {}
|
62 |
set LanguageList = ^(LanguagesSupported, 1)
|
63 |
Ifcontains(i) $($0) in $(LanguageList)
|
64 |
goto returnoptions
|
65 |
else
|
66 |
set Status = STATUS_NOLANGUAGE
|
67 |
goto finish_ReturnOptions
|
68 |
endif
|
69 |
returnoptions = +
|
70 |
set OptionList = ^(Options, 1)
|
71 |
set OptionTextList = ^(OptionsText$($0), 1)
|
72 |
set Status = STATUS_SUCCESSFUL
|
73 |
finish_ReturnOptions = +
|
74 |
Return $(Status) $(OptionList) $(OptionTextList)
|
75 |
|
76 |
[InstallOption]
|
77 |
set Option = $($1)
|
78 |
set SrcDir = $($2)
|
79 |
set AddCopy = $($3)
|
80 |
set DoCopy = $($4)
|
81 |
set DoConfig = $($5)
|
82 |
set LanguageList = ^(LanguagesSupported, 1)
|
83 |
Ifcontains(i) $($0) NOT-IN $(LanguageList)
|
84 |
Return STATUS_NOLANGUAGE
|
85 |
endif
|
86 |
Debug-Output "OEMSETUP.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
|
87 |
Debug-Output "OEMSETUP.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
|
88 |
set-subst LF = "\n"
|
89 |
read-syms GeneralConstants
|
90 |
read-syms FileConstants
|
91 |
read-syms DialogConstants$(!STF_LANGUAGE)
|
92 |
ifstr(i) $(!NTN_Origination) == "NCPA"
|
93 |
set Continue = $(OK)
|
94 |
endif
|
95 |
read-syms FileConstants$(!STF_LANGUAGE)
|
96 |
detect date
|
97 |
set-title $(FunctionTitle)
|
98 |
set to = Begin
|
99 |
set from = Begin
|
100 |
set CommonStatus = STATUS_SUCCESSFUL
|
101 |
EndWait
|
102 |
Begin = +
|
103 |
Ifstr(i) $(!NTN_InstallMode) == deinstall
|
104 |
set StartLabel = removeadapter
|
105 |
else-Ifstr(i) $(!NTN_InstallMode) == Update
|
106 |
set StartLabel = UpgradeSoftware
|
107 |
else-Ifstr(i) $(!NTN_InstallMode) == bind
|
108 |
set StartLabel = bindingadapter
|
109 |
else-Ifstr(i) $(!NTN_InstallMode) == configure
|
110 |
Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
|
111 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
112 |
Debug-Output "OEMSETUP.INF: ShellCode error: cannot get an error string."
|
113 |
goto ShellCodeError
|
114 |
endif
|
115 |
set Error = $($R0)
|
116 |
set from = end
|
117 |
set to = end
|
118 |
goto nonfatalinfo
|
119 |
else
|
120 |
set StartLabel = installadapter
|
121 |
endif
|
122 |
set RadioDefault = 2
|
123 |
set RadioIn = {$(RadioDefault)}
|
124 |
set from = $(fatal)
|
125 |
set to = $(fatal)
|
126 |
goto $(StartLabel)
|
127 |
installadapter = +
|
128 |
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
|
129 |
Ifstr $(KeyProduct) != $(KeyNull)
|
130 |
CloseRegKey $(KeyProduct)
|
131 |
Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
|
132 |
$(ProductVersion)
|
133 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
134 |
Debug-Output "ShellCode error: cannot get an error string."
|
135 |
goto ShellCodeError
|
136 |
endif
|
137 |
goto end
|
138 |
endif
|
139 |
CloseRegKey $(KeyProduct)
|
140 |
goto installproduct
|
141 |
installproduct = +
|
142 |
StartWait
|
143 |
ifint $(OldVersionExisted) == $(FALSE)
|
144 |
Ifstr(i) $(DoCopy) == "YES"
|
145 |
Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
|
146 |
Ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
147 |
Goto ShellCodeError
|
148 |
Else-Ifstr(i) $($R0) == STATUS_FAILED
|
149 |
Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
|
150 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
151 |
goto ShellCodeError
|
152 |
endif
|
153 |
set Error = $($R0)
|
154 |
Goto fatal
|
155 |
Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
|
156 |
Goto successful
|
157 |
Endif
|
158 |
Set SrcDir = $($R1)
|
159 |
Endif
|
160 |
install "Install-Option"
|
161 |
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
162 |
Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
|
163 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
164 |
goto ShellCodeError
|
165 |
endif
|
166 |
set Error = $($R0)
|
167 |
goto fatal
|
168 |
endif
|
169 |
set OEM_ABANDON_ON = TRUE
|
170 |
Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
|
171 |
$(ProductSoftwareName), +
|
172 |
$(ProductSoftwareName), +
|
173 |
$(ProductSoftwareDisplayName), $(STF_CONTEXTINFNAME), +
|
174 |
$(ProductSoftwareImagePath), "kernel", "TDI", {}, "",+
|
175 |
$(NetEventDLL)
|
176 |
set RegistryErrorIndex = $($R0)
|
177 |
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
178 |
EndWait
|
179 |
CloseRegKey $($R1)
|
180 |
CloseRegKey $($R2)
|
181 |
CloseRegKey $($R3)
|
182 |
CloseRegKey $($R4)
|
183 |
CloseRegKey $($R5)
|
184 |
goto fatalRegistry
|
185 |
endif
|
186 |
Set SoftProductKey = $($R1)
|
187 |
Set SoftNetRuleKey = $($R2)
|
188 |
Set SoftServiceKey = $($R3)
|
189 |
set KeyParameters = $($R4)
|
190 |
Set SoftLinkageKey = $($R5)
|
191 |
set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
|
192 |
{MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
|
193 |
{MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
|
194 |
{Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
|
195 |
{Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
|
196 |
{ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
|
197 |
{InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
|
198 |
Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
|
199 |
set RegistryErrorIndex = $($R0)
|
200 |
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
201 |
CloseRegKey $(SoftProductKey)
|
202 |
CloseRegKey $(SoftNetRuleKey)
|
203 |
CloseRegKey $(SoftServiceKey)
|
204 |
CloseRegKey $(SoftLinkageKey)
|
205 |
CloseRegKey $(KeyParameters)
|
206 |
goto fatalRegistry
|
207 |
endif
|
208 |
set NewValueList = {{type ,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)}, +
|
209 |
{use ,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
|
210 |
{bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
|
211 |
{InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
|
212 |
Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
|
213 |
set RegistryErrorIndex = $($R0)
|
214 |
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
215 |
CloseRegKey $(SoftProductKey)
|
216 |
CloseRegKey $(SoftNetRuleKey)
|
217 |
CloseRegKey $(SoftServiceKey)
|
218 |
CloseRegKey $(SoftLinkageKey)
|
219 |
CloseRegKey $(KeyParameters)
|
220 |
goto fatalRegistry
|
221 |
endif
|
222 |
Set NewValueList = {{Author,$(NoTitle),$(!REG_VT_SZ),"Lauri Pesonen"}}
|
223 |
Shell $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
|
224 |
Ifstr $(RegistryErrorIndex) != NO_ERROR
|
225 |
CloseRegKey $(SoftProductKey)
|
226 |
CloseRegKey $(SoftNetRuleKey)
|
227 |
CloseRegKey $(SoftServiceKey)
|
228 |
CloseRegKey $(SoftLinkageKey)
|
229 |
goto fatalRegistry
|
230 |
endif
|
231 |
CloseRegKey $(SoftProductKey)
|
232 |
CloseRegKey $(SoftNetRuleKey)
|
233 |
CloseRegKey $(SoftServiceKey)
|
234 |
CloseRegKey $(SoftLinkageKey)
|
235 |
endif
|
236 |
goto writeparameters
|
237 |
writeparameters = +
|
238 |
CloseRegKey $(KeyParameters)
|
239 |
EndWait
|
240 |
goto successful
|
241 |
bindingadapter =+
|
242 |
set Error = "Binding: Sorry, not yet implemented."
|
243 |
goto fatal
|
244 |
removeadapter = +
|
245 |
Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
|
246 |
$(ProductSoftwareName)
|
247 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
248 |
Debug-Output "ShellCode error"
|
249 |
goto ShellCodeError
|
250 |
endif
|
251 |
set RegistryErrorIndex = $($R0)
|
252 |
Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
|
253 |
goto fatalregistry
|
254 |
endif
|
255 |
goto end
|
256 |
UpgradeSoftware = +
|
257 |
ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
|
258 |
OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
|
259 |
Ifstr $(KeyProduct) != $(KeyNull)
|
260 |
GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
|
261 |
set Version = *($(VersionInfo), 4)
|
262 |
Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
|
263 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
264 |
Debug-Output "ShellCode error"
|
265 |
goto ShellCodeError
|
266 |
endif
|
267 |
set !UG_Filename = $($R0)
|
268 |
ifstr(i) $(!UG_Filename) != ""
|
269 |
install "Install-Update"
|
270 |
ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
|
271 |
goto fatal
|
272 |
endif
|
273 |
endif
|
274 |
SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
|
275 |
SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
|
276 |
ifint $(Version) != $(ProductVersion)
|
277 |
endif
|
278 |
CloseRegKey $(KeyProduct)
|
279 |
else
|
280 |
goto fatalregistry
|
281 |
endif
|
282 |
endif
|
283 |
goto end
|
284 |
successful = +
|
285 |
goto end
|
286 |
warning = +
|
287 |
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
|
288 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
289 |
goto ShellCodeError
|
290 |
endif
|
291 |
ifstr(i) $($R1) == "OK"
|
292 |
goto $(to)
|
293 |
else-ifstr(i) $($R1) == "CANCEL"
|
294 |
goto $(from)
|
295 |
else
|
296 |
goto "end"
|
297 |
endif
|
298 |
nonfatalinfo = +
|
299 |
Set CommonStatus = STATUS_USERCANCEL
|
300 |
Set Severity = STATUS
|
301 |
goto nonfatalmsg
|
302 |
nonfatal = +
|
303 |
Set Severity = NONFATAL
|
304 |
goto nonfatalmsg
|
305 |
nonfatalmsg = +
|
306 |
ifstr(i) $(Error) == ""
|
307 |
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
|
308 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
309 |
goto ShellCodeError
|
310 |
endif
|
311 |
set Error = $($R0)
|
312 |
endif
|
313 |
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
|
314 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
315 |
goto ShellCodeError
|
316 |
endif
|
317 |
ifstr(i) $($R1) == "OK"
|
318 |
goto $(from)
|
319 |
else
|
320 |
goto "end"
|
321 |
endif
|
322 |
fatalregistry = +
|
323 |
Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
|
324 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
325 |
goto ShellCodeError
|
326 |
endif
|
327 |
set Error = $($R0)
|
328 |
goto fatal
|
329 |
fatal = +
|
330 |
ifstr(i) $(Error) == ""
|
331 |
Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
|
332 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
333 |
goto ShellCodeError
|
334 |
endif
|
335 |
set Error = $($R0)
|
336 |
endif
|
337 |
Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
|
338 |
ifint $($ShellCode) != $(!SHELL_CODE_OK)
|
339 |
goto ShellCodeError
|
340 |
endif
|
341 |
goto setfailed
|
342 |
ShellCodeError = +
|
343 |
set DlgType = "MessageBox"
|
344 |
set STF_MB_TITLE = $(ShellCodeErrorTitle)
|
345 |
set STF_MB_TEXT = $(ShellCodeErrorText)
|
346 |
set STF_MB_TYPE = 1
|
347 |
set STF_MB_ICON = 3
|
348 |
set STF_MB_DEF = 1
|
349 |
ui start "Error Message"
|
350 |
goto setfailed
|
351 |
setfailed = +
|
352 |
set CommonStatus = STATUS_FAILED
|
353 |
ifstr(i) $(OEM_ABANDON_ON) == TRUE
|
354 |
set OEM_ABANDON_ON = FALSE
|
355 |
goto removeadapter
|
356 |
endif
|
357 |
goto end
|
358 |
end = +
|
359 |
goto term
|
360 |
term = +
|
361 |
Return $(CommonStatus)
|
362 |
|
363 |
[Install-Option]
|
364 |
set STF_VITAL = ""
|
365 |
ifstr(i) $(AddCopy) == "YES"
|
366 |
AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
|
367 |
AddSectionFilesToCopyList Files-App $(SrcDir) $(!STF_WINDOWSSYSPATH)
|
368 |
endif
|
369 |
ifstr(i) $(DoCopy) == "YES"
|
370 |
set !STF_NCPA_FLUSH_COPYLIST = TRUE
|
371 |
CopyFilesInCopyList
|
372 |
endif
|
373 |
ifstr(i) $(DoConfig) == "YES"
|
374 |
endif
|
375 |
Exit
|
376 |
|
377 |
[Install-Update]
|
378 |
set STF_VITAL = ""
|
379 |
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
|
380 |
AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
|
381 |
AddSectionFilesToCopyList Files-App $(SrcDir) $(!STF_WINDOWSSYSPATH)
|
382 |
AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
|
383 |
set !STF_NCPA_FLUSH_COPYLIST = TRUE
|
384 |
CopyFilesInCopyList
|
385 |
exit
|
386 |
|
387 |
[Source Media Descriptions]
|
388 |
1 = "Windows NT Setup Disk #1" , TAGFILE = disk1
|
389 |
2 = "Windows NT Setup CD-ROM Disk" , TAGFILE = disk2
|
390 |
|
391 |
[ProductType]
|
392 |
STF_PRODUCT = Winnt
|
393 |
STF_PLATFORM = I386
|
394 |
|
395 |
[Files-Inf]
|
396 |
2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)
|
397 |
|
398 |
[Files-B2Ether]
|
399 |
2,B2Ether.SYS , SIZE=999
|
400 |
|
401 |
[Files-App]
|
402 |
|
403 |
[LanguagesSupported]
|
404 |
ENG
|
405 |
|
406 |
[OptionsTextENG]
|
407 |
NDISPERF = "Basilisk II Ethernet Driver"
|
408 |
|
409 |
[FileConstantsENG]
|
410 |
ProCaption = "Windows NT Setup"
|
411 |
ProCancel = "Cancel"
|
412 |
ProCancelMsg = "Windows NT Networking is not correctly installed. "+
|
413 |
"Are you sure you want to cancel copying files?"
|
414 |
ProCancelCap = "Network Setup Message"
|
415 |
ProText1 = "Copying:"
|
416 |
ProText2 = "To:"
|
417 |
ProductSoftwareTitle = "Basilisk II Ethernet Driver"
|
418 |
ProductSoftwareDescription = "Adds ethernet capability to the Basilisk II Macintosh II emulator."
|
419 |
ProductSoftwareDisplayName = "Basilisk II Ethernet Driver"
|
420 |
FunctionTitle = $(ProductSoftwareTitle)
|
421 |
ShellCodeErrorTitle = "Error: "$(FunctionTitle)
|
422 |
ShellCodeErrorText = "Shell Code Error."
|
423 |
|
424 |
[DialogConstantsENG]
|
425 |
Help = "&Help"
|
426 |
Exit = "Cancel"
|
427 |
OK = "OK"
|
428 |
HelpContext = ""
|
429 |
Continue = "Continue"
|
430 |
Cancel = "Cancel"
|