Leaked source code of windows server 2003
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.

347 lines
14 KiB

  1. ; This inf file provides the general structure for using a
  2. ; single INF file to install different printing drivers on
  3. ; Windows 2000, Windows 9x, Windows XP and Windows Server 2003.
  4. ;
  5. ; It includes specific INF constructs to demonstrate:
  6. ; Platform extensions, including consistent usage
  7. ; Installation on multiple platforms from one INF file
  8. ; Installation of different local language versions of binaries
  9. ;
  10. ; Limitation - Windows 9x does not recognize or handle localized
  11. ; [Strings.LanguageID] sections, and so the localization
  12. ; techniques exemplified in this INF file cannot be used
  13. ; on Windows 9x. See the readme file (MultiOS.htm) accompanying
  14. ; sample for suggestions for Windows 9x handling.
  15. ; The installation sections for Windows 9x present in this sample
  16. ; are included for llustrative purposes only.
  17. ;
  18. ; Copyright 2003 Microsoft Corporation
  19. [Version]
  20. Signature="$CHICAGO$" ;Use "$CHICAGO$" for 9x - NT-based platforms recognize this too
  21. Class=Printing
  22. ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
  23. Provider=%VendorName%
  24. CatalogFile=MultiOS.cat ;Single Catalog file for all OS versions - Windows 9x/ME, Windows 2000,
  25. ;Windows XP and Windows Server 2003 - and all locales supported by this INF file
  26. DriverVer=07/01/2001, 1.0.0.0
  27. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  28. ; Manufacturer and Models Sections
  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  30. [Manufacturer]
  31. ;Use decorations and platform extensions to differentiate between different platforms
  32. %WhoMakesIt% = Company, NT.5.1
  33. ;Models section for installation on Win9x and Windows 2000
  34. [Company]
  35. %Device.Description% = DriverInstall, OEM_Company_NameABC_640A, ABC_Printer
  36. ;Models section for installation on Windows XP, Windows Server 2003 (all platforms)
  37. [Company.NT.5.1]
  38. %DeviceXP.Description% = DriverInstallXP, OEM_Company_NameABC_640A, ABC_UniDrv5_Printer
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40. ; ControlFlags Section
  41. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  42. [ControlFlags]
  43. ExcludeFromSelect = * ; Don't display Plug & Play capable devices in the Add Hardware UI
  44. ; (See the DDK reference "INF ControlFlags Section" for more details)
  45. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  46. ;DDInstall and Related Sections for Windows 9x
  47. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  48. [DriverInstall]
  49. DriverVer=7/1/2001, 1.0 ;Windows 98 doesn't recognize DriverVer in the [Version]
  50. ;section, so include it here in the [DDInstall] section
  51. AddReg = Win9xAddReg, CommonAddReg
  52. CopyFiles = Win9xCopyFiles
  53. [Win9xAddReg]
  54. ;add appropriate registry entries for device installation on Windows 9x here
  55. [Win9xCopyFiles]
  56. Win9xDriverFile.vxd
  57. Win9xDriverDll.dll
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. ;DDInstall and Related Sections for Windows 2000
  60. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  61. [DriverInstall.NTx86]
  62. ;Same DDInstall name as for Win9x, with the addition of the .NTx86
  63. ;platform extension
  64. AddReg = Win2KAddReg, CommonAddReg
  65. CopyFiles = Win2KCopyDriver, Win2KCopyDlls
  66. Include = =NTPRINT.INF
  67. Needs = TTFSUB.OEM,UNIDRV.OEM
  68. [Win2KAddReg]
  69. ;add appropriate registry entries for device installation on
  70. ;Windows 2000 here
  71. ;Use two CopyFiles sections, to differentiate between destinations
  72. ;for the files
  73. [Win2KCopyDriver]
  74. Win2kDriver.GPD
  75. [Win2KCopyDlls]
  76. Win2kDriverGUI.dll
  77. Win2kDriverPlugIn.dll
  78. [DriverInstall.NTx86.Services]
  79. AddService = Win2KDriverFile, %SPSVCINST_ASSOCSERVICE%, Win2KServiceInstallSection
  80. ;Use driver binary name for service name
  81. ;Use Include and Needs entries as needed
  82. ;Include = <INF file distributed with Windows 2000>
  83. ;Needs = <DDInstall.Services section from that INF file>
  84. [Win2KServiceInstallSection]
  85. DisplayName = Win2KDriverFile ;Display name is not visible in UI, so use same name
  86. ;as service name
  87. ServiceType = %SERVICE_KERNEL_DRIVER% ;kernel-mode driver
  88. StartType = %SERVICE_DEMAND_START% ;that will be started as needed
  89. ErrorControl = %SERVICE_ERROR_IGNORE% ;proceed with system startup if driver load fails
  90. ServiceBinary = %12%\Win2KDriverFile.sys ;binary for this service, installed into the
  91. ;\Windows\system32\drivers directory
  92. ;binary name should be listed in the CopyFiles section
  93. AddReg = Win2KServiceAddReg ;Registry entries for this service
  94. [Win2KServiceAddReg]
  95. ;add appropriate registry entries for service installation
  96. ;on Windows 2000 here
  97. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  98. ;DDInstall and Related Sections for Windows XP,
  99. ;Windows Server 2003 x86
  100. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  101. [DriverInstallXP.NTx86]
  102. ;Platform extension .NTx86 used for specific installation on x86 systems
  103. AddReg = WinXPx86AddReg, CommonAddReg, CommonXPAddReg
  104. CopyFiles = WinXPCopyDriver, WinXPCopyDlls
  105. Include = NTPRINT.INF
  106. Needs = TTFSUB.OEM,UNIDRV.OEM
  107. [WinXPx86AddReg]
  108. ;add appropriate registry entries for device installation on Windows XP x86 here
  109. [DriverInstallXP.NTx86.Services]
  110. AddService = WinXPDriverFile, %SPSVCINST_ASSOCSERVICE%, WinXPServiceInstallSection
  111. ;Use driver binary name for service name
  112. ;Use common service installation section for both x86 and ia64
  113. ;Use Include and Needs entries as needed
  114. ;Include = <INF file distributed with Windows XP>
  115. ;Needs = <DDInstall.Services section from that INF file>
  116. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  117. ;DDInstall and Related Sections for Windows XP,
  118. ;Windows Server 2003 ia64
  119. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  120. [DriverInstallXP.NTia64]
  121. ;Platform extension .NTia64 used for specific installation on ia64 systems
  122. AddReg = WinXPia64AddReg, CommonAddReg, CommonXPAddReg
  123. CopyFiles = WinXPCopyDriver, WinXPCopyDlls
  124. Include = NTPRINT.INF
  125. Needs = TTFSUB.OEM,UNIDRV.OEM
  126. [WinXPia64AddReg]
  127. ;add appropriate registry entries for device installation on Windows XP ia64 here
  128. [DriverInstallXP.NTia64.Services]
  129. AddService = WinXPDriverFile, %SPSVCINST_ASSOCSERVICE%, WinXPServiceInstallSection
  130. ;Use driver binary name for service name
  131. ;Use common service installation section for both x86 and ia64
  132. ;Use Include and Needs entries as needed
  133. ;Include = <INF file distributed with Windows XP>
  134. ;Needs = <DDInstall.Services section from that INF file>
  135. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  136. ; Common Sections for installing on both platforms (x86 and ia64) for Windows XP
  137. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  138. [CommonXPAddReg]
  139. ;add appropriate registry entries for device installation on all Windows XP platforms here
  140. ;Use two CopyFiles sections, to differentiate between destinations for the files
  141. [WinXPCopyDriver]
  142. WinXPDriver.GPD
  143. [WinXPCopyDlls]
  144. WinXPDriverGUI.dll
  145. WinXPDriverPlugIn.dll
  146. ;Common service install section for both x86 and ia64
  147. [WinXPServiceInstallSection]
  148. DisplayName = WinXPDriverFile ;Display name is not visible in UI, so use same name
  149. ;as service name
  150. ServiceType = %SERVICE_KERNEL_DRIVER% ;kernel-mode driver
  151. StartType = %SERVICE_DEMAND_START% ;that will be started as needed
  152. ErrorControl = %SERVICE_ERROR_IGNORE% ;proceed with system startup if driver load fails
  153. ServiceBinary = %12%\WinXPDriverFile.sys ;binary for this service, installed into the
  154. ;\Windows\system32\drivers directory
  155. ;binary name should be listed in the CopyFiles section
  156. AddReg = WinXPServiceAddReg ;Registry entries for this service
  157. [WinXPServiceAddReg]
  158. ;add appropriate registry entries for service installation on Windows XP (both x86 and ia64) here
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  160. ; Common Registry Section for installing on all supported platforms
  161. ; - Windows 9x/ME, Windows 2000, Windows XP
  162. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  163. [CommonAddReg]
  164. ;add appropriate registry entries for device installation on all Windows platforms here
  165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  166. ; Source Media Information Sections
  167. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  168. [DestinationDirs]
  169. ;Setting DefaultDestDir isn't required, but it is advisable
  170. DefaultDestDir = 12 ;12 is %windir%\system32\drivers for NT-based systems,
  171. ; %windir%\system\IoSubsys for Windows 9x/Me
  172. Win9xCopyFiles = 11
  173. Win2KCopyDriver = 12
  174. Win2KCopyDlls = 11
  175. WinXPCopyDriver = 12
  176. WinXPCopyDlls = 11
  177. [SourceDisksNames]
  178. 1 = %MediaDescription%
  179. [SourceDisksFiles]
  180. ;Specify different paths for different platforms, OS versions and local languages.
  181. ;Note that these paths are relative to the root of the source media as specificied
  182. ;in the [SourceDisksNames] sections. In this sample, that root of the source medaia
  183. ;is not specified and is assumed to be the root of the physical media.
  184. Win9xDriverFile.vxd = 1, Win9x
  185. Win9xDriverDll.dll = 1, Win9x
  186. Win2KDriver.GPD = 1, Win2K\%LocalLanguage%
  187. Win2KDriverGUI.dll = 1, Win2K\%LocalLanguage%
  188. Win2KDriverPlugIn.dll = 1, Win2K\%LocalLanguage%
  189. Win2KDriver.GPD = 1, Win2K\%LocalLanguage%
  190. WinXPDriverGUI.dll = 1, WinXP\%LocalLanguage%\x86
  191. WinXPDriverPlugIn.dll = 1, WinXP\%LocalLanguage%\x86
  192. [SourceDisksFiles.ia64]
  193. Win2KDriver.GPD = 1, Win2K\%LocalLanguage%
  194. WinXPDriverGUI.dll = 1, WinXP\%LocalLanguage%\ia64
  195. WinXPDriverPlugIn.dll = 1, WinXP\%LocalLanguage%\ia64
  196. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  197. ; Strings Sections
  198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  199. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  200. ;Base strings section for use on US English language systems
  201. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  202. [Strings]
  203. ;List common, non-localizable strings first
  204. ;Also list useful constants
  205. SPSVCINST_ASSOCSERVICE = 0x00000002 ;Assign this service as the driver for the device installed by this INF file
  206. SERVICE_KERNEL_DRIVER = 0x00000001 ;Kernel-mode driver service (NT-based platforms)
  207. SERVICE_DEMAND_START = 0x3 ;Driver will be started on demand. Services for most driver
  208. ;should be SERVICE_DEMAND_START
  209. SERVICE_ERROR_IGNORE = 0x0 ;proceed with system startup if driver fails to load or initialize
  210. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  211. ; US localizable strings section
  212. ;
  213. ; Separate the localizable strings from the non-localizable strings above
  214. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  215. VendorName = "Vendor Name" ;Vendor who developed this INF file
  216. WhoMakesIt = "Manufacturer Name" ;Manufacturer of the device and the drivers
  217. ;Device descriptions:
  218. Device.Description = "123 Device for Windows 2000/9x"
  219. DeviceXP.Description = "123 Device For Windows XP"
  220. ;Media related strings
  221. MediaDescription = "Description for Vendor provided media"
  222. LocalLanguage = "usa"
  223. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  224. ;French strings section to be used on French language systems
  225. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  226. [Strings.040c]
  227. ;Substitute French translations for English language strings below, as appropriate.
  228. ;List common, non-localizable strings first
  229. ;Also list useful constants
  230. SPSVCINST_ASSOCSERVICE = 0x00000002 ;Assign this service as the driver for the device installed by this INF file
  231. SERVICE_KERNEL_DRIVER = 0x00000001 ;Kernel-mode driver service (NT-based platforms)
  232. SERVICE_DEMAND_START = 0x3 ;Driver will be started on demand. Services for most driver
  233. ;should be SERVICE_DEMAND_START
  234. SERVICE_ERROR_IGNORE = 0x0 ;proceed with system startup if driver fails to load or initialize
  235. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  236. ; French localizable strings Sections
  237. ;
  238. ; Separate the localizable strings from the non-localizable strings above
  239. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  240. ;Substitute French translations for English language text below, as appropriate.
  241. VendorName = "Vendor Name" ;Vendor who developed this INF file
  242. WhoMakesIt = "Manufacturer Name" ;Manufacturer of the device and the drivers
  243. ;Device descriptions:
  244. Device.Description = "123 Device for Windows 2000/9x"
  245. DeviceXP.Description = "123 Device For Windows XP"
  246. ;Media related strings
  247. MediaDescription = "Description for Vendor provided media"
  248. LocalLanguage = "fre"
  249. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  250. ;German strings section to be used on German language systems
  251. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  252. [Strings.0407]
  253. ;List common, non-localizable strings first
  254. ;Also list useful constants
  255. SPSVCINST_ASSOCSERVICE = 0x00000002 ;Assign this service as the driver for the device installed by this INF file
  256. SERVICE_KERNEL_DRIVER = 0x00000001 ;Kernel-mode driver service (NT-based platforms)
  257. SERVICE_DEMAND_START = 0x3 ;Driver will be started on demand. Services for most driver
  258. ;should be SERVICE_DEMAND_START
  259. SERVICE_ERROR_IGNORE = 0x0 ;proceed with system startup if driver fails to load or initialize
  260. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  261. ; German localizable strings Sections
  262. ;
  263. ; Separate the localizable strings from the non-localizable strings above
  264. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  265. ;Substitute German translations for English language text below, as appropriate.
  266. VendorName = "Vendor Name" ;Vendor who developed this INF file
  267. WhoMakesIt = "Manufacturer Name" ;Manufacturer of the device and the drivers
  268. ;Device descriptions:
  269. Device.Description = "123 Device for Windows 2000/9x"
  270. DeviceXP.Description = "123 Device For Windows XP"
  271. ;Media related strings
  272. MediaDescription = "Description for Vendor provided media"
  273. LocalLanguage = "ger"