Поделиться через


Синтаксис файла размещения

Файлы с примечанием о месте теперь устарели и не должны использоваться. .

Файл места — это текстовый файл, считывающий 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.