Заставить MSI перезаписывать сборки при установке

С Рождеством, StackOverflowians!

Я начал распространять свою программу .NET GAC с помощью Inno Setup, но из-за ее различных недостатков я хочу перейти на MSI для следующей версии. К сожалению, похоже, что это станет серьезной проблемой для моих существующих пользователей... Конечно, мне придется настоять на том, чтобы мои пользователи вручную удалили предыдущую версию перед установкой новой. Но вроде даже если предыдущую версию полностью удалить, все равно проблематично.

Я не знаю, то ли я неправильно настроил, то ли Inno Setup просто глуп, но похоже, что Inno не полностью удаляет сборки. В результате, когда я пытаюсь запустить установщик MSI, я вижу в журнале следующее, даже после удаления: skipping installation of assembly component: {guid} since the assembly already exists

Так что мне здесь делать? Есть ли способ заставить MSI перезаписать сборки, даже если они уже существуют?


person Paul Accisano    schedule 26.12.2010    source источник


Ответы (1)


Создайте свою DLL с тем же строгим именем ( AssemblyVersion ), но с более высокой версией файла ( AssemblyFileVersion ). Будьте осторожны, чтобы ваши классы были на 100% совместимы с предыдущими версиями, так как старая DLL будет заменена.

person Christopher Painter    schedule 26.12.2010