У меня есть общая dll, мы будем называть его Utility.dll, который устанавливается несколькими продуктами. В моем файле WIX я устанавливаю Utility.dll как отдельный компонент. Теперь версия 2.0 утилиты Utility.dll ссылается на дополнительную dll, UtilityUtility.dll, которую необходимо будет установить рядом.WIX добавить новый файл в общий компонент
Для моей первой попытки интеграции UtilityUtility.dll я создал новый компонент WIX, содержащий новую dll.
Это вызывает проблемы в следующем сценарии
1) Пользователь устанавливает Продукт 1 {Utility.dll 1,0}
2) Пользователь устанавливает Продукт 2 {Utility.dll 2.0, 2.0} UtilityUtility.dll
3) пользователь удалений продукт 2 {Utility.dll 2,0}
Теперь, когда пользователь использует Utility.dll он потерпит неудачу, если он не может найти указываемые UtilityUtility.dll
Это привело меня, чтобы добавить UtilityUtility.dll к оригинальный компонент, который предотвращает использование Ut ilityUtility.dll удаляется в предыдущем сценарии, но имеет собственную проблему.
1) Пользователь устанавливает Продукт 1 {Utility.dll 1,0}
2) Пользователь устанавливает Продукт 2 {Utility.dll 2.0, 2.0} UtilityUtility.dll
3) Пользователь Деинсталлирует Продукт 2 {Utility.dll 2.0, UtilityUtility .dll 2,0}
4) Пользователь удалений Продукт 1 {UtilityUtility.dll 2,0}
UtilityUtility.dll является сиротой, так как не удаляются с помощью продукта 1 удаления (она не существует в компоненте, когда он был первоначально установлен).
Есть ли у меня какие-либо другие варианты?
Thanks
С первым сценарием будет переустанавливаться/восстанавливаться Product1 после unistall Product2 с помощью REINSTALLMODE = a (или amus) исправлять ситуацию? У меня есть несколько аналогичный тестовый проект, и похоже, что ремонт заменяет v2 DLL на v1 –
. Да, исправление Product1 с помощью REINSTALLMODE = a заставит все файлы в этом пакете на машине, потенциально нарушив любые другие общие файлы. «a» - очень жестокий молот, чтобы качать. –
Сообщение Rob означает, что в отношении правил компонентов, я считаю, переместился на http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 – adamjcooper