Czy powinienem zawinąć wszystkie pliki, które chcę zainstalować w poszczególnych komponentach? Jaka jest zaleta umieszczania kilku plików w jednym komponencie?Wix: jeden plik na komponent lub kilka plików na komponent?
Odpowiedz
Jednym z powodów "jednego pliku na składnik" jest resiliency. Po uruchomieniu aplikacji Instalator systemu Windows może sprawdzić, czy brak jakiegokolwiek składnika keypath. Jeśli brakuje klawisza "keypath", komponent zostanie ponownie zainstalowany/naprawiony.
Jeśli komponent ma wiele plików, to jednym z nich może być tylko jeden plik tylko jeden plik. W wix wskazujesz to, ustawiając KeyPath=yes
na elemencie File. Pozostałe pliki nie będą w pełni chronione przez odporność systemu Windows Installer. Zostaną one ponownie zainstalowane tylko wtedy, gdy zniknie plik keypath.
Innym powodem posiadania "jednego pliku na składnik" jest instalowanie plików w lokalizacjach, w których mogą już być obecne (np. Uaktualnienie aplikacji lub podczas instalacji pod numerem c:\windows\system32
). Instalator systemu Windows określa, czy komponent musi zostać zainstalowany, sprawdzając keypath. Jeśli keypath jest plikiem i plik już istnieje (z tą samą lub wyższą wersją), to jest zainstalowany komponent , a nie. To jest problem, jeśli pliki w komponencie rzeczywiście muszą być zainstalowane/zaktualizowane.
To jest świetna odpowiedź, ale nie mówi, dlaczego rewers jest przydatny. Co jest uzasadnione, ponieważ znam tylko jedną zaletę: podczas instalacji zapisujesz pewien czas rejestracji, ponieważ każdy komponent jest zarejestrowany, ale każdy z jego plików nie jest. Zasadniczo nie jest to dobry kompromis, ponieważ zabija odporność i przeszkadza w ulepszaniu, dlatego należy zwrócić większą uwagę na zalecenia firmy wcoenen. –
@Wim Coenen Używając metody "file per component", należy umieścić KeyPath = "yes" na File, ale co z jego składnikiem? Czy konieczne jest dodanie tej samej wartości KeyPath = "yes" w komponencie nadrzędnym pliku? Ponadto, co z katalogiem? Jaka jest najlepsza praktyka z katalogami (puste i niewypełnione)? Czy są na to dobre wskazówki? Dzięki!!! – zam6ak
@ zam6ak: komentarze nie są najlepszym miejscem do zadawania nowych pytań, ponieważ mają ograniczoną uwagę i nie mogą zawierać dokładnych odpowiedzi. Opublikuj osobne pytanie zamiast komentarza! –
śledzę podejście firmy Microsoft, który jest również używany przez InstallShield: http://msdn.microsoft.com/en-us/library/aa368269(VS.85).aspx
Powyższy związek daje zalety tego podejścia.
- 1. Komponent na powierzchni szkła
- 2. Zastępowanie plików rdzeń komponent Joomla
- 3. Komponent Wix z plikami w różnych katalogach
- 4. Umieść nowy komponent na JXTaskPane
- 5. Jak programowo utworzyć komponent złożony lub komponent znacznika?
- 6. Jak uzyskać jeden komponent współrzędnej tikz/PGF?
- 7. Komponent przeglądarki plików dla przechwytywania Java
- 8. Ukryj komponent po kliknięciu na zewnątrz.
- 9. Ukryj komponent po kliknięciu na zewnątrz
- 10. Scal kilka plików trx mstest w jeden plik trx
- 11. Celuj w inny stylizowany komponent na hover
- 12. Solr miałeś na myśli (sprawdzanie pisowni komponent)
- 13. Przekaż parametr "kluczowy", aby zareagować na komponent
- 14. Składanie zamówienia na komponent bean sprężystych
- 15. Podziel jeden plik na wiele plików na podstawie wzorca
- 16. Jednostka testująca komponent Swing
- 17. Komponent VCL Nieprzezroczystość/przezroczystość
- 18. Komponent iOS Predykaty
- 19. Komponent do szyfrowania
- 20. Pobierz komponent z JScrollPane
- 21. Zaktualizuj komponent po pobraniu pliku
- 22. QML zakres komponent puzzle
- 23. react.js - Komponent forma testowania
- 24. NS_ERROR_NOT_AVAILABLE: Komponent nie jest dostępny
- 25. Niestandardowy kod zdarzenia, aby zaktualizować komponent na zlokalizowanie
- 26. Niespompowywany komponent rozwoju infrastruktury
- 27. GWT Data Godzina Komponent
- 28. JavaFX: Jak ustawić komponent/węzeł?
- 29. Java - Odczytaj plik i podziel na kilka plików
- 30. Utwórz komponent niestandardowy na podstawie LinearLayout, deklarując układ w XML
Niektóre zestawy ** .NET ** są ** wielo-pliku **, ale powinny być zawarte w tym samym komponencie MSI, ponieważ muszą być zainstalowane jako "** jednostka atomowa **". Innymi słowy, powinny zawsze instalować i odinstalowywać razem jako pakiet. –
Oprócz wielo-plikowych zestawów .NET zawsze używam jednego pliku na komponent, ponieważ pozwala on uniknąć wszystkich problemów związanych z aktualizacją i wdrażaniem. –