Окей, моя вина, только моя вина.
Пытаясь ускорить работу старого ноутбука, я искал настройки реестра и выполнял многие из них на этом компьютере. Windows 7 Enterprise, 64 бита.
Я обнаружил, что некоторые из этих настроек не были действительно хорошими вещами. Например, один из них вызывает зависание приложения для автоматического закрытия. Или другое поведение заключалось в том, что при нехватке памяти он автоматически закрывал приложения.
Поэтому я пошел и попытался повернуть их вспять, и, по-видимому, это произошло.
Но мой компьютер все еще ведет себя очень странно. Я попытаюсь сказать это в одной фразе: Windows занимает больше времени, чем обычно, чтобы знать, что исполняемый файл закрыт или не используется.
Например, у меня есть пакетный файл, который компилирует файл (Delphi), затем сжимает его, затем подписывает его, все через старый добрый пакет команд MSDOS. Это начало вести себя странно, теперь, после копирования файла, много раз я получаю сообщения об отказе в доступе к этому файлу. Сначала я подумал, что это был либо антивирус, либо вредоносное ПО, либо VCS, который блокировал вновь созданные файлы, но нет, я лишил компьютер этого программного обеспечения, и проблема остается.
Другой пример: я помещаю исполняемый файл dummy.exe, скажем, автономный исполняемый файл, созданный в Delphi, в каталог «c:\mydirectory». Я исполняю файл, чем закрываю его. Затем я попытался удалить файл, и Windows говорит мне, что я не могу, что файл открыт ... но это не так, я закрыл его. Я просто подожду пару минут, попробуйте позже, и теперь это работает.
Какой отсутствующий или измененный раздел реестра может вызывать такое поведение?
РЕДАКТИРОВАТЬ 1:
Используя дескриптор Sysinternal, я обнаружил, что процесс, блокирующий мой файл, - это PID:4, то есть ядро и система NT ... так что же здесь на самом деле происходит? :(
РЕДАКТИРОВАТЬ 2:
Я думаю, что уверен, в чем проблема, но все еще не знаю, как это исправить. Я помню, что некоторый "твик" был связан с UAC. Файл был только что создан Delphi с правами администратора, если я запускаю командную строку от имени администратора и запускаю пакет, чтобы скопировать /aspack / подписать, чтобы он работал гладко. Когда я запускаю пакет напрямую, дважды щелкнув файл пакета, запускается блокировка.
Кроме того, есть еще другие странные. Вновь созданная папка, в которую я перетаскиваю и выполняю (скажем, notepad.exe), затем запускаю ее, затем закрываю, сохраняет блокировку и не может быть удалена. Это не нормально, я только что проверил несколько других компьютеров.
РЕДАКТИРОВАТЬ 3:
Я могу подтвердить, что просто открыв Проводник Windows и заставив его "просмотреть" каталог, в котором находятся мои exe и пакет (даже если я запускаю свой пакет непосредственно из ранее открытого сеанса командной строки CMD), он вызывает блокировку файлов и их получение. :"Процесс не может получить доступ к файлу, потому что он используется другим процессом." Итак, именно Windows Explorer просматривает мои файлы, что вызывает эту блокировку ..... но опять же, почему? А расширение Windows Explorer может быть? У меня есть резервное копирование Mozy и я использую Tortoise для контроля версий, оба установили пункты в меню "Файл".