1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
|
[Identification]
OptionType = PRINTER
[Options]
" Windows 3.1 Compatible Fax Driver" = wowfaxui, wowfax, wowfax
[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, 0)
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) in $(LanguageList)
else
set Status = STATUS_NOLANGUAGE
goto finish_InstallOption
endif
read-syms Strings$($0)
set OptionList = ^(Options, 0)
ifcontains $(Option) in $(OptionList)
else
goto finish_InstallOption
endif
set OptionList = ""
set ConfigOption = #(Options, $(Option), 1)
set DataOption = #(Options, $(Option), 2)
set DriverOption = #(Options, $(Option), 3)
installtheoption = +
ifstr(i) $(AddCopy) == "YES"
install Install-AddCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
Debug-Output "Adding video files to copy list failed"
goto finish_InstallOption
endif
endif
ifstr(i) $(DoCopy) == "YES"
read-syms ProgressCopy$($0)
install Install-DoCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
Debug-Output "Copying files failed"
goto finish_InstallOption
else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
set Status = STATUS_USERCANCEL
goto finish_InstallOption
endif
endif
ifstr(i) $(DoConfig) == "YES"
set DriverPath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterDriver, $(DriverOption), 2)
set DataFilePath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterData, $(DataOption), 2)
set ConfigFilePath = $(!STF_PRNDRIVERPATH)"\"#(Files-PrinterConfig, $(ConfigOption), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(DriverPath)
ifstr(i) $(STATUS) == YES
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(DataFilePath)
ifstr(i) $(STATUS) == YES
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(ConfigFilePath)
endif
endif
ifstr(i) $(STATUS) == NO
set OptionText = #(OptionsText$($0), $(Option), 1)
shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String4)$(OptionText)$(String5)
Debug-Output "Copying printer files failed"
goto finish_InstallOption
endif
install Install-Configure
ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
Debug-Output "Installing printer driver failed"
goto finish_InstallOption
else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
set Status = STATUS_USERCANCEL
goto finish_InstallOption
endif
ifstr(i) $(STATUS) != "ADDED"
set OptionText = #(OptionsText$($0), $(Option), 1)
ifstr(i) $(STATUS) == "PRESENT"
shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String2)
set Status = STATUS_SUCCESSFUL
else-ifstr(i) $(STATUS) == "DENIED"
shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String6)
else
shell "subroutn.inf" SetupMessage $($0) "NONFATAL" $(String1)$(OptionText)$(String7)
endif
goto finish_InstallOption
endif
endif
set Status = STATUS_SUCCESSFUL
finish_InstallOption = +
Return $(Status)
[Install-AddCopyOption]
set STF_VITAL = ""
set STF_OVERWRITE = "VERIFYSOURCEOLDER"
AddSectionKeyFileToCopyList Files-PrinterConfig +
$(ConfigOption) +
$(SrcDir) +
$(!STF_PRNDRIVERPATH)
AddSectionKeyFileToCopyList Files-PrinterData +
$(DataOption) +
$(SrcDir) +
$(!STF_PRNDRIVERPATH)
AddSectionKeyFileToCopyList Files-PrinterDriver +
$(DriverOption) +
$(SrcDir) +
$(!STF_PRNDRIVERPATH)
AddSectionKeyFileToCopyList Files-PrinterDriverHelp +
$(DriverOption) +
$(SrcDir) +
$(!STF_PRNDRIVERPATH)
exit
[Install-DoCopyOption]
CopyFilesInCopyList
exit
[Install-Configure]
set Model = $(Option)
set Driver = #(Files-PrinterDriver, $(DriverOption), 2)
set DataFile = #(Files-PrinterData, $(DataOption), 2)
set ConfigFile = #(Files-PrinterConfig, $(ConfigOption), 2)
LibraryProcedure STATUS,$(!LIBHANDLE), SetupAddPrinterDriver +
$(Model) +
$(!STF_PRNENVIRONM) +
$(Driver) +
$(DataFile) +
$(ConfigFile) +
$(!STF_PRINTSERVER)
exit
[ExternalInstallOption]
Set !G:DebugOutputControl = 0
set Exit_Code = $(!SETUP_ERROR_GENERAL)
set DrivesToFree = {}
install LoadSetupLibrary
ifstr(i) $(STF_LANGUAGE) == ""
goto end
else-ifstr(i) $(OPTION) == ""
goto end
else-ifstr(i) $(ADDCOPY) == ""
goto end
else-ifstr(i) $(DOCOPY) == ""
goto end
else-ifstr(i) $(DOCONFIG) == ""
goto end
endif
read-syms PlatformID
read-syms ProductType
ifstr(i) $(STF_PLATFORM) == $(PlatformID_I386)
set STF_PRNPLATFORM = "w32x86"
set STF_PRNENVIRONM = "Windows NT x86"
else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Mips)
set STF_PRNPLATFORM = "w32mips"
set STF_PRNENVIRONM = "Windows NT R4000"
else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_PPC)
set STF_PRNPLATFORM = "w32ppc"
set STF_PRNENVIRONM = "Windows NT PowerPC"
else-ifstr(i) $(STF_PLATFORM) == $(PlatformID_Alpha)
set STF_PRNPLATFORM = "w32alpha"
set STF_PRNENVIRONM = "Windows NT Alpha_AXP"
else
goto end
endif
read-syms UiVars
detect UiVars
read-syms Strings$(STF_LANGUAGE)
ifstr(i) $(STF_SRCDIR) != $(STF_CWDDIR)
goto skip_asksource
endif
set STF_SRCDIR = A:\
shell "registry.inf" GetNTSource
ifint $($ShellCode) != $(!SHELL_CODE_OK)
else-ifstr(i) $($R0) != STATUS_SUCCESSFUL
else
set STF_SRCDIR = $($R1)
endif
shell "subroutn.inf" DoAskSource $(STF_SRCDIR)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "shelling DoAskSource failed"
goto end
endif
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set STF_SRCDIR = $($R1)
ifstr(i) $($R2) != ""
set DrivesToFree = >($(DrivesToFree), $($R2))
endif
else
goto end
endif
skip_asksource = +
LibraryProcedure IsFullPath, $(!LIBHANDLE), CheckPathFullPathSpec $(STF_PRNDRIVERPATH)
ifstr(i) $(IsFullPath) == "NO"
LibraryProcedure STATUS, $(!LIBHANDLE), ProcessForUNC $(STF_PRNDRIVERPATH)
ifstr(i) $(STATUS) == "ERROR"
shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
goto end
else-ifstr(i) $(STATUS) == "NOT-UNC"
shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
goto end
else-ifstr(i) $(STATUS) == "UNC-FAILCONNECT"
shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(String3)
goto end
else
set STF_PRNDRIVERPATH = $(STATUS)
endif
endif
shell "" InstallOption $(STF_LANGUAGE) $(OPTION) $(STF_SRCDIR) $(ADDCOPY) $(DOCOPY) $(DOCONFIG)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Execing InstallOption failed"
goto end
endif
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set Exit_Code = $(!SETUP_ERROR_SUCCESS)
else-ifstr(i) $($R0) == STATUS_USERCANCEL
set Exit_Code = $(!SETUP_ERROR_USERCANCEL)
endif
end =+
ForListDo $(DrivesToFree)
LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
EndForListDo
install FreeSetupLibrary
exit
[LoadSetupLibrary]
LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
exit
[FreeSetupLibrary]
FreeLibrary $(!LIBHANDLE)
exit
[PlatformID]
PlatformID_I386 = I386
PlatformID_Mips = Mips
PlatformID_Alpha = Alpha
PlatformID_PPC = ppc
[UiVars]
STF_CONTROLSET = CurrentControlSet
STF_WINDOWSPATH = "" ? $(!LIBHANDLE) GetWindowsNtDir
STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
STF_PRNDRIVERPATH = "" ? $(!LIBHANDLE) GetPrinterDriverDir $(!STF_PRINTSERVER) $(!STF_PRNENVIRONM)
[Source Media Descriptions]
1 = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w
[Signature]
FileType = MICROSOFT_FILE
[GetSignature]
read-syms Signature
return $(FileType)
[ProductType]
STF_PRODUCT = Winnt
STF_PLATFORM = I386
[Files-PrinterConfig]
wowfaxui = 1,wowfaxui.DLL , SIZE=999
[Files-PrinterData]
wowfax = 1, wowfax.DLL, SIZE=999
[Files-PrinterDriver]
wowfax = 1,wowfax.DLL , SIZE=999
[Files-PrinterDriverHelp]
wowfax = 1,wowfax.hlp, SIZE=999
[LanguagesSupported]
ENG
[OptionsTextENG]
"Windows 3.1 Compatible Fax Driver" = "Windows 3.1 Compatible Fax Driver"
[StringsENG]
String1 = "The printer model "
String2 = " is already installed."
String3 = "Failed to connect to the print server."
String4 = "The driver files for the printer model "
String5 = " couldn't be copied. Failed to install the printer model."
String6 = "Access is denied. You must be logged on as a member of the Administrators "+
"group to carry out this operation."
String7 = " could not be installed."
[ProgressCopyENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT is not correctly installed. Are you sure you want "+
"to cancel copying files?"
ProCancelCap = "Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
|