Microsoft Windows Installer

uma norma de facto.

A tecnologia Windows Installer foi desenvolvida pela Microsoft e é uma ferramenta muito poderosa para a criação de instalações robustas e estáveis. É composto por dois componentes principais, o serviço de instalação no cliente (Msiexec.exe) e um ficheiro de pacote (ficheiro MSI). O serviço Installer executa a instalação de uma aplicação com base nas informações contidas no ficheiro MSI. O poder do Windows Installer vai muito além da instalação e lançamento de aplicações.

MSI é a abreviatura de Microsoft Installer. Os ficheiros MSI são bases de dados relacionais cujas tabelas contêm dados binários/textuais que representam instruções de controlo para a instalação. Estas bases de dados, juntamente com as configurações feitas durante a instalação, são então geridas pelo sistema operativo. O próprio pacote de software pode ser armazenado na base de dados, mas também é possível armazenar apenas referências aos ficheiros. Desde o Windows 2000, a tecnologia tem sido totalmente integrada nos sistemas operativos da Microsoft.

Realiza diagnósticos e reparações em programas danificados

Um programa pode solicitar ao instalador que determine se tem ficheiros em falta ou danificados. Pode então solicitar ao serviço instalador que repare esse programa, se necessário, copiando novamente os ficheiros em falta ou danificados.

O estado original do computador é restaurado se a instalação falhar

O Windows Installer acompanha todas as alterações feitas ao sistema durante o processo de instalação do programa. Se a instalação não for bem sucedida, pode repor o sistema no seu estado original. Este processo é também conhecido como "rollback".

Apoia a instalação de funções de programa a pedido

O instalador pode ser instruído a instalar apenas a versão mínima de um programa no início. Mais tarde, componentes adicionais podem ser instalados automaticamente quando se utiliza pela primeira vez uma funcionalidade que requer componentes adicionais.

Suporta a instalação de programas sem vigilância

O instalador suporta a escrita de instalações de programas, de acordo com as instruções do administrador.

Ajuda a prevenir certos tipos de conflitos entre programas

Não é raro que um programa que está a ser instalado ou desinstalado cause problemas com outro programa que já está no computador, ou mesmo que o computador deixe de responder (crash). O Windows Installer aplica políticas de instalação que ajudam a prevenir conflitos quando um processo de instalação faz actualizações a um ficheiro de biblioteca de ligação dinâmica (DLL) ou apaga um ficheiro DLL que também é utilizado por outro programa existente.


Visão geral dos elementos mais importantes da tecnologia MSI

Installation Package

Um pacote de instalação contém toda a informação que o instalador do Windows necessita para realizar uma instalação ou desinstalação de uma aplicação. O componente principal de um pacote de instalação é o ficheiro MSI, que é implementado com uma base de dados relacional (instalação). Para além do procedimento de instalação e dos ficheiros de instalação, muitas outras informações são aqui armazenadas, tais como ficheiros CAB adicionais necessários, fontes de instalação internas e externas, instruções no caso de uma versão anterior desta aplicação já estar instalada, ou informações sobre grupos de utilizadores que estão autorizados a instalar esta aplicação.

Installation Mechanism

Um procedimento de instalação, se bem sucedido, consiste em duas fases, Aquisição e Execução. Na fase de aquisição, toda a informação necessária para a instalação é lida a partir da base de dados de instalação. A partir disto, é gerado um guião que descreve passo a passo o procedimento de instalação. Na fase de execução, este guião é editado e a aplicação é instalada. Se a instalação não for bem sucedida, o Windows Installer restaura o computador ao seu estado de pré-instalação na fase de rollback. Para poder executar esta etapa, é gerado um guião de retrocesso durante a fase de instalação, paralelamente ao processamento do guião de instalação.

Installation-On-Demand

As tecnologias de instalação tradicionais requerem o abandono de uma aplicação e o reinício de uma rotina de instalação. O Installation-On-Demand representa uma tentativa de eliminar estas etapas. Se um utilizador quiser instalar uma funcionalidade adicional numa aplicação em execução, isto pode ser feito directamente sem reiniciar a aplicação. Este conceito é também utilizado quando o utilizador decide instalar uma aplicação recentemente disponível (Advertisment).

Components and Features

Quando o Windows Installer quer instalar uma aplicação, primeiro transfere-a para o conceito de Componentes e Características. Uma característica é uma parte de uma aplicação que não tem necessariamente de ser instalada com uma aplicação. Esta decisão é deixada ao utilizador. Um exemplo seria uma extensão de um programa de processamento de texto com apoio linguístico adicional. Os componentes, por outro lado, são uma parte essencial fixa de uma aplicação e são sempre instalados em conjunto com ela. Para o utilizador, isto é feito de forma transparente. Exemplos de componentes são ficheiros individuais, chaves de registo, objectos COM, ligações, bibliotecas, etc.

Advertisement

O Windows Installer oferece a possibilidade de anunciar a disponibilidade de uma aplicação a um utilizador sem que esta já esteja instalada. Tudo o que é necessário é a interface da aplicação. Isto pode ser utilizado para mostrar ao utilizador qual é a sua aplicação. Apenas quando o utilizador quer realmente utilizá-lo, os componentes necessários são instalados.

Customization

O Windows Installer pode ser utilizado para realizar instalações personalizadas para diferentes grupos de utilizadores. Uma vez que toda a informação de instalação é armazenada numa base de dados relacional, podem ser feitas alterações aos registos de dados em tempo de execução e assim influenciar a instalação de uma aplicação. Seria concebível, por exemplo, instalar uma aplicação com suporte linguístico diferente, dependendo do respectivo utilizador.


Transforming (.mst)

fonte de informação » About Transforms | Microsoft Docs

Uma transformação é um tipo especial de ficheiro de base de dados .msi e normalmente tem a extensão .mst. As transformações aplicam-se à instalação de uma aplicação no momento da instalação. Alteram essencialmente os valores por defeito num pacote MSI para controlar o comportamento da instalação quando esta ocorre. Os valores alterados não são guardados no ficheiro MSI.

Merge-Modul (.msm)

fonte de informação » About Merge Modules | Microsoft Docs

Outra variante do ficheiro MSI é o módulo de Merge ou ficheiro MSM, um grupo de componentes que são frequentemente reutilizados em configurações de aplicações. Por exemplo, várias aplicações de terceiros podem utilizar o Microsoft Visual C++ Redistributable (VC-Redist). Em vez de recriar uma configuração para estes componentes partilhados em cada novo pacote MSI, os empacotadores de aplicações podem reutilizar os módulos de Merge fornecidos pelo fornecedor de componentes partilhados. Os módulos Merge são ficheiros de base de dados .msi simplificados que contêm apenas as características e componentes. Muitas vezes os ficheiros dos componentes reais são incorporados no próprio ficheiro .msm. Os ficheiros .msm são então fundidos com o pacote principal da aplicação Windows Installer no momento da compilação do pacote.