Source code of Windows XP (NT5)
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.

54 lines
2.4 KiB

  1. Author: Sandy Coyne
  2. Date: March 7, 2000
  3. Given two files as input, ESCPEINF.EXE generates one output file.
  4. Usage: escpeinf U|C <input file> <output file> <layout.inf>
  5. U = Upgrade
  6. C = Clean Install
  7. All fields are required.
  8. The input file must be an inf file containing a [File Security] section. If it does not contain that section, the output file should be identical to the input.
  9. All comparisons are case insensitive. All quotes are required where shown.
  10. Any line that does not fit the following format should be copied to the output file unchanged.
  11. Recognized Input Lines, only in the [File Security] section:
  12. "<directory>\<WildCardName>",<Integer>,"<SecurityDescriptorString>"
  13. After a line containing a wildcard, there may be zero or more exception lines:
  14. Exception="<ExceptionFileName>"
  15. Input Detail:
  16. <directory> must be one of the directories in the layout.inf [WinntDirectories] section, and it must begin with "%SystemRoot%" or "%SystemDirectory%" An example is "%SystemRoot%\Help"
  17. <WildCardName> must be a filename containing at least one wildcard. An example is "*.hlp"
  18. <Integer> must be a natural integer. Since ESCAPE only accepts a few low numbers, it is possible that huge integers will break the tool. This is okay. An example is "2"
  19. <SecurityDescriptorString> is a properly formatted security descriptor string. One important aspect of this formatting is that it cannot contain any whitespace. An example is "D:P(A;;GRGX;;;BU)(A;;GRGX;;;PU)(A;;GA;;;BA)(A;;GA;;;SY)"
  20. <ExceptionFileName> is a file name, with no path. If desired, it can contain wildcards. Examples are "win.ini" or "*.hlp"
  21. Output:
  22. The Recognized Input Lines will not appear in the output. In their place will be lines in this format:
  23. "<directory>\<filename1>",<Integer>,"<SecurityDescriptorString>"
  24. "<directory>\<filename2>",<Integer>,"<SecurityDescriptorString>"
  25. "<directory>\<filename3>",<Integer>,"<SecurityDescriptorString>"
  26. .
  27. .
  28. .
  29. Output Detail:
  30. <directory> will be identical to the <directory> field of the input.
  31. <filenameX> will be a filename that is found in the layout.inf that matches the <WildCardName> field of the input and is destined for <directory>, except if the filename matches the <ExceptionFileName> field, or if the file is never installed in this mode (Upgrade or Clean Install).
  32. <Integer> will be identical to the <Integer> field of the input.
  33. <SecurityDescriptorString> will be identical to the <SecurityDescriptorString> field of the input.