Não é possível excluir C: \ Config.Msi \ 75ce84f.rbf

4

Não consigo excluir C:\Config.Msice84f.rbf .

  • não é somente leitura, sistema ou oculto
  • não está em uso por outro processo (de acordo com o Process Explorer)
  • as permissões de segurança do NT também não são o problema - eu sou o proprietário e tenho Controle Total; como uma verificação dupla, a guia Permissões efetivas mostra que tenho permissão para excluir.

No entanto, tentar excluir o arquivo fornece "Acesso negado" do Explorer e cmd . Eu pode no entanto renomeá-lo ou movê-lo para outra pasta na mesma unidade. Eu também posso lê-lo e Virustotal diz que é limpo, que é o que eu esperaria (é apenas um arquivo temporário do Windows Installer - uma cópia de alguma DLL eu acho). A linha relevante do Process Monitor é:

6:52:14.3726983 PM  112 Explorer.EXE    SetDispositionInformationFile   C:\Config.Msice84f.rbf   CANNOT DELETE   Delete: True    Write   1232

Antecedentes: estou usando o XP SP2. Recentemente, consertei a instalação do Adobe Reader para torná-lo o plug-in de navegador padrão novamente, em vez do Foxit. (parece haver nenhuma interface do usuário para fazer o contrário?) Então o instalador fez sua coisa e, em seguida, pediu para reiniciar. Como é meu hábito quando a reinicialização é inconveniente, recusei a oferta e executei pendmoves para descobrir quais arquivos o instalador tinha agendado para mover / excluir. Ele queria excluir dois arquivos com .rbf extension (arquivos de reversão) localizados em C:\Config.msi\ . (isso se aplica a ambos, embora eu tenha falado sobre um). Então tentei deletá-los manualmente e não consegui.

Alguém tem alguma idéia do que poderia estar impedindo a exclusão? (e eu não acho que é malware, embora eu não esteja executando AV no momento)

    
por Hugh Allen 05.04.2010 / 03:10

2 respostas

2

Eu descobri o que está acontecendo. Parece que você pode renomear e mover (dentro da mesma partição) arquivos executáveis e DLLs que estão em uso, mas não podem excluí-los. (quando este recurso foi introduzido?) Duas coisas que tornam confuso são a mensagem de erro ("Acesso negado" em vez de "está sendo usado por outro [processo]"), e que os módulos movidos / renomeados ainda estão listados em seus nomes originais no Process Explorer, e é por isso que não pude usá-lo para descobrir qual processo estava usando os arquivos. (foi o Adobe Reader, que o instalador não desligou enquanto fazia seu trabalho)

Gostaria de encontrar a documentação adequada (da Microsoft) referente a esse comportamento. A Wikipedia tem um parágrafo que encontrei aqui :

Any file that is executing on the computer system as a program (e.g., an EXE, COM, DLL, CPL or other binary program file format) is normally prevented by the file system from being opened for write or delete access, reporting a sharing violation, despite the fact that the program is not opened by any application. However, some access is still allowed. For example, a running application file can be renamed or copied (read) even when executing.

DeleteFile menciona

The DeleteFile function fails if an application attempts to delete a file that is open for normal I/O or as a memory-mapped file.

O último presumivelmente inclui executáveis / DLLs carregados.

A Microsoft também tem uma página " Atualizações da biblioteca de vínculo dinâmico " que meio que implica esse comportamento, mas não o documenta adequadamente.

    
por 08.04.2010 / 04:38
1

Apenas um pensamento - você pode excluí-lo no modo de segurança? Além disso, quando você renomeia ou move, você pode excluí-lo?

    
por 05.04.2010 / 07:14