Зачем мне нужно перерегистрировать DLL-библиотеки?

Зачем мне нужно перерегистрировать DLL-библиотеки?

Недавно я клонировал раздел с помощьюWindows 7на нем. Надеясь, что он будет работать нормально, я успешно загрузил его и смог запустить, за исключением того, что я получил что-то вроде "Интерфейс не поддерживается"при запуске некоторых приложений и.СЕТЬсообщалось об отсутствии его в некоторых программах.

Я погуглил и обнаружил, что это как-то связано с "Регистрация DLL". Итак, мой вопрос: когда я клонировал раздел на своем жестком диске, не была ли создана его идеальная копия. Если да, то зачем мне нужно было «регистрировать DLL заново». Если нет, объясните.

решение1

Когда буква диска системного раздела меняется после процесса клонирования, любые приложения, которые полагаются на жестко закодированные пути к DLL и другим файлам, естественно, сломаются. Существуют API, такие как GetWindowsDirectory(), SHGetKnownFolderPath(), SHGetSpecialFolderPath(), Environment.GetFolderPath() и т. д., которые программисты должны использовать, но иногда не используют.

Кроме того, приложения, которые в целях лицензирования/предотвращения пиратства хранят GUID тома, на котором они установлены, также могут сломаться. В таких случаях нет простого решения, кроме как перерегистрировать приложение, если это возможно.

Связанный контент