The error “There is no trust in the cab file required to complete the installation” occurs under strange circumstances. It is displayed in Windows 7, 10, 11 only when trying to install DirectX or NET Framework. What is surprising here is that both software are related to Microsoft, that is, by default, they should receive a high trust rating from the system, if not even the maximum. Windows does not understand whether the system can trust the running file or not. Since this procedure is very dangerous, if a hacked, modified installer is installed, the OS will block what it is not sure of.
Original message text:
The CAB file required for installation cannot be trusted. Verify that Cryptographic Services is enabled and that the CAB file certificate is valid.
Additionally, it can be said:
“Failed to load module initpki.dll, gpkcsp.dll, sccbase.dll, slbcsp.dll.”
Causes
Quite clearly, the reasons for the “no trust in the cab file” error are indicated in the message text. There are only a few of them:
- disabled cryptography service, which is obliged to check file certificates;
- the cryptographic service is broken;
- installation is hindered by residual files from a previous version of DirectX or the .NET Framework that are not properly layered on top of each other.
The main reason is that the cab file does not have a certificate or cannot be verified due to disabled services. Hence it follows – if this is a file of your development, you need to contact the companies that issue certificates. After checking the code, all operating systems will have confidence in it.
How do I fix the error?
Immediately, we note that this error most often appears in Windows 7, but it is not limited to this operating system. It can appear in Windows 10, 11, only much less frequently. In each case, the reasons and remedies are similar. We recommend that you follow the instructions strictly, since the first methods are the most effective and easiest to implement. At the end are the procedures that should work in more complex situations.
1) Enable Cryptography Service
The cryptography service is essential for verifying file certificates. However, it is not often required, so some users turn off the service without knowing its functionality. Sometimes it is also turned off by programs, especially those designed to speed up system performance. Such savings are fraught with the inability to install important software and the penetration of viruses into the system, it is better to turn on the function again.
What to do when “there is no trust in the cab file” when installing DirectX:
- Open Start and search for “Control Panel”, open the only option found.
- Click on the “Administration” item and select “Services”.
- If it is worth sorting by name, we scroll through the list almost to the end and find “Cryptography Services”.
- Double-click on it, click on the “Run” button and set the value “Automatic” in the “Startup type” line.
It is worth trying the installation, if the service was turned off, it should go through without problems. At least for most users.
2) Clean up residual DirectX files before installation
We’ve seen a lot of mentions that some people have been helped by cleaning up any old files left over from previous versions of DirectX or NET Framework. Given the relative simplicity and minimal risks of the procedure, it is definitely worth a try.
How to fix the “no trust in the cab file” error:
- We follow the path Windows System32 directx or Windows SysWow64 directx, depending on the bitness of the Windows 7 operating system.
- Click on the “File” button, then – “Organize” and click on the “Folder and search parameters” item.
- On the “View” page, activate the “Show hidden files and folders” flag and click on the “Apply” button.
- The websetup folder should appear, open it and delete all content.
- We re-launch the online or offline installer.
3) Restore Windows 7 default services
As we already mentioned, there are exceptions to all the rules, and there are quite a few of them. Cryptographic services may fail to start or fail to work due to corruption, improper state, etc. However, there is a way to restore them to their default state. On Windows 7, this is done this way:
- We download this software from the official Microsoft website.
- We will unzip the PsTools program to any convenient place.
- Move PsExec.exe to the C: Windows System32 folder.
- We start the command line with administrator rights.
- Enter the command into the console psexec -i -d -sc: windows regedit.exe… If this is your first launch of the tool, you need to select the option Agree…
- Now a relatively difficult step – you need a servicedefaultregistryentries.reg file. It is difficult to find it on the Internet, and what is found cannot be trusted (there is no guarantee of security). The best option, but longer, is to install the same operating system via VirtualBox and export the registry.
- Open the “Registry Editor”, for this press Win + R, insert regedit and press Enter.
- In the “File” tab, select “Import” and specify the path to the servicedefaultregistryentries.
- Restart your computer to make sure it works.
4) Re-register the DLL files associated with the cryptography service
If Cryptographic Services did not start and even resetting to the default state did not help, most likely the problem is in its files. The method is especially relevant for those who see the message “Failed to load the initpki.dll module, gpkcsp.dll, sccbase.dll, slbcsp.dll”. We will now reinstall these and other important dll files.
Detailed instructions:
- We press the combination Win + R, enter cmd… Hold Ctrl + Shift and press Enter to start the console with administrator privileges.
- We sequentially enter the following commands, after each of them pressing the Enter key (now we are unregistering the listed files):
- 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
- After completing the procedure, restart the computer and open the command line again. Again we enter the following series of commands, this time we already register them:
- 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
It’s time to try installing DirectX or the .NET Framework again. Hopefully this time without the “No trust in the cab file” error. Provided that the above dll files were not damaged, the installation will be successful. However, this may also be the case, in this case you will have to additionally use the sfc / scannow command. The system will check the health of the files and restore them if the need arises.