2009-08-19 19 views
8

Mogę znaleźć mnóstwo informacji na temat aktualizacji msi. Na przykład. informacje na temat drobnych ulepszeń, niewielkich ulepszeń, głównych upgade oraz ich przypadków użycia i ograniczeń. Jednak nie mogę znaleźć informacje na temat aktualizacji zachowanie modułu Merge, takich jak:Jak zmienia się moduł scalający?

  1. Wygląda MSM nie ma żadnego sposób określić drobne, małe, albo ważne uaktualnienie. A więc, w jaki sposób zachowuje się ona w ? Czy odinstalowuje starą wersję najpierw lub tylko aktualizuje zmienione pliki ?
  2. Czy istnieje sposób określenia z poziomu , której wersji można uaktualnić jak msi?
  3. Czy mogę dodać/usunąć/zmienić nazwy komponentów dla nowej wersji?
  4. Jeśli nowsza wersja tego MSM jest już zainstalowany i pojemnik msi zdecyduje się zainstalować, to będzie nadpisać z tej starszej wersji MSM?

Odpowiedz

7

Dostępne są dwa scenariusze aktualizacji, w których może uczestniczyć moduł scalający. Pierwszy z nich dotyczy aktualizacji i aktualizacji pliku .msm. Dzieje się tak w przypadkach, takich jak pakiet serwisowy Visual Studio, w którym udostępniają zaktualizowane moduły scalania do użycia. Może to być problematyczne, ponieważ pliki .msm nie mają wersji pliku (mimo że mają wersję modułu scalającego), więc reguły wersjonowania plików nie są stosowane życzliwie. Prawdopodobnie nie pytasz o tę sprawę.

Innym scenariuszem jest scalenie modułu scalającego w instalatorze, który zostanie uaktualniony. Nie jest już modułem scalającym, ale zamiast tego jego pliki i inne rekordy są częścią instalatora zużywającego. W takim przypadku .msi, do którego zostało scalone, steruje krokami aktualizacji. Obaj wchodzą w interakcje, informując o twoich odpowiedziach na pierwsze trzy pytania. Jeśli moduł scalania zawiera zmiany, które nie są zgodne z niewielkimi zasadami aktualizacji, wówczas zużywający się instalator nie będzie mógł skorzystać z niewielkiej aktualizacji i musi odwołać się do głównych aktualizacji. Odpowiednio, jeśli chcesz użyć (lub zezwolić) na drobne ulepszenia instalatora, musisz uważać na swoje komponenty. Może to być trudniejsze niż w przypadku .msi, ponieważ nie można dodawać nowych funkcji w module scalania. Reguły kontroli wersji plików będą obowiązywać tak samo, jak we wszystkich instalacjach Instalatora Windows; w ten sposób odpowiedź na twoje czwarte pytanie jest określana na podstawie pliku dla każdego składnika, zamiast odpowiedzi grupowej dla całej zawartości modułu.

+0

Świetna odpowiedź. To jest drugi scenariusz. Obraz instalatora okien staje się coraz jaśniejszy ... – Dudu

0

Pytanie: Uważam, że muszę wiedzieć, jak wersji modułu scalania, jak opisano w drugim scenariuszu w odpowiedzi.

Sytuacja:

Mam wiele produktów, które wszystko zainstalować sam moduł scalania.

Jeśli jeden produkt zainstaluje nowszą wersję modułu scalania, nie chcę, aby starsza wersja innego produktu zastępowała najnowszy moduł scalający.

Czy ktoś może opisać, czy jest to możliwe, a jeśli tak, to w jaki sposób?

+0

To naprawdę powinno być osobne, samodzielne pytanie (w razie potrzeby odwołaj się do tego). Jeśli moduł scalania i jego nowsza wersja są dobrze napisane, to powinno po prostu działać. Nowsze wersje plików zastąpią starsze, ale nie odwrotnie.Współdzielone kody komponentów będą poprawnie odczytywać liczbę, więc odinstalowanie nawet pojedynczego użytkownika najnowszych plików nie spowoduje usunięcia udostępnionych plików. W skrócie: pamiętaj o przestrzeganiu reguł wersjonowania komponentów i plików, a najlepiej po prostu zaktualizuj istniejące pliki podczas aktualizacji projektu tego modułu. Wtedy wszystko powinno działać dobrze. –

+1

Mam problem ze znalezieniem szczegółowej dokumentacji na ten temat, więc oto co potwierdziłem z eksperymentu: Biorąc pod uwagę: 2 wersje modułu scalającego, nazwij je MMv1.msm i MMv2.msm; każdy .msm zawiera 1 plik MyFile.dll; MMv1.msm ma v1.0 pliku MyFile.dll; MMv2.msm ma v2.0 pliku MyFile.dll; MMv1.msm jest zużywany przez instalatora dla aplikacji A1; MMv2.msm jest używane dla aplikacji A2. Co się stanie, gdy ... 1) Aplikacja A1 zostanie zainstalowana, a następnie A2? MyFile kończy się na v2.0; 2) Zainstalowane są A1, a następnie A2, a następnie A2 zostaje odinstalowany? MyFile pozostaje w wersji 2.0. 3) Zainstalowano A2, a następnie A1? MyFile zaczyna się od wersji 2.0 i pozostaje w wersji 2.0. –