Udostępnij przez


Aktualizacja modułów

Informacje przedstawione w tym temacie identyfikują zalecane wskazówki dotyczące aktualizowania zestawów przy użyciu poprawek Instalatora Windows.

Autorzy aktualizacji zestawów mogą użyć następujących wytycznych, które mają zastosowanie do wszystkich typów zestawów:

  • Zalecaną metodą aktualizowania zestawu jest zmiana silnej nazwy zestawu w tabeli msiAssemblyName . Nowa wersja zestawu może być dostarczana przez nowy składnik lub przez ten sam składnik, który udostępnia starą wersję.
  • Jeśli nowa wersja zestawu jest dostarczana przez ten sam składnik, nie zmieniaj typu zestawu z zestawu .NET Framework na zestaw Win32 lub na odwrót.
  • Jeśli wszystkie aplikacje w systemie muszą używać zaktualizowanego zestawu, należy wdrożyć zestaw zasad. Zestaw zasad może przekierowywać aplikacje w systemie w celu korzystania z nowej wersji zestawu. Zestawy zasad powinny być udostępniane przez utworzenie nowego składnika.
  • Instalator Windows 3.0 lub nowszy jest wymagany do odinstalowania aktualizacji zestawu. Aby uzyskać więcej informacji, zobacz Usuwanie poprawek.
  • Nowsza wersja zestawu powinna zawierać te same lub nowsze wersje plików z wcześniej wydanych zestawów.
  • Instalator Windows 3.0 może obsługiwać zestawy .NET Framework i Win32 poprzez całkowitą wymianę pliku lub mniejszą aktualizację różnicową. Aby uzyskać więcej informacji, zobacz Zmniejszenie rozmiaru poprawek.
  • Jeśli aktualizacja zmieni silną nazwę zestawu, wymagane są tabele MsiPatchOldAssemblyFile i MsiPatchOldAssemblyName, jeśli pakiet poprawek nie zawiera tabeli MsiPatchSequence. Tabela MsiPatchOldAssemblyFile i tabela MsiPatchOldAssemblyName nie są wymagane, jeśli pakiet poprawki zawiera informacje dotyczące sekwencjonowania poprawek w tabeli MsiPatchSequence.
  • Przed wydaniem nowej poprawki przetestuj poprawkę, stosując ją ze wszystkimi wcześniej wydanymi poprawkami.

Aktualizowanie zestawów Win32

Podczas aktualizowania zestawów Win32 należy stosować następujące wskazówki:

  • Zmień mocną nazwę nowego assembly określonego w tabeli MsiAssemblyName .
  • Jeśli chcesz, aby aplikacja zawsze używała nowej wersji zestawu bez wpływu na wersję zestawu używaną przez inne aplikacje w systemie, użyj tego samego składnika, aby zawierać nową wersję zestawu używaną dla starej wersji zestawu. Zachowaj ten sam ComponentId w tabeli składnika . Po zastosowaniu poprawek aplikacja przechowuje odwołanie tylko do nowej wersji zestawu. Stara wersja zestawu może jednocześnie pozostać z nową wersją w globalnej pamięci podręcznej zestawów. Nie ma to wpływu na inne aplikacje w systemie, które używają starej wersji zestawu. Gdy ten sam składnik jest używany zarówno dla nowych, jak i starych wersji zestawu, aktualizacja może być mniejszą poprawką różnicową.
  • Jeśli nowa wersja zestawu nie jest zgodna ze wszystkimi systemami, na których chcesz zainstalować aplikację, możesz zainstalować nowe i stare wersje zestawu jako zestawy równoległe. Aby zainstalować obie wersje zestawu obok siebie, utwórz nowy składnik zawierający nową wersję zestawu. Identyfikator ComponentId w tabeli Component dla nowego składnika powinien być inny niż ComponentId składnika ze starą wersją. Po zastosowaniu poprawki aplikacja przechowuje odwołania do obu wersji zestawów. Następnie aplikację można przekierować do zgodnej wersji zestawu za pomocą manifestu. Gdy w nowych i starych wersjach zestawu są używane różne składniki, aktualizacja używa pełnego zastąpienia pliku.

Aktualizowanie zestawów programu .NET Framework

Podczas aktualizowania zestawów programu .NET Framework należy użyć poniższych wskazówek.

  • Zmień silną nazwę nowego zestawu określonego w tabeli MsiAssemblyName .

  • Jeśli chcesz, aby aplikacja zawsze używała nowej wersji zestawu bez wpływu na wersję zestawu używaną przez inne aplikacje w systemie, zmień silną nazwę nowego zestawu określonego w tabeli MsiAssemblyNamei użyj tego samego składnika, aby zawierał nową wersję zestawu używaną dla starej wersji zestawu. Zachowaj ten sam ComponentId w tabeli składnika komponentu. Po zastosowaniu poprawek aplikacja przechowuje odwołanie tylko do nowej wersji zestawu. Stara wersja kompilacji może pozostać obok nowej wersji w globalnej pamięci podręcznej. Nie ma to wpływu na inne aplikacje w systemie, które używają starej wersji zestawu. Gdy ten sam składnik jest używany zarówno dla nowych, jak i starych wersji zestawu, aktualizacja może być mniejszą poprawką różnicową.

  • Jeśli nowa wersja zestawu nie jest zgodna ze wszystkimi systemami, na których chcesz zainstalować aplikację, możesz zainstalować nowe i stare wersje zestawu jako zestawy równoległe. Aby zainstalować obie wersje zestawu obok siebie, zmień silną nazwę nowego zestawu określonego w tabeli msiAssemblyName , a następnie utwórz nowy składnik zawierający nową wersję zestawu. Identyfikator ComponentId w tabeli Component dla nowego składnika powinien być inny niż ComponentId składnika ze starą wersją. Po zastosowaniu poprawki aplikacja przechowuje odwołania do obu wersji zestawów. Następnie aplikację można przekierować do zgodnej wersji zestawu za pomocą manifestu. Gdy w nowych i starych wersjach zestawu są używane różne składniki, aktualizacja używa pełnego zastąpienia pliku.

  • Aktualizacja w miejscu zastępuje kopię zestawu .NET Framework w globalnej pamięci podręcznej zestawów. Ten typ aktualizacji zestawu nie zmienia mocnej nazwy zestawu. Zmieniono tylko wartość w polu FileVersion tabeli MsiAssemblyName. Aktualizacja na miejscu zestawu .NET Framework wymaga programu .NET Framework 1.1 z dodatkiem SP1 lub nowszej wersji.

    Notatka

    Typ aktualizacji w miejscu zastępuje kopię zestawu w globalnej pamięci podręcznej i może zakłócić działanie innych aplikacji, jeśli nowa wersja zestawu nie jest całkowicie wstecznie kompatybilna. Zalecaną metodą aktualizowania zestawu jest zmiana silnej nazwy zestawu w tabeli msiAssemblyName .