Archivo de manifiesto - Manifest file

Un archivo de manifiesto en informática es un archivo que contiene metadatos para un grupo de archivos adjuntos que forman parte de un conjunto o unidad coherente. Por ejemplo, los archivos de un programa informático pueden tener un manifiesto que describa el nombre, el número de versión, la licencia y los archivos constitutivos del programa.

El término se toma prestado de un procedimiento de envío de carga, donde un manifiesto de barco enumeraría la tripulación y / o la carga de un barco.

Manifiesto del paquete

Las distribuciones de Linux dependen en gran medida de los sistemas de gestión de paquetes para distribuir software. En este esquema, un paquete es un archivo que contiene un archivo de manifiesto. El objetivo principal es enumerar los archivos que se incluyen en la distribución, ya sea para su procesamiento mediante diversas herramientas de empaque o para consumo humano. Los manifiestos pueden contener información adicional; por ejemplo, en JAR (un formato de paquete para entregar software escrito en lenguaje de programación Java ), pueden especificar un número de versión y un punto de entrada para la ejecución. El manifiesto puede contener opcionalmente un hash criptográfico o una suma de comprobación de cada archivo. Al crear una firma criptográfica para dicho archivo de manifiesto, se puede validar la autenticidad e integridad del contenido completo del paquete de distribución, ya que la alteración de cualquiera de los archivos invalidará las sumas de comprobación en el archivo de manifiesto.

Manifiesto de aplicación y ensamblado

En Microsoft Windows , el software que se basa en Windows Side-by-Side ( WinSxS ) necesita un manifiesto de la aplicación, que es un documento XML que está incrustado en un archivo ejecutable o contenido en un archivo XML separado que lo acompaña. Lleva nombre, versión, información de confianza, privilegios necesarios para la ejecución y dependencias de otros componentes.

Un manifiesto de ensamblado es muy similar a un manifiesto de aplicación, pero describe la identidad de los componentes conocidos como " ensamblados ". Estos ensamblados se mencionan en el manifiesto de la aplicación.

Un ejemplo de un manifiesto de aplicación es el siguiente. Este manifiesto de aplicación tiene dos partes principales: seguridad y dependencia. La parte de seguridad dice que la aplicación requiere un nivel de seguridad "asInvoker"; es decir, se puede operar en cualquier nivel de seguridad en el que se ejecute. La parte de dependencia dice que la aplicación necesita un componente llamado "Microsoft.VC90.CRT" con el número de versión "9.0.21022.8".

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <!--I am okay with whatever security privilege level-->
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <!--I need Microsoft Visual C++ 2008 Runtime to run-->
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

Manifiesto de caché HTML5

Un manifiesto de caché en HTML5 es un archivo de texto sin formato que acompaña a una aplicación web que la ayuda a ejecutarse cuando no hay conectividad de red. El mecanismo de almacenamiento en caché lee este archivo y garantiza que su contenido esté disponible localmente. Se sirve un manifiesto de caché HTML5 con su tipo de contenido establecido en "texto / manifiesto de caché".

Ejemplo de un manifiesto de caché:

CACHE MANIFEST 
/test.css
/test.js
/test.png

Referencias