Установка нескольких экземпляров с помощью преобразований экземпляров
В этом разделе приведены рекомендации по установке или переустановке установки нескольких экземпляров, использующего преобразования экземпляров.
- При установке нового экземпляра с преобразованием экземпляра включите свойство MSINEWINSTANCE и задайте MSINEWINSTANCE=1.
- При установке нового экземпляра с преобразованием экземпляра включите свойство TRANSFORMS и задайте первое преобразование в списке преобразований для преобразования экземпляра, изменяющего код продукта. Все преобразования настройки должны следовать за преобразованием экземпляра в начале этого списка.
- Самый простой способ инициировать установку обслуживания и переустановить экземпляр — сослаться на код продукта экземпляра. Если вы инициируете установку обслуживания, используя путь к пакету, необходимо также указать код продукта экземпляра. В командной строке используйте параметр /n {Код продукта}. В коде или скрипте используйте свойство MSIINSTANCEGUID .
В следующем примере показана установка нового экземпляра из командной строки, в которой преобразование экземпляра имеет префикс двоеточия, указывающего, что преобразование внедрено в пакет.
msiexec /I mypackage.msi TRANSFORMS=:instance.mst MSINEWINSTANCE=1 /qb
В следующем примере показана установка нового экземпляра с помощью MsiInstallProduct.
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("TRANSFORMS=:instance.mst MSINEWINSTANCE=1"));
В следующем примере показана установка нового экземпляра из скрипта.
Dim Installer As Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "path to mypackage.msi", "TRANSFORMS=:instance.mst MSINEWINSTANCE=1"
В следующем примере выполняется переустановка экземпляра без повторного кэширования пакета. На экземпляр ссылается код {00000001-0002-0000-0000-624474736554}продукта .
msiexec /I {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=omus /qb
В следующем примере выполняется переустановка экземпляра и повторное кэширование пакета из командной строки. На экземпляр ссылается путь к пакету. Параметр /n {Код продукта} необходимо включить только в том случае, если продукт изначально установлен с преобразованием экземпляра.
msiexec /I c:\newpath\mypackage.msi /n {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus /qb
В следующем примере выполняется переустановка экземпляра и кэширование пакета с помощью MsiInstallProduct. На экземпляр ссылается путь к пакету. Используйте свойство MSIINSTANCEGUID для предоставления кода продукта экземпляра .
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("MSIINSTANCEGUID={00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus"));
В следующем примере выполняется переустановка экземпляра и кэширование пакета с помощью скрипта. Используйте свойство MSIINSTANCEGUID для предоставления кода продукта экземпляра .
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"
В следующем примере показано, как объявить экземпляр с помощью командной строки.
msiexec /jm mypackage.msi /t :instance.mst /c /qb
В следующем примере показано, как установить для объявления экземпляра с помощью MsiAdvertiseProductEx.
UINT uiStat = MsiAdvertiseProductEx(_T("path to mypackage.msi"), NULL, _T(":instance.mst"), 0, 0, MSIADVERTISEOPTIONS_INSTANCE);
В следующем примере показано, как применить исправление к экземпляру из командной строки. Параметр /n {Код продукта} необходимо включить только в том случае, если продукт изначально был установлен с преобразованием экземпляра.
msiexec /p mypatch.msp /n {00000001-0002-0000-0000-624474736554} /qb
В следующем примере показано, как применить исправление к установке экземпляра с помощью MsiApplyPatch.
UINT uiStat = MsiApplyPatch(_T("path to mypatch.msp"), _T("{00000001-0002-0000-0000-624474736554}"), INSTALLTYPE_SINGLE_INSTANCE, _T("REINSTALL=ALL REINSTALLMODE=omus"));
Дополнительные сведения см. в разделах Установка нескольких экземпляров продуктов и исправлений и Создание нескольких экземпляров с помощью преобразований экземпляров.