Mam wspólną bibliotekę DLL, nazwać go Utility.dll, który jest instalowany przez wiele produktów. W moim pliku WIX instaluję Utility.dll jako oddzielny komponent. Teraz wersja 2.0 pliku Utility.dll odwołuje się do dodatkowej biblioteki DLL, UtilityUtility.dll, która będzie musiała zostać zainstalowana obok.WIX dodać nowy plik do składnika współużytkowanego
Do mojej pierwszej próby integracji z UtilityUtility.dll stworzyłem nowy komponent WIX zawierający nową bibliotekę dll.
powoduje to problemy w następujący scenariusz
1) użytkownik instaluje produkt 1 {Utility.dll 1,0}
2), użytkownik instaluje produkt 2 {Utility.dll 2,0 UtilityUtility.dll 2,0}
3) użytkownik odinstalowuje produkt 2 {Utility.dll 2,0}
teraz, gdy użytkownik korzysta z Utility.dll nie powiedzie się, gdy nie można znaleźć odwołuje UtilityUtility.dll
to doprowadziło mnie do dodać do UtilityUtility.dll oryginalny komponent, który zapobiega Ut ilityUtility.dll został usunięty w poprzednim scenariuszu, ale zawiera własny problem.
1) użytkownik instaluje produkt 1 {Utility.dll 1,0}
2), użytkownik instaluje produkt 2 {Utility.dll UtilityUtility.dll 2.0, 2.0}
3) Użytkownik Odinstalowuje produktu 2 {Utility.dll 2,0 UtilityUtility .dll 2,0}
4) Użytkownik odinstaluje Produkt 1 {UtilityUtility.dll 2,0}
UtilityUtility.dll jest osierocona, ponieważ nie zostaną usunięte przez produkt 1 deinstalacji (nie istnieje w składniku gdy było pierwotnie zainstalowany).
Czy mam tu jakieś inne opcje?
Dzięki
W pierwszym scenariuszu ponowna instalacja/naprawa produktu 1 po unistall produktu 2 przy użyciu REINSTALLMODE = a (lub amus) naprawi sytuację? Mam nieco podobny projekt testowy i wygląda na to, że naprawa zastępuje bibliotekę DLL v2 za pomocą v1 –
Tak, naprawa produktu 1 za pomocą REINSTALLMODE = a wymusiłaby wszystkie pliki w tym pakiecie na komputerze, potencjalnie powodując łamanie innych udostępnianych plików. "a" to bardzo brutalny młot do huśtania. –
Post Rob odnosi się do Reguł Komponentowych, jak sądzę, przeniósł się do http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 – adamjcooper