Instalando várias instâncias com transformações de instância
Este tópico fornece diretrizes para instalar ou reinstalar uma instalação de várias instâncias que usa transformações de instância.
- Ao instalar uma nova instância com uma transformação de instância, inclua a propriedade MSINEWINSTANCE e defina MSINEWINSTANCE=1.
- Ao instalar uma nova instância com uma transformação de instância, inclua a propriedade TRANSFORMS e defina a primeira transformação na lista de transformações para a transformação de instância que altera o código do produto. As transformações de personalização devem seguir a transformação da instância do início desta lista.
- A maneira mais fácil de iniciar uma instalação de manutenção e reinstalar uma instância é referenciar o código do produto da instância. Se você iniciar a instalação de manutenção usando o caminho do pacote, também deverá especificar o código do produto da instância. Na linha de comando, use a opção /n {Product Code}. No código ou script, use a propriedade MSIINSTANCEGUID.
O exemplo a seguir mostra a instalação de uma nova instância de uma linha de comando em que a transformação da instância é prefixada por dois-pontos que especificam que a transformação está inserida no pacote.
msiexec /I mypackage.msi TRANSFORMS=:instance.mst MSINEWINSTANCE=1 /qb
O exemplo a seguir mostra a instalação de uma nova instância usando MsiInstallProduct.
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("TRANSFORMS=:instance.mst MSINEWINSTANCE=1"));
O exemplo a seguir mostra a instalação da nova instância do script.
Dim Installer As Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "path to mypackage.msi", "TRANSFORMS=:instance.mst MSINEWINSTANCE=1"
O exemplo a seguir reinstala uma instância sem armazenar novamente o pacote em cache. A instância é referenciada por seu código de produto {00000001-0002-0000-0000-624474736554}.
msiexec /I {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=omus /qb
O exemplo a seguir reinstala uma instância e armazena novamente em cache o pacote da linha de comando. A instância é referenciada pelo caminho do pacote. Será necessário incluir a opção /n {Product Code} apenas se o produto for originalmente instalado com uma transformação de instância.
msiexec /I c:\newpath\mypackage.msi /n {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus /qb
O exemplo a seguir reinstala uma instância e armazena em cache o pacote usando MsiInstallProduct. A instância é referenciada pelo caminho do pacote. Use a propriedade MSIINSTANCEGUID para fornecer o código do produto da instância.
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("MSIINSTANCEGUID={00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus"));
O exemplo a seguir reinstala uma instância e armazena em cache o pacote usando script. Use a propriedade MSIINSTANCEGUID para fornecer o código do produto da instância.
Dim Installer As Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "path to mypackage.msi", "MSIINSTANCEGUID={00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus"
O exemplo a seguir mostra como anunciar uma instância usando a linha de comando.
msiexec /jm mypackage.msi /t :instance.mst /c /qb
O exemplo a seguir mostra como instalar para anunciar uma instância usando MsiAdvertiseProductEx.
UINT uiStat = MsiAdvertiseProductEx(_T("path to mypackage.msi"), NULL, _T(":instance.mst"), 0, 0, MSIADVERTISEOPTIONS_INSTANCE);
O exemplo a seguir mostra como aplicar um patch a uma instância de uma linha de comando. Será necessário incluir a opção /n {Product Code} apenas se o produto foi originalmente instalado com uma transformação de instância.
msiexec /p mypatch.msp /n {00000001-0002-0000-0000-624474736554} /qb
O exemplo a seguir mostra como aplicar um patch a uma instalação de instância usando MsiApplyPatch.
UINT uiStat = MsiApplyPatch(_T("path to mypatch.msp"), _T("{00000001-0002-0000-0000-624474736554}"), INSTALLTYPE_SINGLE_INSTANCE, _T("REINSTALL=ALL REINSTALLMODE=omus"));
Para obter mais informações, consulte Instalar várias instâncias de produtos e patches e Criar várias instâncias com transformações de instância.