Patch wednesday
Вообще, интересное состояние – время 11 часов вечера, у тебя упала суперсистема, без которой работа невозможна в принципе, ты сидишь, пытаешься разобраться, понимаешь, что пока не заработает, домой не уйдёшь, и офигеваешь от осознания того, насколько же всему миру похуй на твои проблемы. Даже вендору. (Особенно вендору!) Когда утром что-то пойдёт не так, тебя распнут с удовольствием, а пока все сидят дома и пьют чаи. Но, куда деваться с подводной лодки – работа у нас такая, забота у нас простая.
Мораль номер один: если после установки обновлений kb977165, 978706, 978262, 978037, 978251, 977914, 972270, 943729, 976662, 971468, 975713, 978207, 973917, 968930 или 975560 ваше .NET приложение для IIS вылетает с ошибкой “System.IO.FileLoadException: Could not load file or assembly такую-то or one of its dependencies. Access is denied.“, то сначала попробуйте приподнять его привилегии до локального администратора или администратора домена (временно, разумеется), добавив в файл web.config в раздел <system.web> строку:
<identity impersonate="true" userName="DOMAIN\administrator" password="тут_пароль_админа_домена" />
Если всё работает, то смотрите, где происходит затык с привилегиями для процесса w3wp.exe (это IIS). У меня он был в файле c:\windows\system32\msvcp71.dll (это одна из зависимостей). Видимо, какой-то патч обновляет этот файл и/или изменяет его ACL, причём откат патчей не возвращает старые привилегии. Разрешите пользователю NETWORK SERVICE читать и выполнять этот файл и всё будет хорошо.
Мораль номер два: тестовый сервер стоит не просто так. Не нужно умничать и пытаться сэкономить время (“хаха” три раза, пауза).
Мораль номер три (самая главная): Это мой Process Monitor. Таких Process Monitor много, но этот – мой. Мой Process Monitor – мой лучший друг. Он – моя жизнь. Я должен научиться владеть им так же, как я владею своей жизнью. Без меня мой Process Monitor бесполезен. Без моего Process Monitor бесполезен я. Я должен создавать новые фильтры ловко. Да будет так…



