Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations"
If the dwFlags parameter specifies MOVEFILE_DELAY_UNTIL_REBOOT, MoveFileEx fails if it cannot access the registry. The function stores the locations of the files to be renamed at restart in the following registry value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Using MoveFileEx for WFP files (on boot)
It should be noted that MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT refuses to move/rename WFP-protected files unless the following registry value is set to 1:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\AllowProtectedRenames
For some reason, this information doesn't appear on this page, but is documented in the following MSDN page:
msdn.microsoft.com/en-us/library/aa381498(VS.85).aspx
This page states that the registry flag above must be set before any boot where protected files are to be replaced via
MoveFileEx and is deleted after reboot.
указанный логический диск либо папка будет отображаться как папка на другом логическом диске либо в другой папке
Потому как разбиение диска у среднестатистического пользователя выглядит так — диск 500Гб, под систему 100 Гб, остальное «под данные». При этом системный диск забит под завязку всякой порнухой в прямом и переносном смысле, а на втором две пустые скрытые папки — $Recycle.bin и System Volume Information.
ReFS
Нельзя говорить, что ОС говно только потому что вам не нравится новый интерфейс. Если он не нравится, то так и стоит говорить, сужая критику до интерфейса.
Динамика не хуже висты
Скорее всего при первой установке установщик ставит сервис для этого. Во всяком случае, теперь так принято.
Добавляется еще одна прослойка, которую надо проверить в поисках причины «ПОЧЕМУ НЕ РАБОТАЕТ». А количество этих прослоек как раз и стараются уменьшить, либо сделать их подконтрольными.
не хватило памяти ибо не удалось выделить кусок памяти для снятия дампапонятно :(
невозможности создания дампа памяти в случае BSODа вот об этом не знал
починить систему будет уже сложнее, и придётся сначала включать файл подкачки через сторонний загрузочный диска разве не в любом случае потребуется диск, если уж система сразу валится в BSOD? (тут я чайник, к счастью с таким сталкиваться не приходилось)
файла подкачки на системном диске, стоп, именно на системном?
однако, такое ведь возможно только при полном или почти полном забитии оперативки?
а разве не в любом случае потребуется диск, если уж система сразу валится в BSOD?
кстати, а часто бывает недостаточно информации с самого окошка смерти, чтоб выяснить причину, и приходиться лазить в дампы?
, стоп, именно на системном?
Для создания дампа, именно на системном, пусть даже маленькийПоследую совету )
бытует, вполне оправданное мнение, что разработчики ОС лучше знают как именно она работает, и какие режимы для неё более оптимальные
«оптимизированные» сборки ОС, собранные не понятно кем, и не понятно по каким соображениям
Например, по умолчанию, системой ставится плавающий размер свопа, однако практически все рекомендации по оптимизации начинаются с совета выставить минимальный и максимальный объём равными, чтоб избежать проблем с фрагментацией. Думается, не напрасно же?
Впрочем, это отдельная история, как и случай с системной службой, молча и паскудно стирающей с рабочего стола ярлыки к сетевым ресурсам, если их более трёх штук… как-нибудь надо собрать коллекцию подобных извращений
всяко удобнее поставить сборку с интегрированным набором софта и «свистелок», позволяющую в несколько кликов при установке получить систему, готовую к работе.… Так что как временный вариант всякие зверьдивиди очень даже полезны. и как резервная ОС потом сгодится.
Можно доказательство (aka пруф), ни разу такого не видел, чесслово :)
Говорят, что в SP1 это поведение (удаление) было исправлено.
так как такое количество является показателем того, что в дальнейшем их станет большехорошее правило. ну, на работе у меня только необходимые ярлыки висят и создаются. Вот дома да, рабочий стол потихоньку загаживается, надо чистить, как руки дойдут)
и как не странно если софт запущен — он так же сам обновляется
Отчасти верно, но мы ведь не в вакууме живём, правда? Наверняка у каждого есть друг/знакомый/т.п. который может помочь.
Отчасти верно, но мы ведь не в вакууме живём, правда? Наверняка у каждого есть друг/знакомый/т.п. который может помочь.
И поэтому удаление содержимого диска Цэ
(со)переживают с точки зрения профессионалов
«принимать стратегические решения управления компанией» и «запускать корабли на МКС»
Что-то я сомневаюсь, что этот кейс можно было бы автотестом выловить.
генерация инсталлятора и тестов из одного мета-описанияА если ошибка в этом описании? Ваш тест регулярно проверяет не работу человека а запрограммированную работу этих генераторов. Не?
Ценность генерации тестов и инсталлятора из одного мета описания не в том, что «ошибок меньше» — а в том, что тесты естьЭто очень странное заявление, если честно.
Выбирая между «ттестов нет» и «тесты есть автоматически, но один из типов ошибки они не поймают»А я и не предлагаю от тестов отказываться.
Да, тут есть двойная ручная работа — сначала описать содержимое в проекте инсталлера, а потом то же самое — для теста. Но двойная работа резко понижает возможность ошибиться дважды одинаково.
Так недолго и до пакетных менеджеров докатиться.
__COMPAT_LAYER
перед запуском, после чего запрос на повышение или не появится, или на него можно нажимать «нет», и приложение будет запущено. Вот vbscript, например:Set WshShell = CreateObject("WScript.Shell")
Set env = WshShell.Environment("PROCESS")
env. Item("__COMPAT_LAYER") = "RunAsInvoker"
WshShell.Run("target.exe")
Ошибка проявлялась в некоторых случаях, в основном у пользователей, которые использовали приложение для Windows под учетной записью «Администратор» или установили его в систему для всех пользователей.
И многие ли пользователи работают именно с оболочкой?
Оболочка не убъётся, если что-то выполняется, только по завершении операции, то есть когда она перестанет использоваться.
Занятый эксплорер не убьётся.
/tmp
хоть sticky-bit есть, который добавляет разграничение по пользователям. /tmp
добавить может каждый. Но писать — только владелец (при стандартном umask).mysql 1338 0.5 6.3 323688 198448 ? Ssl Apr16 1972:48 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/ postgres 1390 0.0 0.0 43500 688 ? Ss Apr16 1:05 /usr/lib/postgresql-9.1/bin/postgres -D /etc/postgresql-9.1/ --data-directory=/var/lib/postgresql/9.1/data --silent-mod postgres 1392 0.0 0.8 43500 26720 ? Ss Apr16 63:58 postgres: writer process postgres 1393 0.0 0.0 43500 1128 ? Ss Apr16 52:38 postgres: wal writer process postgres 1394 0.0 0.0 44060 1384 ? Ss Apr16 11:01 postgres: autovacuum launcher process postgres 1395 0.0 0.0 13844 488 ? Ss Apr16 9:34 postgres: stats collector process proftpd 1617 0.0 0.0 10728 636 ? Ss Apr16 5:34 proftpd: (accepting connections) merlin 1695 0.0 0.0 20716 640 ? S Apr16 14:17 1 autoconfig uWSGI master hardworm 1705 0.0 0.0 20708 520 ? S Apr16 14:13 1 messaging uWSGI master jabber 11952 0.0 0.0 1812 224 ? S Jul16 1:42 /usr/lib/erlang/erts-5.7.5/bin/epmd -daemon drwcs 12531 0.1 19.9 1206888 620816 ? Ssl Sep19 115:11 /opt/drwcs/bin/drwcsd-unsafe -home=/opt/drwcs -var-root=/var/opt/drwcs -etc=/var/opt/drwcs/etc -rotate=10,10m -verbosit postgres 12586 0.0 0.9 46452 31064 ? Ss Sep19 2:55 postgres: drwcs drwcs 127.0.0.1(33261) idle postgres 12587 0.0 0.9 47360 31144 ? Ss Sep19 3:01 postgres: drwcs drwcs 127.0.0.1(33262) idle postgres 12588 0.0 0.9 46536 31148 ? Ss Sep19 1:34 postgres: drwcs drwcs 127.0.0.1(33263) idle postgres 12589 0.0 1.0 47288 31416 ? Ss Sep19 1:56 postgres: drwcs drwcs 127.0.0.1(33264) idle postgres 12590 0.0 1.0 46748 31280 ? Ss Sep19 3:20 postgres: drwcs drwcs 127.0.0.1(33265) idle postgres 12591 0.0 1.0 46764 31284 ? Ss Sep19 2:35 postgres: drwcs drwcs 127.0.0.1(33266) idle postgres 12592 0.0 0.9 46596 29616 ? Ss Sep19 1:24 postgres: drwcs drwcs 127.0.0.1(33267) idle postgres 12593 0.0 0.9 46332 30412 ? Ss Sep19 1:02 postgres: drwcs drwcs 127.0.0.1(33268) idle postgres 12594 0.0 0.9 46336 30304 ? Ss Sep19 0:14 postgres: drwcs drwcs 127.0.0.1(33269) idle postgres 12595 0.0 0.9 46312 30752 ? Ss Sep19 0:48 postgres: drwcs drwcs 127.0.0.1(33270) idle ldap 12916 0.0 0.3 235968 10264 ? Ssl May27 253:48 /usr/lib/openldap/slapd -u ldap -g ldap clamav 22620 0.0 6.8 241968 214356 ? SNsl Apr24 114:05 /usr/sbin/clamd clamav 22627 0.0 0.0 13160 1384 ? SNs Apr24 71:18 /usr/bin/freshclam -d zabbix 31773 0.0 0.0 2888 460 ? SN Jul12 0:00 /usr/sbin/zabbix_agentd zabbix 31775 0.0 0.0 2888 784 ? SN Jul12 35:47 /usr/sbin/zabbix_agentd zabbix 31776 0.0 0.0 3128 968 ? SN Jul12 4:11 /usr/sbin/zabbix_agentd zabbix 31777 0.0 0.0 3128 968 ? SN Jul12 4:03 /usr/sbin/zabbix_agentd zabbix 31778 0.0 0.0 3128 972 ? SN Jul12 4:08 /usr/sbin/zabbix_agentd zabbix 31779 0.0 0.0 3128 968 ? SN Jul12 4:08 /usr/sbin/zabbix_agentd zabbix 31780 0.0 0.0 3128 968 ? SN Jul12 4:09 /usr/sbin/zabbix_agentd zabbix 31781 0.0 0.0 2960 772 ? SN Jul12 7:21 /usr/sbin/zabbix_agentd
у пользователей, которые использовали приложение для Windows под учетной записью «Администратор»
Первым делом хочу предупредить: главное — не удаляйте приложениеЭта часть мне особенно понравилась.
2013-11-30 10:18:04.413 CleanGarbage started...
2013-11-30 10:18:04.413 CleanUnpinnedFiles: C:\Users\ms\AppData\Roaming\Yandex\YandexDisk
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\Yandex\]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\AppData\] error: 145
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\AppData\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\Users\ms\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\] error: 145
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\Users\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\] error: 5
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\] error: 5
2013-11-30 10:18:04.415 RemoveDirectory: [C:\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.431 Command finished executed with exit code 0
2013-11-30 10:18:04.468 ACTION Start finished ["C:\Users\ms\AppData\Roaming\Yandex\YandexDisk\YandexDiskInstaller-4326.exe" -uninstall -user]: 0
Проблема заключается в том, что при обновлении Яндекс Диска установщик попытался удалить не только старую версию программы, но и весь системный раздел— Мда
"… Мы обязательно сделаем все возможное, чтобы подобная ситуация не повторялась в будущем." Яндекс
Если вы в процессе обновления Диска потеряли свои файлы, то «поднимите правую руку вверх повыше, а потом резко опустите и скажите, что ну и х*р с ними» (с)
C:\Users
или C:\Documents and settings
.Если автомобиль новой модели, изготовленный моей компанией, выехал из Чикаго на запад со скоростью 60 миль в час, — и заклинивает задний мост, машина разбивается и сгорает со всеми, кто попался в ловушку салона, — стоит ли моей компании возвращать модель на доработку?
Берем общее количество выпущенных машин данной модели (A), умножаем на вероятное количество машин с неисправностью (B), потом умножаем результат на среднюю стоимость решения вопроса без суда ( C). A умножить на B умножить на C. Равняется X. Столько стоит не возвратить модель на доработку.
Если X больше стоимости возврата — мы возвращаем машины, и никто больше не пострадает.
Если X — меньше стоимости возврата — возврата не будет.
заведомо предназначенных
6.1. Программы предоставляются на условиях «как есть» (as is). Правообладатель не предоставляет никаких гарантий в отношении безошибочной и бесперебойной работы Программ, соответствия Программ конкретным целям и ожиданиям Пользователя, а также не предоставляет никаких иных гарантий, прямо не указанных в настоящей Лицензии.
6.2. В максимальной степени, допустимой действующим законодательством, Правообладатель не несет никакой ответственности за какие-либо прямые или косвенные последствия какого-либо использования или невозможности использования Программ и/или ущерб, причиненный Пользователю и/или третьим сторонам в результате какого-либо использования или неиспользования Программ, в том числе из-за возможных ошибок или сбоев в работе Программ.
а ведь действия Яндекса, точнее его сотрудников могут попадать под действие УК РФ.
Статья 273. Создание, использование и распространение вредоносных компьютерных программ
… ни одного PR, где Анна и вообще где-хоть кто-нибудь?...
Благо в ноутбуках, если есть система на скрытом разделе — восстанавливать можно просто и быстро, в пару кликов. Хотя эта фиговина системный раздел именно форматирует, так что с одним логическим диском было бы всё несколько сложнее.
<irony>Вот как решали подобную проблему в другой компании:</irony>
В списке изменений исправлений в инсталлере не было, и акцент в тестировании был сделан на другие компоненты.
Приложением целую неделю пользовались все сотрудники Яндекса. Обычно этого времени хватает, чтобы обнаружить существенные баги.
допустив ошибку, которая проявляется не всегда и только под админской учеткой в Windows.
Опасайтесь бездумного применения команды cd %~dp0 без проверки результата выполнения. Теоретически, эта команда должна сменить текущий каталог на каталог, в котором расположен командный файл. Как правило, это работает. Однако возможны неожиданности. Однажды был написан простой командный сценарий, задача которого была просто удалить все каталоги рядом с собой. В «свою» директорию он переходил как раз через cd %~dp0. Все было проверено на локальной машине – работало замечательно. После этого сценарий был помещен на файл-сервер, где ему и полагалось быть. Я зашел с помощью Far в сетевой каталог, и для контрольной проверки решил запустить файл еще раз. Дальнейшее словно в тумане. cmd.exe правильно определил местонахождение bat-файла: \\servername\sharename\directory. Однако при попытке сделать туда cd, он сказал, что UNC-пути в качестве текущих каталогов не поддерживаются и лучше он сменит текущий каталог на C:\WINDOWS… Это было действительно мудрое решение… Часть сценария, отвечавшая за удаление всех каталогов, сработала отлично – хорошо, что я успел вовремя остановить это безумие.
В тот день я узнал, что такое System Restore…
MSI никогда не удалит папку, если в ней находится хоть один файл, который он не устанавливал.А такое поведение желательным для пользователя на самом деле не является. Зачем мне деинсталятор, если после него приходится до-удалять папку вручную?
Пользователь при этом осознает возможность возникновения технических неисправностей и сбоев в работе Сервиса и согласен с тем, что у Яндекса отсутствует техническая возможность предсказать их возникновение, уведомить о них Пользователя заблаговременно, либо полностью исключить вероятность их возникновения. Возникновение таких неисправностей или сбоев вне зависимости от причин и последствий не может быть основанием для применения к Яндексу мер ответственности.
И речь идет, к слову, о коммерческой компании, а не о свободных проектах или бесплатных сервисах.
Вы получили это письмо, так как пользуетесь нашей программой
Яндекс.Диск для Windows и недавно получали её обновление.
К сожалению, в одной из последних версий программы была допущена ошибка,
которая в редких случаях может привести к сбою в работе операционной системы.
Поэтому просим Вас убедиться, что на Вашем компьютере стоит стабильная
версия программы — от 1.1.8 и выше. Чтобы сделать это, кликните по значку Яндекс.Диска
в области уведомлений (в правом нижнем углу экрана), выберите пункт меню «Справка» и
затем — «О программе». Если текущая версия приложения имеет номер меньше, чем 1.1.8.,
нажмите на кнопку «Проверить обновления». Версия программы автоматически обновится.
Если у Вас появятся вопросы, напишите нам, пожалуйста, в службу поддержки.
Приносим свои извинения, если наша программа создала для Вас хоть какие-то проблемы.
Нам очень важно сохранить Ваше доверие, поэтому мы полностью пересмотрели
процесс разработки и тестирования наших продуктов, чтобы исключить подобные ошибки.
Чтобы сгладить неприятное впечатление от допущенной ошибки, мы увеличили
доступное для Вас пространство на Яндекс.Диске на 200 ГБ. Оставайтесь с нами.
C:\>dism.exe /online /cleanup-image /restorehealth
Cистема DISM
Версия: 6.1.7600.16385
Ошибка: 11
Нельзя обслуживать 64-разрядную операционную систему 32-разрядной версией системы DISM.
Следует использовать версию DISM, соответствующую архитектуре компьютера.
Файл журнала DISM находится по адресу C:\Windows\Logs\DISM\dism.log
C:\>%SystemRoot%\sysNative\Dism.exe /online /cleanup-image /restorehealth
Cистема DISM
Версия: 6.1.7600.16385
Версия образа: 6.1.7600.16385
Ошибка: 87
Параметр restorehealth не распознан в этом контексте.
Дополнительные сведения см. в справке.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Тот же Oracle, ведь — сначало всплывает окошко, что вышла новая версия JVM, и при каждом обновлении появляется UAC окошко с повышением правОй, не напоминайте об этом кошмаре! При обновлении сначала выдается окошко UAC, а при ответе «да» — в трее появляется маленькое ненавязчивое сообщение, что можно обновить Java. Ну кто, спрашивается, помешал им использовать другой порядок действий?
Были бы исходники, сообщество могло бы найти ошибку за пару лет до релиза.
Не могу представить ситуацию, когда инсталлятор quake под какую-либо операционную систему сносит мне /usr или C:Как будто открытость — панацея от ошибок, ну ну. Что же «сообщество» не спалило такой косячище в примере с Bumblebee из первого комментария? Опенсурс головного мозга какой-то.
Ошибка проявлялась в некоторых случаях, в основном у пользователей, которые использовали приложение для Windows под учетной записью «Администратор» или установили его в систему для всех пользователей.
^((?!succeeded).)*$
2013-11-30 11:43:50.428 CleanGarbage started... ... 2013-11-30 11:43:50.430 RemoveDirectory: [C:\Users\] error: 5 2013-11-30 11:43:50.430 RemoveDirectory: [C:\Users\] cannot be scheduled to delete on reboot ...
Обновление Яндекс Диска привело к неработоспособности Windows и программ