Установка нескольких экземпляров с помощью преобразований экземпляров
В этом разделе приведены рекомендации по установке или переустановке установки нескольких экземпляров, которая использует преобразования экземпляров.
- При установке нового экземпляра с преобразованием экземпляра включите свойство MSINEWINSTANCE и задайте MSINEWINSTANCE=1.
- При установке нового экземпляра с преобразованием экземпляра включите свойство TRANSFORMS и укажите первым в списке преобразований то преобразование экземпляра, которое изменяет код продукта. Все преобразования настройки должны соответствовать преобразованию экземпляра в начале этого списка.
- Самый простой способ начать установку для обслуживания и переустановить экземпляр — это использовать код продукта этого экземпляра. Если вы инициируете техническое обслуживание с помощью пути пакета, необходимо также указать код продукта для экземпляра. В командной строке используйте параметр /n {Product Code}. В коде или скрипте используйте свойство 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 {Product Code} только в том случае, если продукт изначально установлен с преобразованием экземпляра.
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 {Product Code} только в том случае, если продукт был первоначально установлен с преобразованием экземпляра.
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"));
Для получения дополнительной информации см. в установке нескольких экземпляров продуктов и патчей и создании нескольких экземпляров с использованием преобразований экземпляров.