Salvar como caixa de diálogo ausente no Windows XP

0

Recentemente, não consegui baixar arquivos porque o botão "Salvar como" não fez nada. Agora, noto que não consigo nem salvar algo do MS Paint porque o botão "Salvar como" não faz nada também, e também não consigo abrir nada. Parece que o componente de janelas que especifica essas caixas de diálogo desapareceu (mas eu não recebo nenhum erro), ou substituído por um que não faz nada. Como posso consertar isso? É um problema conhecido? Agradecemos antecipadamente.

    
por chubakueno 23.02.2014 / 22:23

1 resposta

1

Análise

As funções da API do Windows que lida com essas caixas de diálogo estão localizados no arquivo de biblioteca comdlg32.dll , que geralmente está localizado em C:\Windows\System32 :

The Common Dialog Box Library contains a set of dialog boxes for performing common application tasks, such as opening files, choosing color values, and printing documents.

Source: Common Dialog Box Library

Neste caso, o arquivo foi substituído por uma versão mais antiga para o Windows 9x:

Size: 176128 bytes
Version: 4.72.3510.2300

Como comparação, o seguinte é o arquivo original que acompanha o Windows XP SP3:

Size: 276992 bytes
Version: 6.00.2900.5512

Esse problema é chamado stomping de DLL e geralmente ocorre quando um programa sobrescreve uma biblioteca do sistema com uma anterior, versão incompatível. A execução de notepad confirmou isso rapidamente:

The procedure entry point PrintDlgExW could not be located in the dynamic link library comdlg32.dll.

Resolução

Você pode executar uma verificação do sistema executando o comando sfc /scannow . No caso de qualquer arquivo do sistema estar faltando ou estar corrompido, o programa tentará restaurá-lo. Quando necessário, você será solicitado a inserir o CD de instalação do Windows XP.

Observação Este procedimento exige direitos de administrador.

Solução alternativa

Se você tiver acesso a uma mídia de instalação do Windows XP SP3, poderá obter o arquivo original copiando o arquivo COMDLG32.DL_ dentro da pasta I386 . Então você tem que descompactá-lo executando os seguintes comandos em um prompt de comando:

cd /d "X:\Folder\containing\COMDLG32.DL_"
expand COMDLG32.DL_ comdlg32.dll

Neste ponto, você pode inicializar qualquer CD / DVD / USB Linux ao vivo e, em seguida, substituir manualmente o antigo arquivo comdlg32.dll pelo arquivo correto.

Referências

por 24.02.2014 / 00:21

Tags