Como recuperar de um mfc90.dll corrompido sob a pasta WinSxS?

1

Meu disco do sistema foi corrompido. Consegui recuperar-me principalmente, mas ainda assim alguns programas não seriam iniciados. sfc /scannow informa que alguns arquivos não foram corrigidos e mfc90.dll entre eles. Eu suspeito que esta seja a razão. Eu confirmei que o arquivo em questão no WinSxS tem uma incompatibilidade de assinatura, portanto, definitivamente corrompido.

No Painel de Controle, há várias entradas para "Microsoft Visual C ++ 2008 Redistributable - x86" - versões diferentes. Eu desinstalei o que corresponde ao número de compilação do arquivo que está corrompido, mas o arquivo em WinSxS permanece (provavelmente porque está marcado como usado por outros programas). Eu também tentei "reparar" funções de vários programas que são afetados, sem sucesso (eles falham por diferentes razões).

A minha pergunta : Como posso eliminar este ficheiro DLL na pasta WinSxS (a partir do Windows), e é seguro (tenho várias outras cópias, mas diferentes números de compilação. um é 9.0.30729.4137, mas 9.0.30729.4974 parece estar ok).

Sei que estou encarando a reinstalação do sistema como uma solução de longo prazo. Só preciso de uma solução rápida para sobreviver por várias semanas sem precisar reinstalá-la.

    
por haimg 02.03.2012 / 14:37

1 resposta

1
Primeiro, eu não sei o que estou fazendo e nunca consegui essa coisa em particular. Eu não vou fazer de qualquer maneira :-) você é, se você quiser. Mas aqui estão algumas das abordagens, em nenhuma ordem particular, e apenas Psico, sem solução baseada em fatos em um prato.

1) É um arquivo / lugar corrompido no disco?

1A) Execute o CHKDSK na unidade com a opção / r.

1B) Backup de toda a partição do sistema usando um backup de imagem, você tem que ter um de qualquer maneira para fazer todas as coisas ruins que eu vou sonhar para destruir este arquivo de qualquer maneira :-) Certifique-se de validar o backup e são positivos dele

 Agora restaure esse backup, isso forçará a reescrita de todo o sistema.

1) Com o exposto tinha certeza de uma coisa, a corrupção não está no caminho da remoção. Você provavelmente sabe se a corrupção de disco é parte do problema. Mas o backup em si ainda precisará ser feito para sobrevivência.

2) dlls compartilhadas

2A) Uma desinstalação apropriada não ocorrerá para um "sharedDlls" que tenha um Número de uso maior que 1, significando que seria 0 na última desinstalação. Um dos locais para estes é HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ SharedDLLs.

2B) localize o arquivo em qualquer um dos locais de dll compartilhados no registro e atire-os todos, porque se preocupar com o número se o ponto é remover / substituir.

2C) encontrá-lo em qualquer outro lugar no registro e removê-lo de qualquer maneira, esta é uma dll antiga, e não faz parte do próprio sistema, então quem se importa.

2) Estávamos tentando fazer uma reinstalação do re-distibuível para que pudéssemos ter que ser agressivos. Você tem o backup acima, então rasgue e rasgue.
 Isso só é necessário quando você está tentando desinstalar e o Número de Uso está mantendo-o, usando métodos de desinstalação apropriados.
Pode haver outros locais no registro que identifiquem que o redistribuível já está instalado, que ainda pode ser um problema ao reinstalar o redistribuível.

3) Descobrir sua ligação

3A) Instale este visualizador de link físico, "HardLinkShellExt_X64", que mostra quantos links existem (ou não) apontando para os dados no local do disco.

3B) remover todos os links, exceto o último (o que seria a exclusão dos dados em si)

3) Eu realmente não sei, mas se você conseguir excluir dados em um disco, sem a remoção dos próprios hard links (não facilmente conseguidos) você pode acabar com um ponteiro para lugar nenhum. Pelo menos essa coisa vai mostrar o que está acontecendo e quais são os links (ou não).

4) Seja vicioso com a remoção

4A) Instale o utilitário chamado "apropriar-se", que pode mexer com a permissão no arquivo / pasta, para que você possa destruir coisas com permissões que impeçam o administrador de removê-las. Execute-o no arquivo que você está tentando remover se as permissões estiverem no caminho da remoção.

4B) Instale o "unlocker" para desbloquear as coisas que estão sendo usadas, e até mesmo apagar na reinicialização. Também o arquivo assasin no MBAM seria capaz de fazer sobre a mesma coisa. Isso pode excluir arquivos que são obstinados. Se as permissões estiverem no caminho, você deve cuidar delas primeiro.

5) em algum lugar aqui nós reinstalamos o redistribuível original

5A) encontre o programa que instalou a coisa para começar a procurar pelo Vcred *. * nos discos de instalação. Geralmente encontrado em uma pasta redistribuível nos discos de programas. A idéia aqui é não reinstalar o programa inteiro desnecessariamente, mas apenas reinstalar esse redistão quebrado.

6) Recolha o backup da imagem, porque eu estava errado, e agora piorou as coisas: -)

7) Quando uma varredura sfc não completa o trabalho de reparar o sistema, muitas vezes uma "Instalação lapidada" pode consertar as coisas. mas este item não faz parte da instalação original do Windows 7.

    
por 02.03.2012 / 15:49