Элемент <file> (приложение ClickOnce)
Определяет все не являющиеся сборками файлы, загружаемые и используемые приложением.
<file
name
size
group
optional
writeableType
>
<typelib
tlbid
version
helpdir
resourceid
flags
/>
<comClass
clsid
description
threadingModel
tlbid
progid
miscStatus
miscStatusIcon
miscStatusContent
miscStatusDocPrint
miscStatusThumbnail
/>
<comInterfaceExternalProxyStub
iid
baseInterface
numMethods
name
tlbid
proxyStubClass32
/>
<comInterfaceProxyStub
iid
baseInterface
numMethods
name
tlbid
proxyStubClass32
/>
<windowClass
versioned
/>
</file>
Элементы и атрибуты
Элемент file является необязательным. Элемент имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
name |
Обязательный. Задает имя файла. |
size |
Обязательный. Задает размер файла (в байтах). |
group |
Необязателен, если атрибут optional не задан или имеет значение false; обязателен, если атрибут optional имеет значение true. Название группы, к которой принадлежит файл. Имя может быть любым строковым значением Юникода, выбранным разработчиком, и используется для загрузки файлов по запросу с классом ApplicationDeployment. |
optional |
Необязательный. Указывает, загружается ли файл при первом запуске приложения, или файл хранится на сервере до тех пор, пока его не запросит приложение. Если атрибут имеет значение false или его значение не определено, файл загружается при первом запуске или при установке приложения. Если true, то необходимо указать group, чтобы манифест приложения был допустимым. optional не может иметь значение "true", если для writeableType задано значение applicationData. |
writeableType |
Необязательный. Указывает, является ли файл файлом данных. Единственным допустимым значением является applicationData. |
typelib
Элемент typelib является необязательным и дочерним для элемента file. Элемент описывает библиотеку типов, принадлежащую компоненту COM. Элемент имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
tlbid |
Обязательный. GUID, назначенный библиотеке типов. |
version |
Обязательный. Номер версии библиотеки типов. |
helpdir |
Обязательный. Каталог, содержащий файлы справки для компонента. Может быть пустым. |
resourceid |
Необязательный. Шестнадцатеричная строка, представляющая код языка (LCID). От одной до четырех шестнадцатеричных цифр без префикса 0x и без предшествующих нулей. Код языка (LCID) может иметь независимый идентификатор варианта языка. |
flags |
Необязательный. Строка, представляющая флаги библиотеки типов. Это может быть один из следующих флагов: "RESTRICTED", "CONTROL", "HIDDEN" и "HASDISKIMAGE". |
comClass
Элемент comClass является необязательным и дочерним для элемента file. Однако если приложение ClickOnce содержит компонент COM, предназначенный для развертывания с помощью COM-взаимодействия без регистрации, использование элемента comClass является обязательным. Элемент имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
clsid |
Обязательный. Идентификатор класса компонента COM в форме GUID. |
description |
Необязательный. Имя класса. |
threadingModel |
Необязательный. Потоковая модель, используемая внутрипроцессными COM-классами. Если этот атрибут имеет значение NULL, потоковая модель не используется. Компонент создается на основном потоке клиента и вызывается из других потоков, маршалируемых этим потоком. Допустимые значения приведены в следующем списке: Apartment, Free, Both и Neutral. |
tlbid |
Необязательный. GUID для библиотеки типов для данного компонента COM. |
progid |
Необязательный. Зависящий от версии программы идентификатор, связанный с COM-компонентом. Формат атрибута ProgID задается по схеме <vendor>.<component>.<version>. |
miscStatus |
Необязательный. Повторяет в манифесте сборки информацию из раздела реестра MiscStatus. Если значения атрибутов miscStatusIcon, miscStatusContent, miscStatusDocprint или miscStatusThumbnail не найдены, используются соответствующие значения по умолчанию из списка miscStatus. Значения должны быть представлены в виде списка значений атрибутов, разделенного запятыми. Этот атрибут можно использовать, если COM-класс является OCX-классом, требующим значения раздела реестра MiscStatus. |
miscStatusIcon |
Необязательный. Повторяет в манифесте сборки информацию из аспекта DVASPECT_ICON. Представляет значок объекта. Значения должны быть представлены в виде списка значений атрибутов, разделенного запятыми. Этот атрибут можно использовать, если COM-класс является OCX-классом, требующим значения раздела реестра Miscstatus. |
miscStatusContent |
Необязательный. Повторяет в манифесте сборки информацию из аспекта DVASPECT_CONTENT. Представляет составные документы, выводимые на экран или принтер. Значения должны быть представлены в виде списка значений атрибутов, разделенного запятыми. Этот атрибут можно использовать, если COM-класс является OCX-классом, требующим значения раздела реестра MiscStatus. |
miscStatusDocPrint |
Необязательный. Повторяет в манифесте сборки информацию из аспекта DVASPECT_DOCPRINT. Представляет отображение объекта на экране так, как оно было бы напечатано на принтере. Значения должны быть представлены в виде списка значений атрибутов, разделенного запятыми. Этот атрибут можно использовать, если COM-класс является OCX-классом, требующим значения раздела реестра MiscStatus. |
miscStatusThumbnail |
Необязательный. Повторяет в манифесте сборки информацию из аспекта DVASPECT_THUMBNAIL. Представляет эскизы объектов, отображаемые в средствах просмотра. Значения должны быть представлены в виде списка значений атрибутов, разделенного запятыми. Этот атрибут можно использовать, если COM-класс является OCX-классом, требующим значения раздела реестра MiscStatus. |
comInterfaceExternalProxyStub
Элемент comInterfaceExternalProxyStub является необязательным и дочерним для элемента file. Однако если приложение ClickOnce содержит компонент COM, предназначенный для развертывания с помощью COM-взаимодействия без регистрации, использование элемента comClass является обязательным. Элемент содержит следующие атрибуты.
Атрибут |
Описание |
---|---|
iid |
Обязательный. IID интерфейса, обслуживаемого этим прокси-сервером. IID должен быть заключен в фигурные скобки. |
baseInterface |
Необязательный. IID интерфейса, из которого ссылается производный интерфейс iid. |
numMethods |
Необязательный. Число методов, реализованных в интерфейсе. |
name |
Необязательный. Имя интерфейса, отображаемое в коде. |
tlbid |
Необязательный. Библиотека типов, содержащая описание интерфейса, указанная в атрибуте iid. |
proxyStubClass32 |
Необязательный. Отображение IID в код CLSID в 32-битных прокси-библиотеках. |
comInterfaceProxyStub
Элемент comInterfaceProxyStub является необязательным и дочерним для элемента file. Однако если приложение ClickOnce содержит компонент COM, предназначенный для развертывания с помощью COM-взаимодействия без регистрации, использование элемента comClass является обязательным. Элемент содержит следующие атрибуты.
Атрибут |
Описание |
---|---|
iid |
Обязательный. IID интерфейса, обслуживаемого этим прокси-сервером. IID должен быть заключен в фигурные скобки. |
baseInterface |
Необязательный. IID интерфейса, из которого ссылается производный интерфейс iid. |
numMethods |
Необязательный. Число методов, реализованных в интерфейсе. |
Name |
Необязательный. Имя интерфейса, отображаемое в коде. |
Tlbid |
Необязательный. Библиотека типов, содержащая описание интерфейса, указанная в атрибуте iid. |
proxyStubClass32 |
Необязательный. Отображение IID в код CLSID в 32-битных прокси-библиотеках. |
threadingModel |
Необязательный. Необязательный. Потоковая модель, используемая внутрипроцессными COM-классами. Если этот атрибут имеет значение NULL, потоковая модель не используется. Компонент создается на основном потоке клиента и вызывается из других потоков, маршалируемых этим потоком. Допустимые значения приведены в следующем списке: Apartment, Free, Both и Neutral. |
windowClass
Элемент windowClass является необязательным и дочерним для элемента file. Однако если приложение ClickOnce содержит компонент COM, предназначенный для развертывания с помощью COM-взаимодействия без регистрации, использование элемента comClass является обязательным. Элемент относится к классу окон, определяемых компонентом COM, который должен содержать применимую к нему версию. Элемент содержит следующие атрибуты.
Атрибут |
Описание |
---|---|
versioned |
Необязательный. Контролирует, содержит ли внутреннее имя класса, используемое при регистрации, версию сборки, содержащую класс окна. Атрибут может принимать значения yes или no. По умолчанию используется значение yes. Значение no должно использоваться только в том случае, если один класс окна определен компонентом, который используется параллельно, и эквивалентным компонентом, не используемым параллельно, и их нужно обрабатывать как один класс. Обратите внимание, что обычные правила регистрации класса применяются только в случае, если удастся зарегистрировать первый компонент, зарегистрированный в классе окна, так как он не содержит версии, применимой к нему. |
hash
Элемент hash является необязательным дочерним элементом элемента file. У элемента hash отсутствуют атрибуты.
Для того чтобы гарантировать, что ни один из файлов не был изменен после развертывания, ClickOnce использует алгоритмический хэш всех файлов в приложении в качестве проверки защиты. Если элемент hash не включен, такая проверка выполняться не будет. Поэтому не рекомендуется пропускать элемент hash.
Если манифест содержит файл, который не подвергается хэшированию, этот манифест невозможно снабдить цифровой подписью, поскольку пользователи не могут проверить содержимое нехэшированного файла.
dsig:Transforms
Элемент dsig:Transforms является обязательным дочерним элементом элемента hash. У элемента dsig:Transforms отсутствуют атрибуты.
dsig:Transform
Элемент dsig:Transform является обязательным дочерним элементом элемента dsig:Transforms. Элемент dsig:Transform имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
Algorithm |
Алгоритм, используемый для вычисления дайджеста для этого файла. В настоящее время значением, используемым ClickOnce, может быть только urn:schemas-microsoft-com:HashTransforms.Identity. |
dsig:DigestMethod
Элемент dsig:DigestMethod является обязательным дочерним элементом элемента hash. Элемент dsig:DigestMethod имеет следующие атрибуты.
Атрибут |
Описание |
---|---|
Algorithm |
Алгоритм, используемый для вычисления дайджеста для этого файла. В настоящее время ClickOnce может использовать только значение http://www.w3.org/2000/09/xmldsig#sha1. |
dsig:DigestValue
Элемент dsig:DigestValue является обязательным дочерним элементом элемента hash. У элемента dsig:DigestValue отсутствуют атрибуты. Его текстовое значение – это вычисленный хэш для указанного файла.
Заметки
Этот элемент идентифицирует все не являющиеся сборками файлы, которые составляют приложение и, в частности, хэш-значения для проверки файла. Этот элемент также может содержать изолированные данные модели COM, связанные с файлом. При изменении файла необходимо обновить файл манифеста приложения для внесения изменений.
Пример
В следующем примере кода показан элемент file файла манифеста приложения для приложения, развертываемого с помощью ClickOnce.
<file name="Icon.ico" size="9216">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>lVoj+Rh6RQ/HPNLOdayQah5McrI=</dsig:DigestValue>
</hash>
</file>