Mam więc usługę Windows, która może mieć wiele instancji zainstalowanych na jednym serwerze. Instalator musi mieć możliwość aktualizacji pojedynczej instancji. Instalator używa transformacji instancji, ale nie jestem pewien, jak sprawić, by główne aktualizacje działały tak, jak bym chciał.WiX - Wykonanie ważnej aktualizacji na instalacji wielu instancji
Dla dużego uaktualnienia do pracy, mój zrozumienia jest to, że muszę mieć zmiany kodu produktu, więc przypadki są określone w tej formie:
<Instance ProductCode="*"
UpgradeCode="{SOMEGUID}"
ProductName="Instance 1"
Id="Instance1"/>
MSI może zostać uruchomiony, aby zainstalować nową instancję poprzez:
msiexec.exe /i "installer.msi" TRANSFORMS=:Instance1 MSINEWINSTANCE=1
jednak po wielu poszukiwaniach jedyny sposób znalazłem uruchomić aktualizację na konkretnym przypadku jest to format:
msiexec.exe /i "installer.msi" /n {PRODUCTCODE} REINSTALL=ALL REINSTALLMODE=vamus
Problem polega na tym, że kod produktu jest generowany automatycznie w przypadku większych aktualizacji, a ja nie wiem, co to jest, więc nie mogę przekazać argumentów polecenia.
Czy istnieje sposób, aby uruchomić aktualizację przy użyciu UpgradeCode Instance lub InstanceID zamiast lub ProductCode? Ponieważ obie te pozostaną statyczne. Alternatywnie, czy mogę uruchomić msi bez żadnych argumentów, wybrać istniejącą instancję (za pośrednictwem rejestru sprawdzania) w oknie dialogowym interfejsu użytkownika i ustawić odpowiednie właściwości, aby wymusić włączenie msi w trybie aktualizacji dla tej instancji?
Możesz pomóc: http://sklyarenko.net/blog/2011/09/14/revisited-multiple-instance/ –
Wydaje mi się, że po zainstalowaniu każdej instancji jest to produkt z kodem produktu .Jeśli robisz aktualizację, twój nowy produkt musi po prostu zrobić nudną, poważną aktualizację i wypełnić tabelę uaktualnień o elementy, które zastąpią poprzedni produkt, który powinien zastąpić. Nie chodzi o to, że wiem dużo o instancjach, ale czy wypróbowałeś konwencjonalne podejście do używania tabel aktualizacji, które powodują, że twoja nowa instancja aktualizuje każdą ze starych instancji. Czy mówisz, że nie możesz aktualizować każdego produktu osobno, ponieważ wszystkie one mają ten sam kod uaktualnienia? Ta sama wersja? – PhilDW
Po prostu informujemy, że można uzyskać ** pełną listę ** z ** kodów produktu **, ** kodów aktualizacji ** i ** nazw produktów ** na danym komputerze za pomocą PowerShell: [** W jaki sposób Znajduję kod Upgrade dla zainstalowanego pliku MSI? **] (https://stackoverflow.com/questions/46637094/how-can-i-find-tgrade-code-for-an-installed-msi-file/46637095 # 46637095). –