Как восстановить поврежденный файл mfc90.dll в папке WinSxS?

6086
haimg

Мой системный диск был поврежден. В основном мне удалось восстановиться после этого, но некоторые программы не запускались. sfc /scannowсообщает, что некоторые файлы не были исправлены, и mfc90.dll среди них. Я подозреваю, что это причина. Я подтвердил, что рассматриваемый файл под WinSxS имеет несоответствие подписи, поэтому определенно поврежден.

На панели управления есть несколько записей для «Microsoft Visual C ++ 2008 Redistributable - x86» - разные версии. Я удалил тот, который соответствует номеру сборки поврежденного файла, но файл под WinSxS остается (вероятно, потому что он помечен как используемый другими программами). Я также попытался «восстановить» функции нескольких программ, на которые влияют, но безуспешно (они не работают по разным причинам).

Мой вопрос : как я могу удалить этот файл DLL в папке WinSxS (изнутри Windows), и это безопасно (у меня есть несколько других его копий, но с разными номерами сборки. Например, поврежден 9.0.30729.4137, но 9.0.30729.4974 кажется, все в порядке).

Я понимаю, что переустанавливаю систему как долгосрочное решение, мне просто нужно быстро исправить, чтобы прожить несколько недель без переустановки.

1

1 ответ на вопрос

1
Psycogeek

Сначала я не знаю, что я делаю, и никогда не справлялся с этой конкретной задачей. Я не собираюсь делать это в любом случае :-) Вы, если хотите. Но вот некоторые из подходов, «Без определенного порядка» и просто «Псико», без решения, основанного на фактах, на блюде.

1) Это поврежденный файл / место на диске?

1A) Запустите CHKDSK на диске с параметром / r.

1B) Создайте резервную копию всего системного раздела с помощью резервной копии образа, в любом случае, у вас должен быть один, чтобы делать все то зло, о котором я мечтаю в любом случае уничтожить этот файл :-) Убедитесь, что вы проверили резервную копию и положительно ее оценили.
Теперь восстановите эту резервную копию, это заставит переписать всю систему.

1) С вышеизложенным были уверены в одном, коррупция не в пути устранения. Вы, вероятно, знаете, является ли повреждение диска частью проблемы. Но само по себе резервное копирование нужно будет сделать для выживания.


2) общие dll

2A) Правильная деинсталляция не произойдет для «sharedDlls» с номером использования больше 1, что означает, что при последней деинсталляции это будет 0. Одним из мест для них является HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ SharedDLLs.

2B) найти файл в любом из общих расположений DLL в реестре и бросить их все, зачем беспокоиться по номеру, если дело в том, чтобы удалить / заменить.

2C) найти его где-нибудь еще в реестре и удалить его в любом случае, это более старая dll, и она не является частью самой системы, поэтому кого это волнует.

2) Мы пытались переустанавливать процесс перераспределения, поэтому нам, возможно, придется стать агрессивным. У вас есть вышеупомянутая резервная копия, так что порвите.
Это необходимо только в том случае, если вы пытаетесь удалить приложение и удерживает его с помощью правильных методов удаления.
В реестре могут быть и другие места, которые определяют, что распространяемый пакет уже установлен, что может быть проблемой при переустановке распространяемого пакета.


3) выяснить его связь

3A) Установите эту программу просмотра жестких ссылок, «HardLinkShellExt_X64», которая покажет вам, сколько ссылок (или нет) указывают на данные на диске.

3B) удалить все ссылки, кроме последней (это будет удаление самих данных)

3) Я действительно не знаю, но если вам удастся удалить данные на диске, без удаления самих жестких ссылок (что нелегко сделать), вы можете получить указатель в никуда. По крайней мере, эта вещь покажет, что происходит, и каковы ссылки (или нет).


4) получить порочный с удалением

4A) Установите утилиту под названием «стать владельцем», это может привести к путанице с разрешениями на файл / папку, так что вы можете уничтожать вещи с разрешениями, которые мешают администратору удалить их. Запустите его на файл, который вы пытаетесь удалить, если разрешения на пути удаления.

4B) Установите «unlocker», это может разблокировать вещи, которые его используют, и даже удалить при перезагрузке. Также File assasin в MBAM сможет делать то же самое. Это может удалить файлы, которые являются упрямыми. Если разрешения мешают, вы должны сначала позаботиться о них.


5) где-то здесь мы переустанавливаем исходный распространяемый

5A) найти программу, которая установила вещь, чтобы начать поиск Vcred *. * На установочных дисках. Часто встречается в папке redistributables на дисках программ. Идея здесь не в том, чтобы переустанавливать всю программу без необходимости, а в том, чтобы просто переустановить этот сломанный повторный список.


6) Уберите резервную копию образа, потому что я ошибся, и теперь все стало еще хуже :-)

7) Когда проверка sfc не завершает работу по восстановлению системы, часто «сбитая установка» может что-то исправить. но этот пункт не является частью оригинальной установки Windows 7.