You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
11 KiB
211 lines
11 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<!-- saved from url=(0056)file://Z:\sdktools\ddk\src\setup\inf\MultiOS\MultiOS.htm -->
|
|
<HTML><HEAD><TITLE>Sample INF File Readme</TITLE>
|
|
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|
<META content="MSHTML 6.00.3586.0" name=GENERATOR></HEAD>
|
|
<BODY link=#0000ff><FONT face=Verdana size=5>
|
|
<H2>MultiOS.INF - SAMPLE INF FILE</H2></FONT><FONT face=Verdana size=2>
|
|
<P><SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Arial">[This is
|
|
preliminary documentation and subject to change.]</SPAN></P>
|
|
<H3>SUMMARY</H3>
|
|
<P><B><I>MultiOS.inf</I></B> is a sample INF file that illustrates the general
|
|
structure for using a single INF file to install different printer drivers on
|
|
Windows® Server 2003, Windows® XP, Windows® 2000, and Windows® 9x (encompassing Windows 98, Windows 98
|
|
Second Edition, and Windows Millennium).</P>
|
|
|
|
<P>The sample includes specific INF constructs to demonstrate the following
|
|
concepts:</P>
|
|
<BLOCKQUOTE>
|
|
<P>Platform extensions, including consistent usage throughout the INF
|
|
file.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P>Installation on multiple platforms from one INF file.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P>Installation of different local language versions of binaries from one INF
|
|
file.</P></BLOCKQUOTE>
|
|
<P>Review this document carefully, taking careful note of the sample's
|
|
limitations.</P>
|
|
<H3>USING THE SAMPLE</H3>
|
|
<P>In addition to the contents of this document, the sample INF file contains
|
|
explanatory comments throughout.</P>
|
|
<P>Users of this sample INF file will need to add their own information,
|
|
including file names, registry information, and company information in the
|
|
<I>Strings</I> section, and adding additional <I>Strings</I> sections for
|
|
additional local language support and so forth.</P>
|
|
<P>The sample INF file includes several <I>DDInstall</I>-related sections that
|
|
are used on more than one Windows platform. These sections are:</P>
|
|
<BLOCKQUOTE>
|
|
<P><I>CommonXPAddReg</I>, <I>WinXPCopyDriver</I> and <I>WinXPCopyDlls</I> -
|
|
common sections for installing on both platforms (x86 and ia64) for Windows XP
|
|
only.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P><I>WinXPServiceInstallSection</I> and <I>WinXPServiceAddReg</I> - common
|
|
service installation sections for installing on both platforms (x86 and ia64)
|
|
for Windows XP only.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P><I>CommonAddReg</I> - common registry section for installing on all
|
|
supported platforms - Windows 9x/ME, Windows 2000, and Windows
|
|
XP.</P></BLOCKQUOTE>
|
|
<P>When possible, the use of common sections reduces the likelihood of
|
|
introducing errors in the completed INF file, while reducing the size and
|
|
complexity of the INF file as well.</P>
|
|
<P>This sample INF file is saved as plain ASCII text (using Windows Notepad with
|
|
the default ANSI encoding). As part of customizing this INF file for installing
|
|
a specific device, you may need to save the INF file with Unicode encoding.
|
|
Unicode allows the INF file writer the flexibility to mix locales that use
|
|
different ANSI codepages. To save any text file with Unicode encoding using
|
|
Windows Notepad, follow these steps:</P>
|
|
<LI>Click the Notepad <I>File</I> Menu.
|
|
<LI>Select <I>Save As</I>.
|
|
<LI>Click the <I>Encoding</I> drop-down list, and select the preferred Unicode
|
|
encoding.
|
|
<LI>Click <I>Save</I> to save the file.
|
|
<P>Microsoft provides two useful tools for checking INF file structure and
|
|
syntax:</P>
|
|
<BLOCKQUOTE>
|
|
<P><I>ChkINF</I> is a Perl script that checks the structure and syntax of
|
|
Microsoft® Windows® 2000, Windows® XP and Windows® Server 2003 driver INF files. Results are
|
|
presented in HTML format, and include a list of the errors and warnings
|
|
detected in each INF file, with each error and warning shown next to the
|
|
errant INF file entry. ChkINF is available in this DDK in the
|
|
<I>tools\chkinf</I> directory.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P><I>Signability</I> is a tool for ensuring that a driver package can be
|
|
properly signed after it passes Designed for Windows Logo testing. Signability
|
|
is available for download from the Hardware Compatibility Test Kit Web site at
|
|
<A
|
|
href="http://www.microsoft.com/hwtest/testkits">http://www.microsoft.com/hwtest/testkits</A>.</P></BLOCKQUOTE>
|
|
<P>Both of these tools are included in the Hardware Compatibility Test Kits used
|
|
for Designed for Windows Logo testing.</P>
|
|
<H4>Suggested Media Layout</H4>
|
|
<P>Many devices are distributed with accompanying media (typically a CD)
|
|
containing drivers targeted at multiple local languages and multiple versions of
|
|
Windows. The table below presents one possible structure for organizing such
|
|
media, so that multiple languages can be supported on Windows 9x, Windows NT
|
|
4.0, Windows 2000, Windows XP and Windows Server 2003.</P></FONT><FONT face=Courier size=2>
|
|
<TABLE cellSpacing=20 cellPadding=0 border=0>
|
|
<TBODY>
|
|
<TR>
|
|
<TD><U>Directory</U></TD>
|
|
<TD><U>Containing INF File<U></U></U></TD>
|
|
<TD><U>Notes<U></U></U></TD></TR>
|
|
<TR>
|
|
<TD>\ (root directory)</TD>
|
|
<TD>NT4.inf</TD>
|
|
<TD>Unsigned Unicode INF file for Windows NT 4.0 only</TD></TR>
|
|
<TR>
|
|
<TD>\Windows</TD>
|
|
<TD>MultiOS.inf</TD>
|
|
<TD>Signed Unicode INF file for Windows Server 2003, Windows 2000 and Windows XP</TD></TR>
|
|
<TR>
|
|
<TD>\Win9xeng</TD>
|
|
<TD>Win9xEng.inf</TD>
|
|
<TD>Signed English language INF file for Windows 9x only</TD></TR>
|
|
<TR>
|
|
<TD>\Win9xFra</TD>
|
|
<TD>Win9xFra.inf</TD>
|
|
<TD>Signed French language INF file for Windows 9x only</TD></TR>
|
|
<TR>
|
|
<TD>\Win9xGer</TD>
|
|
<TD>Win9xGer.inf</TD>
|
|
<TD>Signed German language INF file for Windows 9x
|
|
only</TD></TR></TBODY></TABLE><FONT face=Verdana size=2>
|
|
<H5>Some notes about this Suggested Media Layout</H5>
|
|
<BLOCKQUOTE>
|
|
<P>Windows 9x does not recognize or handle localized <I>Strings.LanguageID</I>
|
|
sections, necessitating the use of individual INF files for each supported
|
|
locale.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P>Windows 9x does not recognize INF files stored with Unicode encoding, and
|
|
will ignore any Unicode INF files it might encounter. In this media layout,
|
|
the INF files targeted at non-Windows 9x platforms are saved with Unicode
|
|
encoding, so Windows 9x will not see them. If this layout were presented to a
|
|
Windows 9x user, the user would see a list that included only the Windows 9x
|
|
INF files, and none of the Unicode INF files targeted at Windows NT 4.0,
|
|
Windows 2000 or Windows XP or Windows Server 2003.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P>Because there is no way to differentiate a Windows NT 4.0 INF file from a
|
|
joint Windows 2000/Windows XP/Windows Server 2003 INF file, a separate INF file should be provided
|
|
for Windows NT 4.0 support. In the table above, the Windows NT 4.0 INF file is
|
|
placed in the root directory of the media for easy discovery by Windows NT 4.0
|
|
users.</P></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
<P>Windows NT 4.0 does not recognize driver signatures, so the INF file for
|
|
Windows NT 4.0 can be unsigned. Even though this file will appear as a valid
|
|
INF file to Windows 2000, Windows XP and Windows Server 2003, if the INF file (MultiOS.inf in the
|
|
table above) targeted at these versions of Windows is signed, both of these
|
|
versions of Windows will choose the signed INF file in preference to the
|
|
unsigned INF file. See the "How Setup Selects Drivers" topic in the Windows
|
|
DDK Documentation for additional details.</P></BLOCKQUOTE>
|
|
<H4>Warnings Generated by the ChkINF Tool</H4>
|
|
<P>The ChkINF tool reports zero errors and the following four warnings when
|
|
executed on this sample INF file:</P><FONT color=blue>
|
|
<LI><A>Line 95</A>: (W22.1.2208) NT-specific section(s) found. Ignoring general
|
|
section.
|
|
<LI><A>Line 95</A>: (W22.1.2083) Section [DRIVERINSTALL] not referenced
|
|
<LI><A>Line 101</A>: (W22.1.2083) Section [WIN9XADDREG] not referenced
|
|
<LI><A>Line 104</A>: (W22.1.2083) Section [WIN9XCOPYFILES] not referenced
|
|
</FONT><BR>
|
|
<P>The first warning, "NT-specific section(s) found. Ignoring general section",
|
|
indicates that this INF file contains installation sections that are decorated
|
|
with platform extensions (<I>.NTx86</I> and <I>.NTia64</I>), as well as plain,
|
|
undecorated installation sections ("DriverInstall" for example). Since ChkINF
|
|
detected the decorated sections, it will not check any undecorated
|
|
<I>DDInstall</I> sections it finds.</P>
|
|
<P>The other three warnings are related to the first. While ChkINF will not
|
|
check undecorated <I>DDInstall</I> sections, it will report any unreferenced
|
|
sections as an aid to INF developers. These three warnings are simply stating
|
|
that these sections are not referenced anywhere else in the INF file. (Actually,
|
|
the second and third unreferenced sections, "Win9xAddReg" and "Win9xCopyFiles",
|
|
are referenced in the first unreferenced section, "DriverInstall". Due to
|
|
presence of decorated <I>DDInstall</I> sections, ChkINF will not check this
|
|
undecorated <I>DDInstall</I> section, and it and the two sections it references
|
|
are thereby reported as unreferenced.)</P>
|
|
<H3>LIMITATIONS</H3>
|
|
<P>This INF file is incomplete. Users of this sample will need to add their own
|
|
information, including file names, registry information, and company information
|
|
in the <I>Strings</I> section and so forth.</P>
|
|
<P>Note that Windows 9x does not recognize or handle localized
|
|
<I>Strings.LanguageID</I> sections, and so the localization techniques
|
|
exemplified in the sample INF file cannot be used on Windows 9x. See the section
|
|
entitled <I>Suggested Media Layout</I> above for suggestions on handling Windows
|
|
9x. The installation sections for Windows 9x that are present in the INF file
|
|
are included for illustrative purposes only.</P>
|
|
<P>As discussed in <I>Warnings Generated by the ChkINF Tool</I> above, the
|
|
ChkINF tool reports zero errors and four warnings when executed on the sample
|
|
INF file. These four warnings represent known issues with the INF file, and can
|
|
be readily explained. Use of the ChkINF tool is strongly recommended when
|
|
writing INF files.</P>
|
|
<P>As noted in <I>Using the Sample</I> above, this sample INF file is saved as
|
|
plain ASCII text (saved from Windows Notepad with the default ANSI
|
|
encoding).</P>
|
|
<H3>CODE TOUR</H3>
|
|
<H4>File Manifest</H4></FONT><FONT face=Courier size=3>
|
|
<TABLE cellSpacing=10 cellPadding=0 border=0>
|
|
<TBODY>
|
|
<TR>
|
|
<TD><U>File</U></TD>
|
|
<TD><U>Description<U></U></U></TD></TR>
|
|
<TR>
|
|
<TD><I>MultiOS.htm</I></TD>
|
|
<TD>Readme for MultiOS.inf (this file).</TD></TR>
|
|
<TR>
|
|
<TD><I>MultiOS.inf</I></TD>
|
|
<TD>Sample multi-platform, multi-language INF
|
|
file.</TD></TR></TBODY></TABLE><FONT face=Verdana size=2>
|
|
<H3>FEEDBACK</H3>
|
|
<P>We welcome your comments, problem reports and wish-list requests. Please
|
|
submit them by pointing your Internet browser to <A
|
|
href="http://www.microsoft.com/ddk">http://www.microsoft.com/ddk</A>.
|
|
</FONT></P>
|
|
<P align=center><FONT face=Verdana size=2><A
|
|
href="file:///Z:/sdktools/ddk/src/setup/inf/MultiOS/MultiOS.htm#top">Top of
|
|
page</A> </P></FONT>
|
|
<TABLE cellSpacing=0 width=624 border=0>
|
|
<TBODY>
|
|
<TR>
|
|
<TD vAlign=center bgColor=#00ffff height=2></TD></TR></TBODY></TABLE><FONT
|
|
face="MS Sans Serif" size=1>
|
|
<P>© Microsoft Corporation 2001-2003</FONT><FONT face=Verdana size=2>
|
|
</P></FONT></FONT>
|
|
<UL></UL></LI></FONT></BODY></HTML>
|