Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten temat zawiera wskazówki dotyczące instalowania lub ponownego instalowania instalacji z wieloma instancjami, które wykorzystują przekształcenia instancji.
- Podczas instalowania nowego wystąpienia z transformacją wystąpienia, dołącz właściwość MSINEWINSTANCE i ustaw MSINEWINSTANCEna 1.
- Podczas instalacji nowego wystąpienia z przekształceniem wystąpienia, uwzględnij właściwość TRANSFORMS i ustaw pierwsze przekształcenie na liście przekształceń jako to, które zmienia kod produktu. Wszelkie transformacje dostosowania powinny następować po transformacji instancji na początku tej listy.
- Najprostszym sposobem zainicjowania instalacji konserwacji, a także ponownego zainstalowania wystąpienia, jest powoływanie się na kod produktu tego wystąpienia. W przypadku zainicjowania instalacji konserwacji przy użyciu ścieżki do pakietu, należy również określić kod produktu instancji. W wierszu polecenia użyj opcji /n {Product Code}. Z poziomu kodu lub skryptu użyj właściwości MSIINSTANCEGUID.
W poniższym przykładzie pokazano instalowanie nowego wystąpienia z wiersza polecenia, gdzie transformacja wystąpienia jest poprzedzona dwukropkiem, co oznacza, że transformacja jest osadzona w pakiecie.
msiexec /I mypackage.msi TRANSFORMS=:instance.mst MSINEWINSTANCE=1 /qb
W poniższym przykładzie pokazano instalowanie nowego wystąpienia przy użyciu MsiInstallProduct.
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("TRANSFORMS=:instance.mst MSINEWINSTANCE=1"));
W poniższym przykładzie pokazano instalowanie nowego wystąpienia za pomocą skryptu.
Dim Installer As Object
Set Installer = CreateObject("WindowsInstaller.Installer")
Installer.InstallProduct "path to mypackage.msi", "TRANSFORMS=:instance.mst MSINEWINSTANCE=1"
Poniższy przykład ponownie instaluje instancję bez odświeżenia pamięci podręcznej pakietu. Wystąpienie jest określane za pomocą jego kodu produktu {00000001-0002-0000-0000-624474736554}.
msiexec /I {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=omus /qb
Poniższy przykład instaluje ponownie wystąpienie i ponownie buforuje pakiet z wiersza polecenia. Wystąpienie jest określane przez ścieżkę pakietu. Należy uwzględnić opcję /n {Product Code}, jeśli produkt został pierwotnie zainstalowany z przekształceniem instancji.
msiexec /I c:\newpath\mypackage.msi /n {00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus /qb
Poniższy przykład instaluje ponownie wystąpienie i buforuje pakiet przy użyciu MsiInstallProduct. Wystąpienie jest identyfikowane przez ścieżkę pakietu. Użyj właściwości MSIINSTANCEGUID, aby podać kod produktu wystąpienia.
UINT uiStat = MsiInstallProduct(_T("path to mypackage.msi"), _T("MSIINSTANCEGUID={00000001-0002-0000-0000-624474736554} REINSTALL=ALL REINSTALLMODE=vomus"));
Poniższy przykład instaluje ponownie wystąpienie i buforuje pakiet przy użyciu skryptu. Użyj właściwości MSIINSTANCEGUID, aby podać kod produktu wystąpienia.
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"
W poniższym przykładzie pokazano, jak anonsować wystąpienie przy użyciu wiersza polecenia.
msiexec /jm mypackage.msi /t :instance.mst /c /qb
W poniższym przykładzie pokazano, jak reklamować wystąpienie przy użyciu MsiAdvertiseProductEx.
UINT uiStat = MsiAdvertiseProductEx(_T("path to mypackage.msi"), NULL, _T(":instance.mst"), 0, 0, MSIADVERTISEOPTIONS_INSTANCE);
W poniższym przykładzie pokazano, jak zastosować poprawkę do wystąpienia z wiersza polecenia. Wymagane jest uwzględnienie opcji /n {Product Code}, jeśli produkt został pierwotnie zainstalowany z transformacją instancji.
msiexec /p mypatch.msp /n {00000001-0002-0000-0000-624474736554} /qb
W poniższym przykładzie pokazano, jak przy użyciu MsiApplyPatchzastosować poprawkę do instalacji instancji.
UINT uiStat = MsiApplyPatch(_T("path to mypatch.msp"), _T("{00000001-0002-0000-0000-624474736554}"), INSTALLTYPE_SINGLE_INSTANCE, _T("REINSTALL=ALL REINSTALLMODE=omus"));
Aby uzyskać więcej informacji, zobacz Instalowanie wielu wystąpień produktów i poprawek oraz Tworzenie wielu wystąpień za pomocą transformacji wystąpień.