2009-12-23 20 views
8

No puedo encontrar la especificación de formato MSI. Dice que es un estándar abierto, pero no veo ninguna documentación, solo fragmentos de información aquí y allá.Windows instalador Formato MSI

Quiero modificar algunos instaladores .msi, pero quiero entender primero lo que está haciendo.

+0

El formato de archivo MSI no está documentado, ¿dónde lo ha leído es un estándar abierto? – saschabeaumont

+0

Un archivo MSI es una base de datos SQL en un archivo de almacenamiento estructurado COM, y el último es esencialmente un sistema de archivos en un archivo (secuencias de archivos). –

Respuesta

4

Parece que entendió mal la promesa de Microsoft.

promesa de especificaciones abiertas

Fecha de publicación: 12 de septiembre de 2006. Revisado: 15 Febrero de 2007

Microsoft irrevocablemente promete no hacer valer cualquier Microsoft necesarias reclamaciones contra usted para hacer, usar, vender, ofreciendo a la venta, importando o distribuyendo cualquier implementación en la medida en que cumpla con a una Especificación cubierta ("Implementación cubierta"), sujeto al siguiente. Esta es una promesa personal directamente de Microsoft para usted, y usted reconoce como una condición para beneficiarse de ella que no se reciben derechos de Microsoft de proveedores, distribuidores o en relación con esta promesa. Si archiva, mantiene o participa voluntariamente en una demanda por infracción de patente contra una implementación de Microsoft de dicha Especificación cubierta, esta promesa personal no se aplica con respecto a la implementación cubierta de de la misma especificación cubierta elaborada o utilizada por usted. Para aclarar, “Microsoft reivindicaciones necesario” son aquellos reivindicaciones de Microsoft-propiedad o patentes que son necesarios para Microsoft controlada de implementar sólo las porciones requeridas de la especificación cubierta que se describen en detalle y no simplemente referidos en dicho Especificación . Las "Especificaciones cubiertas" se enumeran a continuación.

Esta promesa no es una garantía, ya sea (i) que cualquiera de Microsoft reivindicaciones de patentes emitidas abarca la aplicación cubiertos o están exigible o (ii) que un Implementación cubierta no infringiría patentes u otros derechos de propiedad intelectual de cualquier tercero. No otros derechos, excepto los expresamente establecidos en esta promesa, serán considerados como concedidos, renunciados o recibidos por implicación, agotamiento, estoppel, o de otro modo.

La lista completa de las especificaciones abiertas se pueden encontrar en

http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx

Desde MSI no aparece dentro, se puede asumir con seguridad que se trata de una norma privada y no será compartida con público en general.

+0

Sin embargo, hay algunos productos de terceros que pueden crear y modificar archivos .msi – Demiurg

+0

Esas empresas de terceros pueden tener acuerdos con Microsoft donde pagan por soporte e información adicional. –

+2

Prácticamente todos estos productos de terceros usan las API públicas de Microsoft para leer/escribir archivos MSI. Está todo incluido en el SDK de Windows. – saschabeaumont

2

¿Está seguro de que se requiere el formato de base de datos .MSI para modificar algún instalador? ¿Has oído hablar de la herramienta Orca?Si no es así, este artículo del ms KB es para usted:

http://support.microsoft.com/kb/255905

+0

Estoy usando Orca para modificar el archivo. Es genial, pero ese no es el punto: a veces puedo adivinar cuál es el significado de cada parámetro, a veces no puedo. Lo que estoy buscando es la especificación que define cómo Windows Installer usa los parámetros.Base de datos MSI para instalar el software – Demiurg

+1

http://msdn.microsoft.com/en-us/library/aa368259(v=vs.85).aspx – jwrush

9

El formato binario no está abierto, No me incluso ir tan lejos como llamar a un estándar.

Sin embargo, supongo que no es el formato de archivo que le preocupa (que no está documentado), sino las tablas, acciones, secuencias, etc. que se pueden ver al interactuar con MSI mediante Windows Installer SDK, API, Orca, etc.

Todo está cubierto en la documentación de SDK, sin embargo, por alguna razón, los motores de búsqueda no clasifican la documentación muy altamente. Además, ya no puede descargar el Windows Installer SDK por separado, ahora se incluye como parte del SDK de Windows.

3

El formato de archivo MSI es no abierto y, de hecho, no está documentado, sin embargo, la API necesaria para acceder a estos archivos forma parte del Windows Installer SDK. Ese enlace describe las funciones API requeridas para acceder y modificar las bases de datos MSI (archivos) y los contenidos de las tablas en una base de datos MSI.

Dicho esto, si desea modificar o ver el contenido de una MSI, la forma más sencilla de hacerlo es simplemente utilizar un editor creado por otra persona (que a su vez utilizará estas funciones). Los que yo conozco son:

  • ORCA
  • InstEd
  • InstallShield también tienen un editor MSI

Si realmente quiere saber más acerca de los detalles de la parte interna de la MSI formato de archivo y luego lea estos dos artículos de blog de Rob Mensching (autor de WiX)

+0

El formato de archivo MSI es un archivo de almacenamiento estructurado COM que contiene un MS-SQL base de datos y flujos de archivos asociados. –

0

No se olvide MakeMSI que es una aplicación gratuita para crear archivos MSI.

+0

se proporciona un enlace de descarga en esa página del sitio oficial, desplácese hacia abajo hasta el encabezado * DOWNLOAD MAKEMSI v16.059 * – Wolf

Cuestiones relacionadas