Dela via


Installera flera instanser med instanstransformering

Det här avsnittet innehåller riktlinjer för att installera eller installera om en installation med flera instanser som använder instanstransformeringar.

  • När du installerar en ny instans med en instanstransformering ska du ta med egenskapen MSINEWINSTANCE och ange MSINEWINSTANCE=1.
  • När du installerar en ny instans med en instanstransformering tar du med egenskapen TRANSFORMS och anger den första transformeringen i listan över transformeringar till instanstransformeringen som ändrar produktkoden. Alla anpassningstransformeringar bör följa instanstransformeringen i början av den här listan.
  • Det enklaste sättet att initiera en underhållsinstallation och installera om en instans är att referera till produktkoden för instansen. Om du initierar underhållsinstallationen med hjälp av paketsökvägen måste du också ange produktkoden för instansen. Använd alternativet /n {Product Code} på kommandoraden. Från kod eller skript använder du egenskapen MSIINSTANCEGUID.

I följande exempel visas hur du installerar en ny instans från en kommandorad där instanstransformeringen prefixeras av ett kolon som anger att transformeringen är inbäddad i paketet.

msiexec /I mypackage.msi TRANSFORMS=:instance.mst MSINEWINSTANCE=1 /qb

I följande exempel visas hur du installerar en ny instans med hjälp av MsiInstallProduct.

UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("TRANSFORMS=:instance.mst MSINEWINSTANCE=1"));

I följande exempel visas hur du installerar den nya instansen från skriptet.

Dim Installer As Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "path to mypackage.msi", "TRANSFORMS=:instance.mst MSINEWINSTANCE=1"

I följande exempel installeras en instans om utan att paketet cachelagras igen. Instansen refereras till av produktkoden {00000001-0002-0000-0000-624474736554}.

msiexec /I {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=omus /qb

I följande exempel installeras om en instans och paketet cachelagrars igen från kommandoraden. Instansen refereras till av paketsökvägen. Du behöver bara inkludera alternativet /n {Product Code} om produkten ursprungligen har installerats med en instanstransformering.

msiexec /I c:\newpath\mypackage.msi /n {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus /qb

Följande exempel installerar om en instans och cachelagrar paketet med hjälp av MsiInstallProduct. Instansen hänvisas till med paketets sökväg. Använd egenskapen MSIINSTANCEGUID för att ange produktkoden för instansen.

UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("MSIINSTANCEGUID={00000001-0002-0000-0000-624474736554}  REINSTALL=ALL REINSTALLMODE=vomus"));

Följande exempel installerar om en instans och cachelagrar paketet med hjälp av skriptet. Använd egenskapen MSIINSTANCEGUID för att ange produktkoden för instansen.

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"

I följande exempel visas hur du annonserar en instans med hjälp av kommandoraden.

msiexec /jm mypackage.msi /t :instance.mst /c /qb

I följande exempel visas hur du installerar för att annonsera en instans med hjälp av MsiAdvertiseProductEx.

UINT uiStat = MsiAdvertiseProductEx(_T("path to mypackage.msi"), NULL, _T(":instance.mst"), 0, 0, MSIADVERTISEOPTIONS_INSTANCE);

I följande exempel visas hur du tillämpar en korrigering på en instans från en kommandorad. Du behöver bara inkludera alternativet /n {Product Code} om produkten ursprungligen installerades med en instanstransformering.

msiexec /p mypatch.msp /n {00000001-0002-0000-0000-624474736554} /qb

I följande exempel visas hur du tillämpar en korrigering på en instansinstallation med hjälp av MsiApplyPatch.

UINT uiStat = MsiApplyPatch(_T("path to mypatch.msp"), _T("{00000001-0002-0000-0000-624474736554}"), INSTALLTYPE_SINGLE_INSTANCE, _T("REINSTALL=ALL REINSTALLMODE=omus"));

Mer information finns i Installera flera instanser av produkter och korrigeringar och Skapa flera instanser med instanstransformeringar.