Почему нет доверия к CAB-файлу и как это исправить?
Ошибка «Нет доверия к cab-файлу, необходимому для выполнения установки» возникает при странных обстоятельствах. Она отображается в системе Windows 7, 10, 11 лишь при попытке установить DirectX или NET Framework. Удивительно здесь то, что оба софта относятся к Microsoft, то есть по умолчанию должны получать высокий рейтинг доверия от системы, если даже не максимальный. Windows же не понимает, может ли систему доверять запущенному файлу или нет. Так как данная процедура очень опасна, если будет установлен взломанный, модифицированный инсталлер, ОС блокирует то, в чем не уверена.
Исходный текст сообщения:
CAB-файл, необходимый для установки, нельзя доверять. Проверьте, что службы криптографии включены и сертификат CAB-файла действителен.
Дополнительно может быть сказано:
«Не удалось загрузить модуль initpki.dll, gpkcsp.dll, sccbase.dll, slbcsp.dll».
Причины
Довольно явно причины ошибки «нет доверия к cab-файлу» указаны в тексте сообщения. Их всего несколько:
- отключен сервис криптографии, который обязан проверять сертификаты файлов;
- служба криптографии поломана;
- установке мешают остаточные файлы от прошлой версии DirectX или .NET Framework, которые неправильным образом наслаиваются друг на друга.
Главная причина в том, что у cab-файла нет сертификата или его наличие невозможно проверить из-за отключенных служб. Отсюда вытекает – если это файл вашей разработки, нужно обратиться в компании, которые выдают сертификаты. После проверки кода у всех операционных систем появится доверие к нему.
Как исправить ошибку?
Сразу отметим, что данная ошибка чаще всего появляется в Windows 7, но этой операционной системой не ограничивается. Может появляться и в Windows 10, 11, только значительно реже. В каждом случае причины и способы исправления подобны. Рекомендуем следовать строго по инструкции, так как первые методы самые эффективные и простые в реализации. В конце идут те процедуры, которые должны сработать в более сложных ситуациях.
1) Включить службу Криптографии
Сервис криптографии важен для проверки сертификатов файлов. Однако он требуется нечасто, поэтому некоторые пользователи отключают службу, не зная о ее функциях. Порой ее выключают и программы, особенно те, которые предназначены для ускорения быстродействия системы. Такая экономия чревата невозможностью установить важный софт и проникновением в систему вирусов, лучше снова включить функцию.
Что делать, когда «нет доверия к cab файлу» при установке DirectX:
- Открываем Пуск и вводим в поиск «Панель управления», открываем единственный найденный вариант.
- Жмем на пункт «Администрирование» и выбираем «Службы».
- Если стоит сортировка по имени, листаем список практически до конца и находим «Службы криптографии».
- Делаем по ней двойной клик, нажимаем на кнопку «Запустить» и в строке «Тип запуска» выставляем значение «Автоматически».

Стоит попробовать провести установку, если сервис был выключен, она должна пройти без проблем. По крайней мере у большинства пользователей.
2) Очистить остаточные файлы DirectX перед установкой
Мы видели много упоминаний о том, что некоторым людям помогала очистка всех старых файлов, оставшихся от предыдущих версий DirectX или NET Framework. Учитывая сравнительную простоту и минимальные риски от процедуры, попробовать точно стоит.
Как исправить ошибку «нет доверия к cab-файлу»:
- Переходим по пути \Windows\System32\directx\ или \Windows\SysWow64\directx в зависимости от разрядности операционной системы Windows 7.
- Нажимаем на кнопку «Файл», затем – «Упорядочить» и жмем на пункт «Папка и параметры поиска».
- На странице «Вид» активируем флаг «Показывать скрытые файлы и папки» и кликаем по кнопке «Применить».
- Должна появиться папка websetup, открываем ее и удаляем все содержимое.
- Повторно запускаем онлайн или оффлайн установщик.

3) Восстановить службы по умолчанию Windows 7
Как мы уже упоминали, из всех правил есть исключения и их довольно много. Службы криптографии могут не запускаться или отказываться работать из-за повреждения, неправильного состояния и т. п. Однако есть способ восстановить их к состоянию по умолчанию. На Windows 7 это делается таким образом:
- Скачиваем это ПО с официального сайта Microsoft.
- Разорхивируем программу PsTools в любое удобное место.
- Перемещаем PsExec.exe в папку C:\Windows\System32.
- Запускаем командную строку с правами администратора.
- Вводим в консоль команду psexec -i -d -s c:\windows\regedit.exe. Если это первый ваш запуск инструмента, нужно выбрать вариант Agree.
- Теперь относительно сложный шаг – нужен файл servicedefaultregistryentries.reg. Его сложно найти в интернете, да и тем, что найдены, нельзя доверять (нет гарантии в безопасности). Лучший вариант, но дольше – установить такую же самую операционную систему через VirtualBox и сделать экспорт реестра.
- Открываем «Редактор реестра», для этого нажимаем Win + R, вставляем regedit и жмем Enter.
- Во вкладке «Файл» выбираем «Импорт» и указываем путь к файлу servicedefaultregistryentries.
- Перезагружаем компьютер, чтобы наверняка сработало.

4) Повторно зарегистрировать файлы DLL, связанные со службой криптографии
Если службы криптографии не запустились и даже сброс к состоянию по умолчанию не помог, скорее всего дело в ее файлах. Метод особенно актуален для тех, кто видит сообщение «Не удалось загрузить модуль initpki.dll, gpkcsp.dll, sccbase.dll, slbcsp.dll». Сейчас мы переустановим эти и другие важные dll-файлы.
- Жмем комбинацию Win + R, вводим cmd. Зажимаем Ctrl + Shift и нажимаем Enter, чтобы консоль запустилась с полномочиями администратора.
- Последовательно вводим следующие команды, после каждой из них нажимая клавишу Ввод (сейчас мы отменяем регистрацию перечисленных файлов):
- regsvr32 /u softpub.dll
- regsvr32 /u wintrust.dll
- regsvr32 /u initpki.dll
- regsvr32 /u dssenh.dll
- regsvr32 /u rsaenh.dll
- regsvr32 /u gpkcsp.dll
- regsvr32 /u sccbase.dll
- regsvr32 /u slbcsp.dll
- regsvr32 /u mssip32.dll
- regsvr32 /u cryptdlg.dll
- exit
- После завершения процедуры, перезагружаем компьютер и снова открываем командную строку. Снова вводим следующий ряд команд, на этот раз уже регистрируем их:
- regsvr32 softpub.dll
- regsvr32 wintrust.dll
- regsvr32 initpki.dll
- regsvr32 dssenh.dll
- regsvr32 rsaenh.dll
- regsvr32 gpkcsp.dll
- regsvr32 sccbase.dll
- regsvr32 slbcsp.dll
- regsvr32 mssip32.dll
- regsvr32 cryptdlg.dll
- exit
Пришло время снова попробовать установить DirectX или .NET Framework. Надеемся, в этот раз без ошибки «Нет доверия к cab-файлу». При условии, что перечисленные выше dll-файлы не были повреждены, инсталляция пройдет успешно. Однако и такое может быть, в этом случае придется дополнительно использовать команду sfc /scannow. Система проверит исправность файлов и восстановит их, если такая необходимость возникнет.
Ошибка DirectX: нет доверия к cab-файлу
DirectX — это ключевой элемент операционной системы, без которого невозможно воспроизведение трехмерной графики. Иногда случается так, что во время установки появляется ошибка: «Нет доверия к CAB-файлу». Инсталляция прерывается.
Почему появляется ошибка
Файлы CAB видели большинство пользователей, как правило, они встречаются в разных дистрибутивах. По сути, это архивы, которые распаковываются во время инсталляции программ, игр. Присутствуют эти файлы и в инсталляторе DirectX. Из этого можно сделать вывод, что одна из распространенных причин ошибки — поврежденный файл. Файл может оказаться битым по причине медленного Интернет-соединения с частыми обрывами. Нередко поврежденные файлы бывают в подозрительных дистрибутивах на файлообменниках, торрент-трекерах, других подобных сайтах.

Еще одна частая причина появления этой ошибки — отключенные службы криптографии в операционной системе. Многие пользователи, чтобы повысить производительность компьютера или оптимизировать работу операционной системы, устанавливают различные утилиты — «твикеры». Часто такой софт отключает работу важных фоновых служб, которые якобы не нужны и замедляют работу. Итог — различные проблемы, одна из которых — ошибка при установке DirectX. Другие причины:
- Ошибки в Windows, которые можно решить обновлением системы;
- Неверно установленная дата;
- Блокировка антивирусом;
- Старые компоненты DirectX конфликтуют с новыми;
- Проблемы с RAR-архиватором.
Решение проблемы
Как можно заметить, причин появления ошибки достаточно много, а это значит, что вероятнее всего, придется проделать немалый объем работы. Первое, что следует сделать — убедиться, что дистрибутив скачан с официального сайта Microsoft.

Скачивать DirectX со сторонних сайтов нет никакого смысла, так как этот софт поставляется совершенно бесплатно. Более того: загруженный с файлообменника инсталлятор может быть не только с поврежденным CAB-файлом, но и с вирусом внутри.
Во время загрузки рекомендуется пользоваться стабильным Интернет-соединением, частые обрывы связи могут недогрузить файл. Если нет уверенности в качестве связи, можно использовать специальные программы-загрузчики. Также обязательно проверить, не отключены ли службы криптографии. Это можно сделать в панели управления в пункте «Службы». Рекомендуется также проверить системную дату, в некоторых случаях помогает решить проблему ее откат на два-три года назад.

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

Блокировать установку может антивирус, который рекомендуется отключить на время установки.

И еще одно — проблемы с RAR, который лучше деинсталлировать, а дефолтным сделать ZIP.
Если ничего не помогло
Случается так, что ничего из вышеперечисленного не помогает, и ошибка снова появляется при попытке установить DirectX. Можно попробовать запустить установку в безопасном режиме. Для этого нужно перезагрузить систему и нажимать клавишу F8 во время загрузки компьютера до тех пор, пока не появится меню, где следует выбрать соответствующий пункт.
Еще один надежный способ — воспользоваться функцией восстановления системы до старой точки, когда система функционировала нормально. Данная функция присутствует во всех версиях Windows.

Есть и самый радикальный способ, после использования которого, вероятнее всего, все заработает — полная переустановка операционной системы.
DirectX ошибка: CAB файл нет доверия (win7)
При установке выдаёт эту ошибку. Установка в безопасном режиме ничего не дала, совместимость с Win7 тоже. Вот лог:
04/26/21 21:04:07: DXWSetup: ***** DXWSETUP *****
04/26/21 21:04:07: DXWSetup: WinMain()
04/26/21 21:04:07: DXWSetup: IsIA64(): not IA64.
04/26/21 21:04:07: DXWSetup: Unable to get Version on target file C:\Windows\system32\directx\websetup\dsetup.dll
04/26/21 21:04:07: DXWSetup: Installed file C:\Windows\system32\directx\websetup\dsetup.dll
04/26/21 21:04:07: DXWSetup: Unable to get Version on target file C:\Windows\system32\directx\websetup\dsetup32.dll
04/26/21 21:04:07: DXWSetup: Installed file C:\Windows\system32\directx\websetup\dsetup32.dll
04/26/21 21:04:07: DXWSetup: GetDXVersion(): Unable to get RC string from registry.
04/26/21 21:04:07: DXWSetup: DirectX Version: 4.09.00.0904.00
04/26/21 21:04:07: DXWSetup: Setup Version: 4.09.00.0904.00
04/26/21 21:04:07: DXWSetup: A newer version of DirectX have been installed already.
04/26/21 21:04:18: DXWSetup: CDXWSetup::CDXWSetup()
04/26/21 21:04:18: DXWSetup: CDXWSetup::DownloadDXUpdate()
04/26/21 21:04:18: DXWSetup: OnEngineStatusChange(): EngineStatus = 0x1, SubStatus = 0x0
04/26/21 21:04:18: DXWSetup: OnEngineStatusChange(): EngineStatus = 0x3, SubStatus = 0x0
04/26/21 21:04:18: DXWSetup: OnEngineStatusChange(): EngineStatus = 0x2, SubStatus = 0x0
04/26/21 21:04:18: DXWSetup: OnStartInstall(): DLSize = 81, InstallSize = 0
04/26/21 21:04:18: DXWSetup: OnStartComponent(): DLSize = 81, InstallSize = 0, str = %DirectX_Setup%
04/26/21 21:04:18: DXWSetup: OnComponentProgress(): Phase = 0, Progress = 0
04/26/21 21:04:19: DXWSetup: OnStopComponent(): hr = 0x0, Phase = 9, str = %DirectX_Setup%, status = 0x0
04/26/21 21:04:19: DXWSetup: OnStopInstall(): hr = 0x0, str = (null), status = 0x0
04/26/21 21:04:19: DXWSetup: OnEngineStatusChange(): EngineStatus = 0x3, SubStatus = 0x0
04/26/21 21:04:19: DXWSetup: WM_APP_DOWNLOADDXUPDATE
04/26/21 21:04:19: DXWSetup: CDXWSetup::InitInstallEngine()
04/26/21 21:04:19: DXWSetup: CDXWSetup::InitInstallEngine(): Sections are not initialized.
04/26/21 21:04:19: DXWSetup: PreinstDlgProc(): CDXWSetup::InitInstallEngine() failed.
04/26/21 21:04:19: DXWSetup: WM_APP_ENDDOWNLOAD
Голосование за лучший ответ
поставь RuntimePack (все системные библиотеки в одном пакете) https://jameszero.net/runtimepack.htm
и DirectX (веб-установщик), все чего не хватает скачает и поставит:
https://www.microsoft.com/ru-ru/download/details.aspx?id=35
Хасекура АйриМыслитель (7532) 2 года назад
Установился нормально, но с DirectX всё равно ошибка. В приложение захожу — требует DirectX, запускаю установщик — в логе пишет, что актуальная версия уже есть и неведомая ошибка.
Офлайн установка DirectX , решение проблемы Нет доверия к cab-файлу
Устраняем ошибку во время установки DirectX – “Нет доверия к cab-файлу необходимому для выполнения установки directx” Windows 7

Чаще всего данная ошибка встречается на ОС Windows 7,8 при попытке установке онлайн обновлений DirectX скачанного с официального сайта макрософт.
Для исправления данной проблемы достаточно скачать офлайн обновление DirectX 9с с нашего сайта ниже по ссылке :
После запуска программа предложит вам извлечь скачанные фалы. Создайте папку в любом месте и извлеките файлы именно в нее, иначе, если, например, вы извлечете файлы в корень диска, то в нем окажется около 157 файлов (устанете удалять или перемещать, ища свои файлы и папки в этом нагромождении ).