C windows softwaredistribution datastore что за папка

Для чего нужна папка SoftwareDistribution в Windows. Можно ли ее удалить и как это сделать.

Когда на системном разделе жестком диске компьютера становится слишком мало свободного места, то обычно начинается поиск виновных. Хотя зачастую в этом виноват сам пользователь, неправильно выбравший его размер. Поиски наиболее объемных папок часто приводят к папке WinSxS которую мы уже рассматривали ранее. Тем не менее порой внимание привлекает внимание, и папка C:WindowsSoftwareDistribution хотя конечно она имеет гораздо более скромные размеры.

SoftwareDistribution — это папка, используемая службой обновления Windows для загрузки обновлений на компьютер с последующей их установкой, а также хранит сведения обо всех ранее установленных обновлениях. После установки, они остаются там еще некоторое время, а затем удаляются системой автоматически. Она присутствует во всех версиях Windows от XP и до 10.

Отсюда можно сделать вывод, что в нормально работающей операционной системе папка %systemroot%SoftwareDistributionDownload не требует к себе внимания пользователя, поскольку система следит за ней самостоятельно и обычно она имеет вес в несколько сотен мегабайт, иногда до 1 ГБ.

Однако иногда в силу различных причин она может весить заметно больше и тогда появляется желание освободить занимаемое ей место на HDD. Возникает вопрос, можно ли удалить папку SoftwareDistribution?

В принципе можно, но нужно понимать, что Windows автоматически создаст ее снова чтобы сохранять в нее установочные файлы обновлений. К тому же из-за удаления хранилища данных служба обновления Windows будет в следующий раз синхронизироваться с серверами Майкрософт довольно долго. В силу выше означенных причин без ярко выраженных проблем в виде слишком большого размера или возникновения ошибок при установке обновлений трогать ее не имеет смысла.

Лучше ограничиться очисткой папки SoftwareDistribution Download, так как удаление папки DataStore включая DataStore.edb, а также ReportingEvents.log приведет к упомянутым выше последствиям. На всякий случай перед манипуляциями с ней можно создать ее резервную копию или просто переименовать, чтобы в случае необходимости можно было вернуть ее обратно. Удалить SoftwareDistribution можно в графическом интерфейсе или с помощью командной строки. Кстати, если у вас вдруг в компьютере окажутся папки с именами типа SoftwareDistribution.old или SoftwareDistribution.bak их можно смело удалять, так как это просто копии, созданные кем-то.

Для этого потребуются права администратора компьютера. Чтобы иметь возможность что-то сделать с этой папкой, сначала нужно остановить службу «Центр обновления Windows» (в XP это служба «Автоматическое обновление») которая блокирует операции с файлами. Это можно сделать несколькими способами, вот несколько вариантов.

  • Пройти по пути «Пуск» ⇒ «Панель управления» ⇒ «Администрирование» ⇒ «Службы» (XP и 7)
  • запустить Диспетчер задач нажав Ctrl+Shift+Esc на клавиатуре и перейдя на вкладку «Службы» нажать одноименную кнопку в низу окна (Windows 7, 8 и 10)
  • нажать комбинацию клавиш WIN+R и набрав команду services.msc нажать OK или Enter

Любым из перечисленных способов вы попадете в оснастку Службы, где ищем пункт «Центр обновления Windows» («Автоматическое обновление» в XP) выбираем его и на панели инструментов и нажимаем кнопку «Остановка службы».

services windows

В Windows 7, 8 и 10 останавливать и запускать службы можно непосредственно в Диспетчере задач выделив нужную службу, щелкаете по ней правой кнопкой мыши и выбираете в контекстном меню соответствующий пункт.

Теперь, когда служба остановлена можно в Проводнике переименовать или очистить папку SoftwareDistribution. Возможно в некоторых случаях может потребоваться так же остановить службу «Фоновая интеллектуальная служба передачи (BITS)» для разблокировки папки.

По окончании всех манипуляций с папкой запускаем остановленные службы обратно нажав на соответствующую кнопку в службах.

Как очистить папку SoftwareDistribution в командной строке

Все выше приведенные манипуляции можно выполнить с помощью командной строки или используя bat файл. Для этого открываем командную строку от имени администратора и вводим по одной следующие команды

cd %systemroot%
net stop wuauserv
rd /q /s SoftwareDistribution
net start wuauserv

cmd SoftwareDistribution

В первой строке мы перешли в папку Windows чтобы не указывать пути к папке, во второй остановили службу обновления, в третьей удалили папку SoftwareDistribution вместе со всеми подкаталогами и в четвертой снова запустили службу обновления. На этом собственно все, папка удалена. Вот еще несколько команд которые могут оказаться полезными.

Остановить службу BITS

net stop BITS

Переименовать папку в SoftwareDistribution_old

ren SoftwareDistribution SoftwareDistribution_old

Удалить только папку Download со всем содержимым из папки SoftwareDistribution

rd /q /s SoftwareDistributionDownload

Другие команды если потребуется легко получить из приведенных примеров или воспользоваться встроенной справкой командной строки.

Теперь вы знаете, что softwaredistribution можно удалить в случае необходимости и это можно сделать несколькими способами.

Содержание

  • Очистка базы
  • Восстановление работоспобности базы
  • Очистка Windows
  • Обновление драйверов
  • Откат системы
  • Проверка системных файлов
  • Проверка Windows антивирусом

Datastore.edb — база данных, содержащая обновления текущей версии Windows и историю закачек, инсталляций патчей для неё. Она связана с системным приложением Third Party Application. Полностью удалять из системы этот файл и директорию, в которой он расположен, нельзя. Чтобы уменьшить его размеры, применяется специальная оптимизация (выборочная очистка и обновление элементов). А в случае возникновения системных ошибок, связанных с Datastore.edb, проводятся работы по восстановлению её целостности и работоспособности.

Очистка базы

1. Во избежание программных конфликтов отключите модуль обновлений ОС:

раздел «Службы»

  • откройте: Пуск → Панель управления;
  • в опции «Просмотр» выставьте дизайн разделов — «Крупные значки»;
  • щёлкните 2 раза в списке «Администрирование» раздел «Службы»;
  • клацните подраздел «Центр обновления Windows»;
  • щёлкните настройку «Тип запуска» и установите статус «Отключена»;
  • нажмите «OK».

заключение службы

Также запуск апдейта ОС можно отключить в командной строке. Чтобы воспользоваться этим методом, выполните следующее:

  • щёлкните значок «Пуск»;
  • в поле «Найти… » наберите — CMD;
  • клацните правой кнопкой по появившейся одноимённой иконке вверху окна меню;
  • запустите команду «Запуск от имени администратора»;
  • в строке консоли введите команду — net stop wuauserv;
  • нажмите «Enter».

консоль

2. Нажмите комбинацию клавиш — «Win» + «R».

3. Вставьте в строчку «Открыть» этот путь:

%systemroot%SoftwareDistributionDataStore

окно "Выполнить"

4. Удалите в открывшейся папке всё содержимое:

  • переместите курсор в открывшееся окно;
  • нажмите вместе «Ctrl +A» (команда «Выделить всё»);
  • кликните правой кнопкой по подсвеченным элементам;
  • нажмите «Удалить» в выпавшем списке.

удаление файлов

5. Таким же образом (пункты №3 и №4 текущей инструкции) очистите директорию:

%systemroot%SoftwareDistributionDownload

6. По завершении процедуры удаления при необходимости можно снова включить модуль обновления:

Через «Пуск»: Панель управления → Администрирование → Службы → Центр обновления Windows → в «Тип запуска» установить «Автоматически» → кнопка «Запустить»;

запуск службы

В консоли «CMD»: введите директиву — net start wuauserv; нажмите «Enter».

7. Из Панели управления перейдите в раздел «Система и безопасность» → «Центр обновления Windows» → «Поиск обновлений».

обновление Windows

8. Загрузите и установите найденные патчи в операционную систему (следуйте инструкциям модуля).

Восстановление работоспобности базы

Если в ходе эксплуатации системы на дисплее появляются ошибки, в которых фигурирует имя базы («…» в сообщениях — Datastore.edb):

  • Не удалось загрузить … ;
  • Отсутствует файл… ;
  • Не удалось зарегистрировать… ;
  • Ошибка загрузки… ;
  • Ошибка выполнения… ;
  • … не найден.

Попробуйте задействовать одну из нижепредставленных инструкций по устранению неполадок базы.

Очистка Windows

1. Откройте окно «Выполнить».

2. Введите команду — cleanmgr.

3. Нажмите «OK».

запуск cleanmgr

4. После анализа директорий выберите в дополнительной панели — «Диск C» (системный раздел).

5. В окне «Очистка диска» щелчком левой кнопки поставьте флажки напротив элементов, нуждающихся в очистке (обновления, отчёты, архивы, временные файлы и т.д.).

выбор элементов

6. Клацните «OK», чтобы запустить нейтрализацию бесполезных элементов в системе.

7. Перезагрузите ПК

Обновление драйверов

Проверьте работоспособность драйверов подключенных устройств; установите, насколько актуальны их версии и при необходимости обновите посредством специальных утилит (задействуйте одно из представленных решений):

Snappy Driver Installer

(https://sdi-tool.org/)
Огромная база драйверов с удобным графическим интерфейсом. Выполняет инсталляцию программной поддержки без интернет-соединения. Может запускаться с флешки. Распространяется бесплатно, без рекламных модулей и шпионского ПО. Совместима со всеми версиями ОС семейства Windows («семёрка», «восьмёрка», «десятка»).

Snappy Driver Installer

DriverDoc

(http://www.driverdoc.com/index.html)
Утилита-база. Содержит свыше 16 млн. драйверов, программно поддерживающих как стандартное, так и специфическое оборудование. Автоматически определяет аппаратную конфигурацию компьютера и грамотно подбирает драйвера ко всем имеющимся девайсам. Выполняет чистую установку и апдейты на уже имеющиеся оболочки.

DriverDoc

Примечание. Рассмотренные решения не являются единственными. В глобальной Сети можно найти другие, не уступающие по качеству инсталляторы драйверов. Например, DriverPack Solution.

Откат системы

1. Клацните «Пуск».

2. Напечатайте в поле «Найти программы» — восстановление системы. Нажмите «Enter».

3. В новом окне щелчком установите настройку «Выбрать другую точку… ». Кликните «Далее».

восстановление системы

4. Выберите в списке точку восстановления. Обращайте внимание на описание резервной копии настроек и даты создания. После отката Windows вернётся к настройкам, сохранённым в точке.

точки восстановления

5. Нажмите «Далее».

6. Чтобы запустить восстановление, клацните «Готово».

запуск восстановления

7. Перезапустите систему.

Проверка системных файлов

1. Откройте консоль командной строки (см. «Очистка базы», пункт №1).

2. Введите команду — sfc /scannow.

sfc /scannow

3. По окончании проверки следуйте подсказам, отображённым в консоли, чтобы устранить повреждения файлов.

Проверка Windows антивирусом

Причиной появления ошибок в работе Datastore.edb может являться деятельность зловредов — троян, червей, шпионских программ. Если вам не удаётся избавиться от неполадок базы штатными средствами и спецутилитами, проверьте ПК на вирусы альтернативным антивирусным сканером. Например, Dr.Web CureIt!, AdwCleaner, Malwarebytes Anti-Malware и др.

Благополучной настройки Windows!

04.04.2019 Windows Задать вопросНаписать пост

Очень часто пользователю приходится вручную чистить жесткий диск от ненужных файлов и папок, когда он сталкивается с проблемой свободного пространства. Названия и назначения некоторых папок неопытный пользователь не знает, но существует системная папка SoftwareDistribution, которая позволяет освободить несколько гигабайт памяти компьютера.

Что это за папка

Папка «SoftwareDistribution» в операционной системе Windows 7, 8 и 10 располагается на локальном диске C в системной директории «Windows». В ней содержатся файлы обновлений системы, некоторые из которых возможно удалить. Для этого откройте каталог с загрузками (C:WindowsSoftwareDistributionDownloads), где собраны все апдейты, которые скачиваются с официального сайта Microsoft.

После установки они становятся не нужны и превращаются в системный мусор. Аналогичная ситуация с директорией DataStore, где хранится история обновлений. Ее размер также может достигать нескольких гигабайт.Расположение файла

Способы удаления

После скачивания новых дистрибутивов, папки автоматически создадутся снова, даже если были удалены. Поэтому эти действия способны только временно освободить достаточное количество места на жестком диске. Следует рассмотреть варианты удаления, чтобы правильно произвести процедуру.

Интерфейс Windows

Если автообновление системы активировано, то удалить каталог стандартным способом не получится. Поэтому необходимо временно отключить функцию во время выполнения удаления. Для этого сделайте следующее:

  1. Зайдите в раздел «Центр обновления Windows» через панель управления или посредством поиска.Центр обновления
  2. В открывшемся окне перейдите в раздел «Настройка параметров».Настройка параметров
  3. Выберите пункт «Не проверять наличие обновлений», затем уберите галочку напротив параметра о получении рекомендуемых обновлений, нажмите на кнопку ОК.

После проделанной операции можно удалить директорию нажатием правой кнопкой мыши.Удаление папки

Командная строка

Также система позволяет отключить автообновления через командную строку, перейдя непосредственно к службам. Для этого:

  1. Нажмите комбинацию клавиш Win+R и введите команду: services.msc, затем нажмите на кнопку ОК.Окно Выполнить
  2. В открывшемся окне найдите нужный пункт и кликните по нему дважды.Окно служб
  3. В свойствах службы во вкладке «Общие» в разделе Состояние, нажмите на кнопку «Остановить», затем в строке «Тип запуска» выберите параметр «Отключена». Затем подтвердите действие кнопкой ОК.остановка службы

Переименование папки

Если при удалении возникает ошибка, то попробуйте переименовать директорию SoftwareDistribution, остановив перед этим службу обновлений. Можно просто добавить любой символ к названию каталога. Затем нужно повторить операцию очистки снова. Если получилось, то не забудьте включить службы обновления или вернуть каталогу исходное имя.

Reader Interactions

Содержание

  • 1 Что это за папка
  • 2 Способы удаления
  • 3 Переименование папки
  • 4 Читайте также:
  • 5 Как удалить SoftwareDistribution в графическом интерфейсе
  • 6 Как очистить папку SoftwareDistribution в командной строке
  • 7 SoftwareDistribution — что это за папка?
  • 8 Можно ли удалить папку SoftwareDistribution? Не полетит ли Windows?
  • 9 Как правильно удалить папку SoftwareDistribution

Очень часто пользователю приходится вручную чистить жесткий диск от ненужных файлов и папок, когда он сталкивается с проблемой свободного пространства. Названия и назначения некоторых папок неопытный пользователь не знает, но существует системная папка SoftwareDistribution, которая позволяет освободить несколько гигабайт памяти компьютера.

Что это за папка

Папка «SoftwareDistribution» в операционной системе Windows 7, 8 и 10 располагается на локальном диске C в системной директории «Windows». В ней содержатся файлы обновлений системы, некоторые из которых возможно удалить. Для этого откройте каталог с загрузками (C:WindowsSoftwareDistributionDownloads), где собраны все апдейты, которые скачиваются с официального сайта Microsoft.

После установки они становятся не нужны и превращаются в системный мусор. Аналогичная ситуация с директорией DataStore, где хранится история обновлений. Ее размер также может достигать нескольких гигабайт.softwaredistribution_chto_eto1.jpg

Способы удаления

После скачивания новых дистрибутивов, папки автоматически создадутся снова, даже если были удалены. Поэтому эти действия способны только временно освободить достаточное количество места на жестком диске. Следует рассмотреть варианты удаления, чтобы правильно произвести процедуру.

Интерфейс Windows

Если автообновление системы активировано, то удалить каталог стандартным способом не получится. Поэтому необходимо временно отключить функцию во время выполнения удаления. Для этого сделайте следующее:

  1. Зайдите в раздел «Центр обновления Windows» через панель управления или посредством поиска.softwaredistribution_chto_eto2.jpeg
  2. В открывшемся окне перейдите в раздел «Настройка параметров».softwaredistribution_chto_eto3.jpeg
  3. Выберите пункт «Не проверять наличие обновлений», затем уберите галочку напротив параметра о получении рекомендуемых обновлений, нажмите на кнопку ОК.

После проделанной операции можно удалить директорию нажатием правой кнопкой мыши.softwaredistribution_chto_eto4.jpeg

Командная строка

Также система позволяет отключить автообновления через командную строку, перейдя непосредственно к службам. Для этого:

  1. Нажмите комбинацию клавиш Win+R и введите команду: services.msc, затем нажмите на кнопку ОК.softwaredistribution_chto_eto5.jpeg
  2. В открывшемся окне найдите нужный пункт и кликните по нему дважды.softwaredistribution_chto_eto6.jpeg
  3. В свойствах службы во вкладке «Общие» в разделе Состояние, нажмите на кнопку «Остановить», затем в строке «Тип запуска» выберите параметр «Отключена». Затем подтвердите действие кнопкой ОК.softwaredistribution_chto_eto7.jpeg

  Способы установки шрифтов в Windows

Переименование папки

Если при удалении возникает ошибка, то попробуйте переименовать директорию SoftwareDistribution, остановив перед этим службу обновлений. Можно просто добавить любой символ к названию каталога. Затем нужно повторить операцию очистки снова. Если получилось, то не забудьте включить службы обновления или вернуть каталогу исходное имя.

Читайте также:

SoftwareDistribution.png

Когда на системном разделе жестком диске компьютера становится слишком мало свободного места, то обычно начинается поиск виновных. Хотя зачастую в этом виноват сам пользователь, неправильно выбравший его размер. Поиски наиболее объемных папок часто приводят к папке WinSxS которую мы уже рассматривали ранее. Тем не менее порой внимание привлекает внимание, и папка C:WindowsSoftwareDistribution хотя конечно она имеет гораздо более скромные размеры.

SoftwareDistribution — это папка, используемая службой обновления Windows для загрузки обновлений на компьютер с последующей их установкой, а также хранит сведения обо всех ранее установленных обновлениях. После установки, они остаются там еще некоторое время, а затем удаляются системой автоматически. Она присутствует во всех версиях Windows от XP и до 10.

Отсюда можно сделать вывод, что в нормально работающей операционной системе папка %systemroot%SoftwareDistributionDownload не требует к себе внимания пользователя, поскольку система следит за ней самостоятельно и обычно она имеет вес в несколько сотен мегабайт, иногда до 1 ГБ.

Однако иногда в силу различных причин она может весить заметно больше и тогда появляется желание освободить занимаемое ей место на HDD. Возникает вопрос, можно ли удалить папку SoftwareDistribution?

В принципе можно, но нужно понимать, что Windows автоматически создаст ее снова чтобы сохранять в нее установочные файлы обновлений. К тому же из-за удаления хранилища данных служба обновления Windows будет в следующий раз синхронизироваться с серверами Майкрософт довольно долго. В силу выше означенных причин без ярко выраженных проблем в виде слишком большого размера или возникновения ошибок при установке обновлений трогать ее не имеет смысла.

Лучше ограничиться очисткой папки SoftwareDistribution Download, так как удаление папки DataStore включая DataStore.edb, а также ReportingEvents.log приведет к упомянутым выше последствиям. На всякий случай перед манипуляциями с ней можно создать ее резервную копию или просто переименовать, чтобы в случае необходимости можно было вернуть ее обратно. Удалить SoftwareDistribution можно в графическом интерфейсе или с помощью командной строки. Кстати, если у вас вдруг в компьютере окажутся папки с именами типа SoftwareDistribution.old или SoftwareDistribution.bak их можно смело удалять, так как это просто копии, созданные кем-то.

Как удалить SoftwareDistribution в графическом интерфейсе

Для этого потребуются права администратора компьютера. Чтобы иметь возможность что-то сделать с этой папкой, сначала нужно остановить службу «Центр обновления Windows» (в XP это служба «Автоматическое обновление») которая блокирует операции с файлами. Это можно сделать несколькими способами, вот несколько вариантов.

  • Пройти по пути «Пуск» ⇒ «Панель управления» ⇒ «Администрирование» ⇒ «Службы» (XP и 7)
  • запустить Диспетчер задач нажав Ctrl+Shift+Esc на клавиатуре и перейдя на вкладку «Службы» нажать одноименную кнопку в низу окна (Windows 7, 8 и 10)
  • нажать комбинацию клавиш WIN+R и набрав команду services.msc нажать OK или Enter

Любым из перечисленных способов вы попадете в оснастку Службы, где ищем пункт «Центр обновления Windows» («Автоматическое обновление» в XP) выбираем его и на панели инструментов и нажимаем кнопку «Остановка службы».

services_windows.png

В Windows 7, 8 и 10 останавливать и запускать службы можно непосредственно в Диспетчере задач выделив нужную службу, щелкаете по ней правой кнопкой мыши и выбираете в контекстном меню соответствующий пункт.

Теперь, когда служба остановлена можно в Проводнике переименовать или очистить папку SoftwareDistribution. Возможно в некоторых случаях может потребоваться так же остановить службу «Фоновая интеллектуальная служба передачи (BITS)» для разблокировки папки.

По окончании всех манипуляций с папкой запускаем остановленные службы обратно нажав на соответствующую кнопку в службах.

Как очистить папку SoftwareDistribution в командной строке

Все выше приведенные манипуляции можно выполнить с помощью командной строки или используя bat файл. Для этого открываем командную строку от имени администратора и вводим по одной следующие команды

cd %systemroot%  net stop wuauserv  rd /q /s SoftwareDistribution  net start wuauserv

cmd_SoftwareDistribution.png

В первой строке мы перешли в папку Windows чтобы не указывать пути к папке, во второй остановили службу обновления, в третьей удалили папку SoftwareDistribution вместе со всеми подкаталогами и в четвертой снова запустили службу обновления. На этом собственно все, папка удалена. Вот еще несколько команд которые могут оказаться полезными.

Остановить службу BITS

net stop BITS

Переименовать папку в SoftwareDistribution_old

ren SoftwareDistribution SoftwareDistribution_old

Удалить только папку Download со всем содержимым из папки SoftwareDistribution

rd /q /s SoftwareDistributionDownload

Другие команды если потребуется легко получить из приведенных примеров или воспользоваться встроенной справкой командной строки.

Теперь вы знаете, что softwaredistribution можно удалить в случае необходимости и это можно сделать несколькими способами.

Добавить комментарий

by Юрий Белоусов · 07.04.2017

SoftwareDistribution: Что это за папка Windows 7, 10, можно ли ее удалить?

Некоторые пользователи популярной ОС Windows желают знать, что за папка SoftwareDistribution в директории Windows и можно ли ее удалить без последствий для работы операционной системы?

В этой статье разберемся с этими вопросами.

SoftwareDistribution — что это за папка?

SoftwareDistribution (дословно с англ Распространение программного обеспечения) – это папка содержащая файлы обновления системы Windows. Папка присутствует в ОС версии 7, 8 и 10.

Где можно найти папку SoftwareDistribution? Путь расположения: C:WindowsSoftwareDistribution.

SoftwareDistribution-chto-e%60to-za-papka-i-mozhno-li-udalit.jpg

В директории C:WindowsSoftwareDistributionDownload хранятся файлы обновления, загруженные с серверов Microsoft Windows. Вес папки Download напрямую зависит от того сколько обновлений операционной системы было сделано. Иногда вес может достигать нескольких гигабайт.

Стоит отметить, что после установки обновления файлы обновления больше не нужны. И по факту превращается в «Системный мусор».

DataStore – еще одна папка с временными файлами, в которой хранится история обновлений. Так же зачастую имеет большой вес.

Остальные папки (AuthCabs, EventCache, PostRebootEventCache, ScanFile, SelfUpdate, WuRedir) так же содержат файлы обновления или кэша.

Можно ли удалить папку SoftwareDistribution? Не полетит ли Windows?

Если на компьютере ощущается острая нехватка свободного места, то пользователь после непродолжительного осмотра размеров файлов в папке Windows наверняка обратит свое внимание на папку SoftwareDistribution и задаст вопрос: «Можно ли удалить папку SoftwareDistribution?».

Ответ: ДА, можно смело очистить папку. На работу системы это никак не повлияет.

Можно так же отдельно удалить папки Download и DataStore.

Как правильно удалить папку SoftwareDistribution

Чтобы удалить папку SoftwareDistribution в Windows нужно сделать следующее:

  1. Открыть Центр обновления Windows. Можно найти через Пуск или зайти через Панель управления;TSentr-obnovleniy-Windows.jpg
  2. Далее нужно перейти в «Настройки параметров»;Nastroyki-parametrov-tsentra-obnovleniy-Vindovs.jpg
  3. Убрать галочку с «Получать рекомендуемы обновления»;
  4. После внесения изменений нажать «ОК».

Готово! Теперь можно смело удалять все содержимое папки SoftwareDistribution. Можно даже удалить саму папку SoftwareDistribution, ведь в случае повторной загрузки обновлений Windows сам автоматически ее создаст.

Никаких ошибок или глюков можно не опасаться. Чтобы убедиться можно переименовать папку и перезагрузить компьютер.

Для очистки компьютера от лишних файлов советую установить CCleaner (Есть кстати и CCleaner для смартфонов).

SoftwareDistribution.old – папка с устаревшими файлами обновления Виндовс.

Надеюсь, статья «SoftwareDistribution: Что это за папка Windows 7, 10, можно ли ее удалить?» была вам полезна.

Используемые источники:

  • http://composs.ru/chto-za-papka-softwaredistribution/
  • https://beginpc.ru/windows/folder-softwaredistribution-windows
  • http://goodquestion.ru/softwaredistribution-papka-windows/

Вы когда-нибудь задумывались, с помощью чего формируется список установленных обновлений Windows? А через какое API его достать? Ответы на эти и другие возникающие вопросы я постараюсь дать в своём небольшом исследовании.

Предыстория или с чего всё началось.

В нашей компании каждый год проходит конференция молодых специалистов, где каждый участник может решить проблему какого-либо отдела (список тем заранее предлагается).

Раньше на каждое «ТО» с помощью WSUS подтягивались все выпущенные обновления и распространялись на все машины. Также периодически выходили ТСБ (технические сервисные бюллетени), в которых указывалось, что требуется установить необходимые обновления в виде изолированных пакетов. В итоге у нас накапливаются обновления, которые в WSUS отследить нельзя, а можно было увидеть только через панель управления в разделе «Установленные обновления».

Наглядная схема обновления

Бывают ситуации, когда АРМ или сервер «падает» и приходится его восстанавливать из образа, созданного некоторое время назад. При восстановлении из образа есть вероятность того, что мы можем потерять нужные нам обновления (которые пришли в виде изолированных пакетов), которые устанавливались до падения машины. Объяснил максимально подробно насколько мог, потому что уточнения будут уже коммерческой тайной.

Вот поэтому и возникла идея создать программу, которая бы могла извлечь этот список обновлений (желательно удаленно по локальной сети), записать в файл/базу, сравнить текущий перечень с неким шаблоном и выдать сообщение на SCADA систему через один из протоколов — SNMP, OPC.

Как вы могли догадаться из названия статьи, уже на выборе метода получения списка у меня возникла непростая задача. Я, как обычно, решил поискать нужное в поисковике, задал вопросы на профильных ресурсах (раз, два, на английском stackoverflow почему-то не понравился мой вопрос и его пришлось удалить), но все ответы не давали нужного результата. Поэтому пришлось разбираться самому, о чем и пойдет речь далее.

Консольные команды

Начнем с простого и воспользуемся тем, что предлагает нам Windows без использования сторонних средств. Это можно сделать с помощью следующих команд:

  • wmic qfe list
  • systeminfo
  • dism /online /get-packages
  • через PowerShell:
    • Get-HotFix
    • Get-SilWindowsUpdate (доступно только в серверных редакциях)
    • Get-WmiObject -Class win32_quickfixengineering — через доступ к WMI классу win32_quickfixengineering (о WMI чуть позже)

Получить список через графический интерфейс можно через стандартный пункт Панели управления «Установка/удаление программ», но скопировать оттуда мы ничего не можем. Каждый инструмент панели управления представлен файлом .cpl в папке WindowsSystem. Файлы .cpl в системную папку Windows автоматически загружаются при запуске панели управления. За пункт Программы отвечает файл Appwiz.cpl. Его анализ ни к чему не привел.

Вывод консольной команды можно перенаправить в файл и дальше начать его парсить, но это неправильно, плюс вызов программы (по правилам СБ не пройдет) и об удаленном получении списка речь не идёт. Поэтому предлагаю вам просто вызвать команды, сравнить количество обновлений в каждом списке, со списком через Панель управления и продолжить наше расследование дальше.

Формально все методы получения списка обновлений можно разделить на две группы: локальные и сетевые.

Локальные и сетевые методы получения информации

Все методы проверялись на чистых образах систем (Windows 7, 8, Server 2012 R2) с интегрированными обновлениями, после каждого обновления через Центр обновления с официальных серверов Microsoft проводилась дополнительная проверка. Остановимся на каждом из них подробнее.

WUA

WUApi (Windows Update Agent API) — использование API агента обновления Windows. Самый явный вариант, название которого говорит само за себя. Использовать для этого будем библиотеку Wuapi.dll.

Примечание: далее для своего удобства все результаты я буду вставлять в List. Это, возможно, не рационально, но тогда мне это казалось хорошей идеей.

Пример реализации

using WUApiLib;

public static List<string> listUpdateHistory()
{
	//WUApi
	List<string> result = new List<string>(200);

	try
	{
		UpdateSession uSession = new UpdateSession();
		IUpdateSearcher uSearcher = uSession.CreateUpdateSearcher();
		uSearcher.Online = false;
		ISearchResult sResult = uSearcher.Search("IsInstalled=1 And IsHidden=0");

		string sw = "Количество обновлений через WUApi: " + sResult.Updates.Count;
		result.Add(sw);
		foreach (WUApiLib.IUpdate update in sResult.Updates)
		{
			result.Add(update.Title);
		}
	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}
	
	return result;
}

Есть и вторая вариация этого метода: Update Session — получение информации с помощью подключения к сессии обновления Windows Update Agent (в данном случае работаем не напрямую с библиотекой).

Пример реализации

public static List<string> Sessionlist(string pc)
{
	List<string> result = new List<string>(50); //не забудь изменить количество

	object sess = null;
	object search = null;
	object coll = null;

	try
	{
		sess = Activator.CreateInstance(Type.GetTypeFromProgID("Microsoft.Update.Session", pc));
		search = (sess as dynamic).CreateUpdateSearcher();

		int n = (search as dynamic).GetTotalHistoryCount();
		int kol = 0;
		//coll = (search as dynamic).QueryHistory(1, n);
		coll = (search as dynamic).QueryHistory(0, n);

		result.Add("Количество через Update.Session: " + n);
		foreach (dynamic item in coll as dynamic)
		{
			if (item.Operation == 1) result.Add(item.Title);
			kol++;
			//Console.WriteLine("Количество: " + kol);
		}
		result.Add("Количество в цикле: " + kol);
	}
	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}
	finally
	{
		if (sess != null) Marshal.ReleaseComObject(sess);
		if (search != null) Marshal.ReleaseComObject(search);
		if (coll != null) Marshal.ReleaseComObject(coll);
	}

	return result;
}

Microsoft подсказывает об удаленном использовании API.

Главный минусы этих двух методов — не позволяют найти исправления KB, которые не распространяются через Центр обновления Windows. Можно увидеть только то, что прошло через сам агент обновления, то есть данный вариант нас не устраивает.

DISM

Система обслуживания образов развертывания и управления ими (Deployment Image Servicing and Management) — это средство командной строки, которое может использоваться для обслуживания образа Windows или для подготовки образа среды предустановки Windows (Windows PE). Является заменой диспетчера пакетов (Pkgmgr.exe), PEimg и Intlcfg.

Данная утилита используется для интеграции обновлений, сервис паков в образ системы. Обновления Windows представляют собой отдельные модули, которые могут быть представлены в нескольких вариантах:

  • .cab-файлы (Cabinet) — архивы. Предназначены для распространения и установки при помощи модулей Центра обновлений Windows в автоматизированном режиме;
  • .msu-файлы (Microsoft Update Standalone Package) — исполняемые файлы. Предназначены для распространения и установки самими пользователями в ручном режиме через каталог обновлений Microsoft. Фактически представляют собой упакованный набор, состоящий из .cab-, .xml, .txt-файлов.

Ранее упомянутая команда dism /online /get-packages отображает основную информацию обо всех пакетах в wim образе/текущей системе. Microsoft позаботилась о нас и предоставляет NuGet packages для удобного использования API.

Пример реализации

using Microsoft.Dism;

public static List<string> DISMlist()
{
	List<string> result = new List<string>(220);

	try
	{
		DismApi.Initialize(DismLogLevel.LogErrors);
		var dismsession = DismApi.OpenOnlineSession();
		var listupdate = DismApi.GetPackages(dismsession);

		int ab = listupdate.Count;
		//Console.WriteLine("Количество обновлений через DISM: " + ab);
		string sw = "Количество обновлений через DISM: " + ab;
		result.Add(sw);

		foreach (DismPackage feature in listupdate)
		{
			result.Add(feature.PackageName);
			//result.Add($"[Имя пакета] {feature.PackageName}");
			//result.Add($"[Дата установки] {feature.InstallTime}");
			//result.Add($"[Тип обновления] {feature.ReleaseType}");
		}
	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}

	return result;
}

Количество обновлений совпадало с количеством из списка Панели управления до первого апдейта через центр управления — после него количество обновлений стало меньше (было 214, стало 209), хотя по логике они должны были увеличиться. Примеры вывода До обновления, После обновления.

С чем это связано я могу только предполагать — возможно, какие-то обновления замещали предыдущие, следовательно, и количество стало меньше.

Чуть позже я наткнулся на утилиту от китайцев DISM++, которая основана не на DISM API или DISM Core API, но имеющиеся в ней библиотеки не имеют нужных мне открытых методов, поэтому я забросил эту идею и продолжил поиски дальше.

WSUS

Windows Server Update Services (WSUS) — сервер обновлений операционных систем и продуктов Microsoft. Сервер обновлений синхронизируется с сайтом Microsoft, скачивая обновления, которые могут быть распространены внутри корпоративной локальной сети. Опять же специальный инструмент, предназначенный для работы с обновлениями.

Распространяется только на серверных редакциях ОС Windows, поэтому был развернут следующий стенд:

  • основная система – Windows Server 2016;
  • а через систему виртуализации Hyper-V были развернуты две клиентские ОС:
    • Windows 8.1
    • Windows 7

Все системы соединены в единую виртуальную локальную сеть, но

без выхода в сеть Интернет

.

Немного советов

Чтобы не выделять раздел жесткого диска для новой системы я пользуюсь WinNTSetup и устанавливаю систему в VHD диски — загрузчик, начиная с Windows 7 (редакций Professional/Ultimate), прекрасно справляется с загрузкой с образа диска. Полученные таким образом диски можно спокойно использовать и в Hyper-V — убиваете сразу двоих зайцев. Не забудьте только сделать заранее копию хранилища BCD через команду bcdedit /export e:bcd_backup.bcd.

Настраивать AD для рассылки обновлений я не захотел, поэтому просто прописал в групповых политиках путь к WSUS серверу:

Параметры настройки

Обязательно уделите внимание на порт, я из-за опечатки (8350 вместо 8530) не мог получить обновления на клиентских машинах, хотя сделано было всё верно. Так же названия пунктов в групповых политиках на Windows 7 и Windows 8 различаются.

Для получения отчета средствами WSUS необходимо дополнительно установить пакет — система уведомит вас об этом.

А теперь немного кода

//не забудьте добавить ссылку на библиотеку 
using Microsoft.UpdateServices.Administration;

public static List<string> GetWSUSlist(params string[] list)
{
	List<string> result = new List<string>(200); //не забудь изменить количество

	string namehost = list[0]; //имя Пк, на котором будем искать string  = "example1";
	string servername = list[1]; //имя сервера string  = "WIN-E1U41FA6E55"; 
	string Username = list[2];
	string Password = list[3];
	
	try
	{
		
		ComputerTargetScope scope = new ComputerTargetScope();
		IUpdateServer server = AdminProxy.GetUpdateServer(servername, false, 8530);
		ComputerTargetCollection targets = server.GetComputerTargets(scope);
		// Search
		targets = server.SearchComputerTargets(namehost);

		// To get only on server FindTarget method
		IComputerTarget target = FindTarget(targets, namehost);
		result.Add("Имя ПК: " + target.FullDomainName);

		IUpdateSummary summary = target.GetUpdateInstallationSummary();
		UpdateScope _updateScope = new UpdateScope();
		// See in UpdateInstallationStates all other properties criteria

		//_updateScope.IncludedInstallationStates = UpdateInstallationStates.Downloaded;
		UpdateInstallationInfoCollection updatesInfo = target.GetUpdateInstallationInfoPerUpdate(_updateScope);

		int updateCount = updatesInfo.Count;

		result.Add("Кол -во найденных обновлений - " + updateCount);

		foreach (IUpdateInstallationInfo updateInfo in updatesInfo)
		{
			result.Add(updateInfo.GetUpdate().Title);
		}

	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}

	return result;
}


public static IComputerTarget FindTarget(ComputerTargetCollection coll, string computername)
{
	foreach (IComputerTarget target in coll)
	{
		if (target.FullDomainName.Contains(computername.ToLower()))
			return target;
	}
	return null;
}

Так как интернета нет, то ситуация с обновлениями выходит как на скриншоте ниже:

Поведение похоже на WUApi — если обновления не прошли через них, то они не знают об этом. Поэтому данный метод снова не подходит.

WMI

Windows Management Instrumentation (WMI) в дословном переводе — инструментарий управления Windows.

WMI — реализованный корпорацией Майкрософт стандарт управления предприятием

через Интернет

для централизованного администрирования и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. WMI является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.

Данный метод позволяет получить данные как с локальной машины, так и удаленно в пределах локальной сети. Для обращения к объектам WMI используется специфический язык запросов WMI Query Language (WQL), который является одной из разновидностей SQL. Получать список мы будем через WMI класс win32_quickfixengineering.

Пример реализации

using System.Management;

public static List<string> GetWMIlist(params string[] list)
{
List<string> result = new List<string>(200); //не забудь изменить количество

ManagementScope Scope;

string ComputerName = list[0];
string Username = list[1];
string Password = list[2];

int kol = 0;

if (!ComputerName.Equals("localhost", StringComparison.OrdinalIgnoreCase))
{
	//     Возвращает или задает полномочия, которые используются для проверки подлинности
	//     указанного пользователя.
	ConnectionOptions Conn = new ConnectionOptions();
	Conn.Username = Username;
	Conn.Password = Password;
	//Если значение свойства начинается со строки «NTLMDOMAIN:» аутентификация NTLM будет использоваться, и свойство должно содержать доменное имя NTLM.
	Conn.Authority = "ntlmdomain:DOMAIN";
	Scope = new ManagementScope(String.Format("\\{0}\root\CIMV2", ComputerName), Conn);
}
else
	Scope = new ManagementScope(String.Format("\\{0}\root\CIMV2", ComputerName), null);

try
{
	Scope.Connect();
	ObjectQuery Query = new ObjectQuery("SELECT * FROM Win32_QuickFixEngineering");
	ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Query);

	foreach (ManagementObject WmiObject in Searcher.Get())
	{
		result.Add(WmiObject["HotFixID"].ToString());
		//Console.WriteLine("{0,-35} {1,-40}", "HotFixID", WmiObject["HotFixID"]);// String
		//result.Add();
		/*result.Add("{0,-17} {1}", "Тип обновления: ", WmiObject["Description"]);
		result.Add("{0,-17} {1}", "Ссылка: ", WmiObject["Caption"]);
		result.Add("{0,-17} {1}", "Дата установки: ", WmiObject["InstalledOn"]);*/
		kol++;
	}
	result.Add("Количество равно " + kol);
}

catch (Exception ex)
{
	result.Add("Что-то пошло не так: " + ex.Message);
}

return result;
}

Количественно всё совпадает (даже после обновлений), поэтому было решено использовать этот метод. Для программного создания WMI запросов советую использовать следующую утилиту — WMI Delphi Code Creator. Благодаря ей я немного по другому взглянул на свой код и решил использовать заготовку из этой программы.

XML

Полученные данные методом WMI меня не остановили, и я решился на „поверхностный реверс-инжиниринг“. Воспользуемся утилитой Process Monitor из сборника программ Sysinternals Suite для выявления файлов и ветвей реестра, которые используются при вызове выше перечисленных консольных команд и обращению к пункту „Установленные обновления“ через Панель управления.

Моё внимание привлек файл wuindex.xml, расположенный в папке C:WindowsservicingPackages. Для его анализа была написана следующая программа:

Пример консольного приложения

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Text.RegularExpressions;
using System.IO;

namespace XMLviewer
{
    class Program
    {
        static void Main(string[] args)
        {
            string writePath = AppDomain.CurrentDomain.BaseDirectory + "XML Обновлений " + Environment.MachineName + ".txt";
            if (!File.Exists(writePath))
            {
                Console.WriteLine("Создаю пустой txt файл");
            }
            else
            {
                Console.WriteLine("Файл XML Обновлений.txt существует, он будет перезаписан");
                File.Delete(writePath);
            }

            //регулярное выражение для поиска по маске KB
            Regex regex = new Regex(@"KB[0-9]{6,7}");
            //Regex(@"(w{2}d{6,7}) ?");

            //SortedSet не поддерживает повторяющиеся элементы, поэтому повторяющиеся элементы мы "группируем" ещё на стадии добавления
            SortedSet<string> spisok = new SortedSet<string>();

            XmlDocument xDoc = new XmlDocument();
            string path = "C:\Windows\servicing\Packages\wuindex.xml"; //путь до нашего xml
            xDoc.Load(path);

            int kol = 0; //кол-во компонентов
            int total = 0; //кол-во дочерних элементов в xml
            int total2 = 0; //кол-во полученных обновлений

            XmlNodeList name = xDoc.GetElementsByTagName("Mappings");
            foreach (XmlNode xnode in name)
            {
                //Console.WriteLine(xnode.Name);
                kol++;
                XmlNode attr = xnode.Attributes.GetNamedItem("UpdateId");
                //Console.WriteLine(attr.Value);

                foreach (XmlNode childnode in xnode.ChildNodes)
                {
                    XmlNode childattr = childnode.Attributes.GetNamedItem("Package");
                    total++;
                    //Console.WriteLine(childattr.Value);

                    MatchCollection matches = regex.Matches(childattr.Value);
                    if (matches.Count > 0)
                    {
                        foreach (Match match in matches)
                            //Console.WriteLine(match.Value);
                            spisok.Add(match.Value);
                    }
                    else
                    {
                        //Console.WriteLine("Совпадений не найдено");
                    }
                }

            }

            try
            {
                StreamWriter sw = new StreamWriter(writePath);
                foreach (string element in spisok)
                {
                    //Console.WriteLine(element);
                    sw.WriteLine(element);
                    total2++;
                }
                sw.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message);
            }

            //Console.WriteLine("n");
            Console.WriteLine("Количество пакетов: " +kol);

            Console.WriteLine("Количество дочерних элементов в xml: " + total);

            Console.WriteLine("Количество KB обновлений: " + total2);

            Console.WriteLine("Нажмите любую клавишу для выхода.");
            Console.Read();
        }
    }
}

К сожалению, данный файл встречается не на всех системах и принцип его генерирования и обновления остался для меня загадкой. Поэтому снова данный метод нам не подходит.

CBS

Вот мы подошли к тому, с чем связаны все эти методы. Продолжая анализ логов Process Monitor я выявил следующие папки и файлы.

Файл DataStore.edb, расположенный в папке C:WindowsSoftwareDistributionDataStore. Это база данных, в которой содержится история всех обновлений установленной версии Windows, включая те обновления, которые только стоят в очереди.

Для анализа файла DataStore.edb использовалась программа ESEDatabaseView. В БД существует таблица tbUpdates, содержимое которой трудно интерпретировать.

Таблица tbUpdates в ESEDatabaseView

После мое внимание привлек процесс TiWorker.exe, который вызывался каждый раз при открытии пункта в Панели управления. Он „ходил“ по многим папкам, одна из которых вывела меня на верный путь.

C:WindowsSoftwareDistribution — это папка, используемая службой обновления Windows для загрузки обновлений на компьютер с последующей их установкой, а также хранит сведения обо всех ранее установленных обновлениях.

Папка WinSxS, расположенная по адресу C:Windowswinsxs. Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов. Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости.

C:Windowsservicing — основная составляющая всей системы, имя которой Component-Based Servicing (CBS).

CBS — обслуживание на основе компонентов, составляющая Windows, интегрированная с службой Windows Update. В противоположность обслуживанию на основе файлов File-Based Servicing (FBS) (для ОС, предшествующих Windows Vista), в котором файлы обновлялись прямо в системных директориях, в CBS появилась целая иерархия директорий и целое семейство (стек) модулей/библиотек обслуживания.

CbsApi.dll — основная библиотека поддержки технологии CBS. Не имеет открытых методов, поэтому напрямую использовать её я не смог. Microsoft использует TrustedInstaller.exe и TiWorker.exe для доступа к методам данной библиотеки и уже через эти процессы выводит нужные нам данные. ‪Записи ведутся в C:WindowsLogsCBSCBS.log.

На момент создания прототипа программы (на скриншотах можете увидеть май 2019) русскоязычной информации о CBS не было, но в конце августа нашлась очень хорошая статья в блоге — http://datadump.ru/component-based-servicing. Очень интересная статья, которая подтвердила мой опыт и собрала в себе нужную информацию. И ещё по теме: http://www.outsidethebox.ms/17988/

Вывод

Microsoft слишком усложнила тривиальную задачу по получению списка обновлений и сделала этот процесс не совсем явным. Всё это сделано для безопасности, но не для простоты использования. Соглашусь с автором статьи — в получении обновлений стали отсутствовать предсказуемость и прозрачность.

В результате исследования была написана следующая программа, демонстрацию работы которой можно увидеть в данном видео:

В планах дописать:

  1. сравнение списка необходимых обновлений с полученным;
  2. передать результат по протоколу SNMP/OPC (если у кого есть опыт поделитесь в комментариях);
  3. организовать установку недостающих „офлайн“ обновлений из указанной папки.

Если вы знаете ещё методы получения списка не только обновлений, но и дополнительных компонентов (Adobe Flash, Acrobat Reader и т.д.) или у вас есть другие интересные предложения, напишите об этом в комментариях или в личные сообщения — буду рад любой обратной связи. И поучаствуйте в опросе к данной статье — так я буду знать, будет ли интересен мой опыт аудитории Habrahabr.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Продолжить тему о том, как всем этим управлять через SNMP/OPC?


12.12%
Нет, не интересно
16


17.42%
Бессмысленное занятие, займись лучше другим
23

Проголосовали 132 пользователя.

Воздержались 50 пользователей.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

И пользуясь случаем ещё один опрос: рассказать про ЕГИССО — что это какое, как мучаются люди и что люди разрабатывают, чтобы с этим работать?


78.23%
Интересно прочитать про ужасы от Пенсионного фонда (Да)
97


21.77%
Спасение утопающих — дело рук самих утопающих (Нет)
27

Проголосовали 124 пользователя.

Воздержались 44 пользователя.

  • Partition Wizard

  • Resize Partition

  • What Is DataStore.edb and How to Fix Its High Disk Usage Issue

By Ariel | Follow |
Last Updated December 08, 2021

Many users report that their computer is using much disk resource to read the DataStore.edb. What is DataStore.edb? Are you also troubled by the DataStore.edb huge issue? MiniTool will explore these questions together with you and provide solutions to fix the issue.

What Is DataStore.edb

To fix the high disk usage issue, it’s necessary to figure out what is DataStore.edb. DataStore.edb is a kind of Windows log file that’s located under the software distribution folder. This file is used to keep the history of all Windows updates.

That means the DataStore.edb log file will grow in disk size with every Windows Update check. So, you may find the system spends much time reading and writing to the DataStore.edb file, which slow down your PC considerably. When checking Windows update, you may find the svchost.exe process is using large disk resources to read Windows.edb file in Task Manager.

Is It Safe to Delete the DataStore.edb File

Is it safe to delete the DataStore.edb file? The answer is yes, however, it will start from scratch and check everything when checking Windows updates the next time. In other words, the DataStore.edb log file will be rebuilt again when checking Windows updates the next time.

So, there is no point in deleting the DataStore.edb file to fix the high disk usage issue. To fix the DataStore.edb huge issue basically, you need to empty the Windows software distribution folder. In addition, other effective methods are proved in the following part.

How to Fix DataStore.edb Huge Issue

Here we explore 3 effective methods to fix the DataStore.edb huge issue. Let’s keep reading now!

Fix 1. Disable Windows Update and Bits Service

As mentioned above, the DataStore.edb huge log file will grow in size with every Windows update check. So, you can try disabling the Windows Update and BITS services (help download and install Windows updates). Here’s how to do that:

Step 1. Press the Win + R keys to open the Run dialog box, and then type services.msc in the box and hit Enter.

open the Services app via Run box

Step 2. In the pop-up window, navigate to the Windows Update service, and then right-click it and select Properties.

Step 3. Now, change the Startup type to Disabled, and then click on OK and Apply to save this change.

disable Windows update service

Step 4. Then you can repeat the Steps 2-3 to disable the BITS service.

After disabling the services, reboot your computer and check if the disk resource has increased.

Fix 2. Use Esentutl.exe Utility to Defrag and Repair DataStore.edb

In addition, you can try using the esentutl.exe utility to defrag the DataStore.edb log file. Defragment the DataStore.edb file can help fix the large disk resource usage issue. Here’s how to do that:

Step 1. Type command in the search box, and then right-click the Command Prompt app and select Run as administrator.

run command prompt as administrator

Step 2. In the elevated command prompt, type the following command and hit Enter.

esentutl.exe /d C:windowsSoftwareDistributionDataStoreDataStore.edb

Step 3. Once this command is complete, restart your PC and see if the Windows.edb issue is fixed.

Fix 3. Recreate the SoftwareDistribution Folder

It is reported that the high disk usage issue has been fixed by recreating the Windows SoftwareDistribution folder. To do so, follow the steps below:

Step 1. Open the elevated command prompt through the above method.

Step 2. Type the following commands and hit Enter after one by one to disable the update service that makes use of SoftwareDistribution folder.

  • net stop wuauserv
  • net stop bits

Tip: If you have disabled the Windows update and BITS services through method 1, you can skip this step.

Step 3. Then paste the following command in the elevate command prompt and hit Enter. This command will rename the SoftwareDistribution folder and force Windows to create a new SoftwareDistribution folder.

ren C:WindowsSoftwareDistribution SoftwareDistribution.old

Step 4. Restart your computer and press Win + E keys to open the File Explorer. Then to the C:/Windows folder and delete the SoftwareDistribution.old folder.

About The Author

Ariel

Position: Columnist

Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues. 

  • Partition Wizard

  • Resize Partition

  • What Is DataStore.edb and How to Fix Its High Disk Usage Issue

By Ariel | Follow |
Last Updated December 08, 2021

Many users report that their computer is using much disk resource to read the DataStore.edb. What is DataStore.edb? Are you also troubled by the DataStore.edb huge issue? MiniTool will explore these questions together with you and provide solutions to fix the issue.

What Is DataStore.edb

To fix the high disk usage issue, it’s necessary to figure out what is DataStore.edb. DataStore.edb is a kind of Windows log file that’s located under the software distribution folder. This file is used to keep the history of all Windows updates.

That means the DataStore.edb log file will grow in disk size with every Windows Update check. So, you may find the system spends much time reading and writing to the DataStore.edb file, which slow down your PC considerably. When checking Windows update, you may find the svchost.exe process is using large disk resources to read Windows.edb file in Task Manager.

Is It Safe to Delete the DataStore.edb File

Is it safe to delete the DataStore.edb file? The answer is yes, however, it will start from scratch and check everything when checking Windows updates the next time. In other words, the DataStore.edb log file will be rebuilt again when checking Windows updates the next time.

So, there is no point in deleting the DataStore.edb file to fix the high disk usage issue. To fix the DataStore.edb huge issue basically, you need to empty the Windows software distribution folder. In addition, other effective methods are proved in the following part.

How to Fix DataStore.edb Huge Issue

Here we explore 3 effective methods to fix the DataStore.edb huge issue. Let’s keep reading now!

Fix 1. Disable Windows Update and Bits Service

As mentioned above, the DataStore.edb huge log file will grow in size with every Windows update check. So, you can try disabling the Windows Update and BITS services (help download and install Windows updates). Here’s how to do that:

Step 1. Press the Win + R keys to open the Run dialog box, and then type services.msc in the box and hit Enter.

open the Services app via Run box

Step 2. In the pop-up window, navigate to the Windows Update service, and then right-click it and select Properties.

Step 3. Now, change the Startup type to Disabled, and then click on OK and Apply to save this change.

disable Windows update service

Step 4. Then you can repeat the Steps 2-3 to disable the BITS service.

After disabling the services, reboot your computer and check if the disk resource has increased.

Fix 2. Use Esentutl.exe Utility to Defrag and Repair DataStore.edb

In addition, you can try using the esentutl.exe utility to defrag the DataStore.edb log file. Defragment the DataStore.edb file can help fix the large disk resource usage issue. Here’s how to do that:

Step 1. Type command in the search box, and then right-click the Command Prompt app and select Run as administrator.

run command prompt as administrator

Step 2. In the elevated command prompt, type the following command and hit Enter.

esentutl.exe /d C:windowsSoftwareDistributionDataStoreDataStore.edb

Step 3. Once this command is complete, restart your PC and see if the Windows.edb issue is fixed.

Fix 3. Recreate the SoftwareDistribution Folder

It is reported that the high disk usage issue has been fixed by recreating the Windows SoftwareDistribution folder. To do so, follow the steps below:

Step 1. Open the elevated command prompt through the above method.

Step 2. Type the following commands and hit Enter after one by one to disable the update service that makes use of SoftwareDistribution folder.

  • net stop wuauserv
  • net stop bits

Tip: If you have disabled the Windows update and BITS services through method 1, you can skip this step.

Step 3. Then paste the following command in the elevate command prompt and hit Enter. This command will rename the SoftwareDistribution folder and force Windows to create a new SoftwareDistribution folder.

ren C:WindowsSoftwareDistribution SoftwareDistribution.old

Step 4. Restart your computer and press Win + E keys to open the File Explorer. Then to the C:/Windows folder and delete the SoftwareDistribution.old folder.

About The Author

Ariel

Position: Columnist

Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues. 

SoftwareDistribution: Что это за папка Windows 7, 10, можно ли ее удалить?

Некоторые пользователи популярной ОС Windows желают знать, что за папка SoftwareDistribution в директории Windows и можно ли ее удалить без последствий для работы операционной системы?

В этой статье разберемся с этими вопросами.

SoftwareDistribution (дословно с англ Распространение программного обеспечения) – это папка содержащая файлы обновления системы Windows. Папка присутствует в ОС версии 7, 8 и 10.

Где можно найти папку SoftwareDistribution? Путь расположения: C:WindowsSoftwareDistribution.

SoftwareDistribution что это за папка и можно ли удалить

В директории C:WindowsSoftwareDistributionDownload хранятся файлы обновления, загруженные с серверов Microsoft Windows. Вес папки Download напрямую зависит от того сколько обновлений операционной системы было сделано. Иногда вес может достигать нескольких гигабайт.

Стоит отметить, что после установки обновления файлы обновления больше не нужны. И по факту превращается в «Системный мусор».

DataStore – еще одна папка с временными файлами, в которой хранится история обновлений. Так же зачастую имеет большой вес.

Остальные папки (AuthCabs, EventCache, PostRebootEventCache, ScanFile, SelfUpdate, WuRedir) так же содержат файлы обновления или кэша.

Можно ли удалить папку SoftwareDistribution? Не полетит ли Windows?

Если на компьютере ощущается острая нехватка свободного места, то пользователь после непродолжительного осмотра размеров файлов в папке Windows наверняка обратит свое внимание на папку SoftwareDistribution и задаст вопрос: «Можно ли удалить папку SoftwareDistribution?».

Ответ: ДА, можно смело очистить папку. На работу системы это никак не повлияет.

Можно так же отдельно удалить папки Download и DataStore.

Как правильно удалить папку SoftwareDistribution

Чтобы удалить папку SoftwareDistribution в Windows нужно сделать следующее:

  1. Открыть Центр обновления Windows. Можно найти через Пуск или зайти через Панель управления;
    Центр обновлений Windows
  2. Далее нужно перейти в «Настройки параметров»;
    Настройки параметров центра обновлений Виндовс
  3. Выбрать во вкладке следующую строку:
    «Не проверять наличие обновлений (не рекомендуется)»;
  4. Убрать галочку с «Получать рекомендуемы обновления»;
  5. После внесения изменений нажать «ОК».

Готово! Теперь можно смело удалять все содержимое папки SoftwareDistribution. Можно даже удалить саму папку SoftwareDistribution, ведь в случае повторной загрузки обновлений Windows сам автоматически ее создаст.

Никаких ошибок или глюков можно не опасаться. Чтобы убедиться можно переименовать папку и перезагрузить компьютер.

Для очистки компьютера от лишних файлов советую установить CCleaner (Есть кстати и CCleaner для смартфонов).

SoftwareDistribution.old – папка с устаревшими файлами обновления Виндовс.

Надеюсь, статья «SoftwareDistribution: Что это за папка Windows 7, 10, можно ли ее удалить?» была вам полезна.

Понравилась статья? Поделить с друзьями:
  • C windows servicing lcu можно ли удалить
  • C windows serviceprofiles networkservice appdata local temp
  • C windows serviceprofiles networkservice appdata local microsoft windows deliveryoptimization cache
  • C windows serviceprofiles localservice appdata local temp
  • C windows serviceprofiles localservice appdata local microsoft ngc