Хотя вы можете сделать это, чтобы отменить регистрацию и удалить DLL:
... это фактически нарушит подсчет ссылок, так как не помешаетВаш деинсталлятор от уменьшения счетчика ссылок еще раз.Это связано с тем, что деинсталлятор запоминает действия всех прошлых версий установщика и обрабатывает их все.
Пример: если ваша DLL совместно используется вашим приложением и одна другая - 2 ссылки.Вы запускаете свое обновление, которое уменьшает счетчик до 1. Затем вы удаляете свое приложение, которое уменьшает счетчик до 0 и удаляет DLL => Другие приложения ломаются.
Таким образом, в конце концов, единственныйдействительно правильное решение - запустить деинсталлятор в начале вашего установщика.
См. Inno Setup: Как автоматически удалить предыдущую установленную версию?
Вы можете сделать это толькоусловно, когда общий файл все еще существует.
Тем не менее, оказалось, что вам на самом деле не нужно удалять общую DLL новой версией установщика.Вы только боялись, что когда новый установщик больше не устанавливает общую DLL, его деинсталлятор также не удалит ее правильно.Но это произойдет именно по причинам, указанным в первом разделе.