Синтаксис файла размещения
Файлы с примечанием о месте теперь устарели и не должны использоваться. .
Файл места — это текстовый файл, считывающий BinPlace для определения подкаталогов класса, связанных с файлом, который он помещает.
Путь и имя этого файла задаются параметром командной строки -p PlaceFile. Если это не используется, значение по умолчанию — \tools\placefil.txt. Файл места может иметь любое количество строк. Каждая строка содержит файл и подкаталог класса. Перечисление файла не приводит к тому, что BinPlace будет выполнять какие-либо действия. Скорее, когда BinPlace предоставляет имя файла в командной строке, он откроет файл места, чтобы узнать, указан ли этот файл. Если это так, BinPlace будет использовать подкаталог класса, указанный в файле места для этого конкретного файла.
Каждая строка файла места имеет одинаковый формат.
FileName Class[:Class[...] [ ; Comment ]
Каждая строка в файле места соответствует следующим правилам:
- Поле FileName должно начинать строку.
- Поля FileName и Class должны быть разделены одним или несколькими пробелами.
- Если точка с запятой отображается в любом месте линии, все справа от него рассматривается как комментарий.
- Разрешены пустые строки и строки комментариев, начинающиеся с запятой.
Поля FileName и Class описаны следующим образом:
Параметры
Имя файла
Поле, указывающее имя файла, с которым может работать BinPlace. Имя файла должно включать расширение имени файла, но оно не должно включать путь к файлу. (Пути к файлам будут указаны в командной строке BinPlace.)
Класс
Поле, указывающее подкаталог класса, используемый для этого файла. Если параметры командной строки -y или -:D EST не используются, BinPlace помещает файл в каталог, созданный путем получения корневого целевого каталога, добавления подкаталога класса, а затем добавления подкаталога типа файла. Полные сведения см . в каталогах назначения BinPlace.
Класс не должен начинаться или заканчиваться обратной косой чертой. Имена каталогов не должны содержать пробелы. Существуют специальные строки, которые можно использовать в значении класса . Эффект строки отличается от размещения исполняемых файлов и файлов символов. В следующих таблицах показаны результаты этих строк.
Для всех сборок:
Строка | Влияние на исполняемые файлы | Влияние на файлы символов |
---|---|---|
розничный |
Пропускается. Этот уровень каталога будет пропущен. |
Рассматривается как литеральный каталог с именем retail. |
* |
На компьютере x86: i386. На компьютере на основе Itanium: IA64. На компьютере на основе x64: AMD64. | Пропускается. Этот уровень каталога будет пропущен. |
system |
Становится system32. |
|
system16 |
Становится системой. |
|
windows |
Становится "." Игнорировать. Этот уровень каталога будет пропущен. |
Путь к символам — розничная торговля. |
Драйверы |
Становится system32\drivers. |
|
drvetc |
Становится system32\drivers\etc. |
|
config |
Становится system32\config. |
Для сборок x86:
Строка | Влияние на исполняемые файлы | Влияние на файлы символов |
---|---|---|
hal |
Становится system32. |
|
принтер |
Становится system32\spool\drivers\w32x86. |
|
prtprocs |
Становится system32\spool\prtprocs\w32x86. |
Для сборок AMD64:
Строка | Влияние на исполняемые файлы | Влияние на файлы символов |
---|---|---|
hal |
Становится ". Например, если корневой каталог назначения — C:\Binaries\Amd64, файл помещается в C:\Binaries. |
Путь к символам лишается одного каталога. |
принтер |
Становится system32\spool\drivers\w32amd64. |
|
prtprocs |
Становится system32\spool\prtprocs\w32amd64. |
Для сборок IA64:
Строка | Влияние на исполняемые файлы | Влияние на файлы символов |
---|---|---|
hal |
Становится ". |
Путь к символам лишается одного каталога. |
принтер |
Становится system32\spool\drivers\w32ia64. |
|
prtprocs |
Становится system32\spool\prtprocs\w32ia64. |
Если иное не указано, путь к символам усечен, чтобы включить только первый каталог в путь. Например, если вы использовали BinPlace для перемещения файла x86 с именем Build.exe с целевым классом принтера, можно использовать следующий синтаксис команды:
binplace -r BinaryRoot -xa -s SymbolsDir1 -n SymbolsDir2 SourceFileLocation\build.exe
Команда приведет к следующему дереву вывода:
<SymbolsDir1>\system32\exe\build.pdb
<SymbolsDir2>\system32\exe\build.pdb
<BinaryRoot>\system32\spool\drivers\w32x86\build.exe
Для сборок AMD64 и IA64 используйте класс hal с осторожностью, так как результаты BinPlace могут не быть ожидаемыми. Например, если корневой каталог назначения — C:\Binaries\Amd64, и вы указали класс hal , файл помещается в C:\Binaries, а не в каталоге обработчика, который может потребоваться.
Если вы хотите поместить файл в несколько расположений , можно включить несколько экземпляров класса, разделенных двоеточиями. Между каталогами и двоеточиями не должно быть пробелов. Например:
someprogram.exe dir1\dir2\dir3:otherdir1\otherdir2 ; To two locations
Комментарий
Любой текст после запятой будет игнорироваться BinPlace.