Udostępnij za pośrednictwem


Co się stanie, jeśli reguły elementów zostaną złamane?

W niektórych przypadkach autorzy mogą zdecydować, że muszą naruszyć zasady tworzenia komponentów, jak omówiono w Organizowanie Aplikacji w Komponenty oraz Zmienianie Kodu Komponentu. Autorzy muszą pamiętać o możliwych konsekwencjach tego działania i muszą w inny sposób zagwarantować, że ich składniki nigdy nie są zainstalowane, gdzie mogą uszkodzić inne aplikacje lub składniki w systemie użytkownika.

Na poniższej liście opisano sposoby, w jakie autorzy czasami łamią zalecane zasady dotyczące komponentów i możliwe konsekwencje.

Autor dodaje zasoby do składnika bez zmiany kodu składnika.

  • Produkty zainstalowane ze starym składnikiem nie zawierają informacji o dodanych zasobach w bazie danych instalacji.
  • Jeśli zarówno nowy produkt, który ma dodane zasoby, jak i stary produkt są zainstalowane na tym samym komputerze, zasoby można pozostawić w tyle, jeśli nowy produkt zostanie odinstalowany jako pierwszy.
  • Stary produkt bez dodanych zasobów nie może naprawić nowszej wersji składnika. Ponowne zainstalowanie starego produktu nie powoduje przywrócenia dodanych zasobów.

Autor usuwa zasoby ze składnika bez zmiany kodu składnika.

  • Produkty zainstalowane przy użyciu nowego składnika nie zawierają informacji o usuniętych zasobach w bazie danych instalacji.
  • Jeśli zarówno stary produkt, informacje o zasobie, jak i nowy produkt są zainstalowane na tym samym komputerze, zasoby można pozostawić w tyle, jeśli stary produkt zostanie odinstalowany jako pierwszy.
  • Nowy produkt z usuniętymi zasobami nie może naprawić starszej wersji produktu. Ponowne zainstalowanie nowego produktu nie powoduje przywrócenia usuniętych zasobów.

Autor zawiera plik, który jest niezgodny z poprzednimi wersjami bez zmiany kodu składnika.

Jeśli niezgodny plik jest uwzględniony w składniku bez zmiany kodu składnika, domyślne wersjonowanie plików powoduje, że instalator zastępuje oryginalny plik nowszym, niezgodnym plikiem. Może to spowodować uszkodzenie starych produktów wymagających oryginalnego pliku. Może również uniemożliwić instalatorowi naprawienie starego produktu, ponieważ wersja pliku ścieżki klucza składnika określa wersję składnika. Jeśli jest już zainstalowana nowsza wersja pliku ścieżki klucza, instalator nie instaluje starszej wersji składnika. Aby uzyskać więcej informacji, zobacz Reguły przechowywania wersji plików. W takim przypadku należy usunąć nowy produkt, zanim będzie można ponownie zainstalować stary produkt.

  • domyślne przechowywanie wersji plików powoduje, że instalator zastąpi oryginalny plik z nowszym niezgodnym plikiem.
  • Stare produkty, które wymagają oryginalnego pliku, są uszkodzone.
  • Może również uniemożliwić instalatorowi naprawienie starego produktu, ponieważ wersja pliku ścieżki klucza składnika określa wersję składnika. Jeśli jest już zainstalowana nowsza wersja pliku ścieżki klucza, instalator nie instaluje starszej wersji składnika. Aby uzyskać więcej informacji, zobacz Reguły przechowywania wersji plików. W takim przypadku należy usunąć nowy produkt, zanim będzie można ponownie zainstalować stary produkt.

Autor zawiera ten sam zasób w dwóch różnych składnikach.

Jeśli dwa składniki mają zasób o tej samej nazwie i lokalizacji, a oba składniki są zainstalowane w tym samym folderze, usunięcie dowolnego składnika spowoduje usunięcie wspólnego zasobu, co spowoduje uszkodzenie pozostałego składnika.

  • Odinstalowanie dowolnego składnika powoduje usunięcie zasobu i przerwanie działania innego składnika.
  • Mechanizm zliczania odwołań do składników jest uszkodzony.