У меня есть несколько папок, которые InstallAware использовал в качестве выходных каталогов для создания установщиков для некоторых наших программ. InstallAware копирует из системных dll-файлов в выходной каталог, который будет упакован вместе с установкой, поэтому вы получите несколько таких каталогов:
\Release\Single\data\OFFLINE\7F8A918D\BCE51B05\twinapi.appcore.dll
и \Release\Single\data\OFFLINE\8A864189\BCE51B05\ntasn1.dll
Теперь проблема в том, что эти выходные каталоги полностью невозможно удалить. Похоже, ОС считает, что эти файлы, скопированные из System32, являются фактическими системными DLL, которые никогда не следует удалять.
В общем, причина, по которой я не могу удалить эти dll, заключается в том, что они используются dwm.exe
или Desktop Window Manager
. Другие процессы, которые якобы используют эти DLL-файлы: Windows Explorer (хотя завершение этого и попытка удаления не имеют никакого эффекта), wlanext.exe, WUDFHost.exe, csrss.exe ...
По сути, способ, которым эти DLL будут использоваться в их фактическом местоположении (System32 в целом), ОС считает, что эти файлы используются таким же образом. Я должен также упомянуть, что существует 15-20 таких папок с 15-20 копиями всех этих DLL, и Windows считает, что каждая из них используется одновременно системными процессами, упомянутыми выше.
Эти файлы находятся на рабочем столе, во временных папках вывода, используемых InstallAware для упаковки файлов для создания установщика.
Все, что вы можете придумать, не работает. Загрузка в безопасном режиме не имеет никакого эффекта, и dwm.exe
не может быть эффективно завершен (другие системные процессы также не могут быть эффективно завершены) для удаления этих файлов.
Это мысленный эксперимент по копированию (мысленно, не пытайтесь этого) происходящего здесь.
Если вы зайдете в C:\Windows\System32 и начнете пытаться удалить DLL, необходимые для запуска ОС, вы получите ошибки, говорящие о чем-то вроде «Файл используется - действие не может быть выполнено, потому что файл открыт . . .", где '. , «. будет какой-то системный процесс, такой как dwm.exe, explorer.exe и т. д.
Однако вместо того, чтобы эти DLL-файлы были в System32, у вас есть 20 их копий на рабочем столе, но если вы не хотите удалять эти 20 копий, вы получите то же сообщение, что и при попытке удалить реальные в System32. ,