How to Workaround Error 1330 During Visual Studio 2008 Installation

How to Workaround Error 1330 During Visual Studio 2008 Installation

  • Comments 38

When installing Visual Studio 2008, you might run into an error dialog that reads,

Error 1330.A file that is required cannot be installed because the cabinet file D:\msdn\cab2.cab has an invalid digital signature. This may indicate that the cabinet file is corrupt.

The path and name of the cabinet may be different, but might often be D:\msdn\cab2.cab, where D: refers to your DVD drive.

How to workaround this issue

You can try installing the product again, but you may have better luck if you copy the DVD layout to your hard drive. Installing from stamped media - which is what ships in our box product - also reduces the chance of seeing error 1330.

If installing Visual Studio 2008 onto multiple licensed machines, copying the volume licensed DVD to the network can help but any network "hiccups" will most likely result in error 1330.

Description of the issue

This is not the error 1718 issue of Visual Studio 2005, though the call stack may look similar. Windows Installer error message 1330 can be returned when WinVerifyTrust() - a security check that validates the digital signature against a file - fails to read the entire file. In a verbose installation log, you'd find lines similar to the following:

MSI (s) (2C:D0) [19:36:40:417]: Validating digital signature of file 'D:\msdn\cab2.cab'
MSI (s) (2C:D0) [19:37:17:073]: File 'D:\msdn\cab2.cab' is not trusted. WinVerifyTrust returned 0x80092003
MSI (s) (2C:B4) [19:37:17:073]: Note: 1: 1330 2: D:\msdn\cab2.cab 3: 8195
MSI (s) (2C:B4) [19:37:17:073]: Product: MSDN Library for Visual Studio 2008 - ENU -- Error 1330.A file that is required cannot be installed because the cabinet file D:\msdn\cab2.cab has an invalid digital signature. This may indicate that the cabinet file is corrupt. Error 8195 was returned by WinVerifyTrust.

HRESULT 0x80092003 is CRYPT_E_FILE_ERROR, and Windows Installer logically errs on the side of caution and returns Windows Installer error message 1330.

We saw this more on burnt DVDs than on pressed DVDs because of the quality and method of transfer. This was also common when our network was strained from everyone installing the RTM bits.

If you were active in VS2008 Beta, you might have saw this problem a little differently and less frequently as Windows Installer error message 1335. The error template reads,

The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.

The underlying cause was the same - the file could not be fully read - but error message 1335 is returned by Windows Installer when Windows Installer itself couldn't read the entire file and since it isn't a security issue, it retries 5 times before failing.

The difference is whether or not the cabinets are signed - a requirement for shipping a product: all file types that accept an Authenticode signature must be signed. Technically, Windows Installer runs cabinets through WinVerifyTrust() if there is an entry in the MsiDigitalSignature table for them, but this was still necessary to verify the installation media.

In general, Windows Installer error messages 1330 and 1335 can be worked around either by retrying the failing installation or by copying the full installation source to your hard drive. The latter has the additional benefit - if you have the disk space to leave the source from where you installed it - of satisfying source resolution automatically. But that's a post for another day.

Leave a Comment
  • Please add 8 and 8 and type the answer here:
  • Post
  • PingBack from http://klaudek.adoption23.info/2007/12/14/how-to-workaround-error-1330-during-visual-studio-2008-installation/

  • I downloaded VS2008 using Microsoft's download manager. The install worked perfectly n two of my machines and doesn't work at all on the third, returning error 1330. I've tried replacing the specified cab file in the install folder. Then it returns with error 1330 with the next cab file. What I fail to understand is why the instal doesn't work on a particular machine.

  • Bryan, did you copy these from machine to machine or just download them again?

  • I have the same Problem as Bryan.

    I have installed the Visual Studio 2008 fine on 2 machines. the MSDN however installed fine on one machine and not on another. How do I get this installed?

  • Morgan, did you try copying the files manually? MSDN in particular has a very large CAB - around 200MB. Moving this to local media should typically help.

  • Same for me.  I have downloaded every single ISO from MS and none of them will install.  I've extracted all files to the local HD for installing and still the same.  Mine all bomb out on cab1.cab during the installation of VS 2008.

  • It might help to close down all running processes that you can. A similar issue with VS 2005 SP1 was exhausted memory or not enough contiguous virtual memory. The latter can be worked around by changing optimization from background services to running apps in your System configuration panel.

  • I have an ISO which when mounted with Daemon Tools allows me to install fine on one machine (XP SP2), however on another (XP SP2 as well) it fails consistently with 1330 on cab1.cab during installation of the VS2008 component.  Note that the CAB files for this component are at most 50Mb, and cab1.cab in particular is only 16Mb.  The larger cab files talked about above are only for the MSDN installation.  

    I've tried:

    a) Copying ISO to HDD, mounting with daemon tools - same problem.

    b) Extracting ISO to same HDD as I'm installing to and a secondary HDD in the same machine - both result in the error.

    c) Burning ISO to DVD and installing off the disk - same problem.

    d) Copying ISO to a network server, mounting using daemon tools - same problem.

    e) Extracting ISO to HDD and burning the files directly to DVD and installing off the disk (effectively the same as (c)) - same problem.

    If you ask me, in the year 2008, we should NOT be seeing issues like "files not being fully read", especially of this size (Mb not Gb), and when they are stored on a local HDD.  Clearly there is a weakness in the code that is reading these CAB files.  

    Is there anything else I can try?

  • Mr. Bungle - or anyone running into this problem - can you try to run the following on the file that fails and let me know if it also fails. If you don't have signtool.exe, you can download it as part of the Windows Installer SDK. That installs by default with Visual Studio so on the machine where it installed you can grab it.

    signtool verify /pa /v <path to cab>

    The last line should say whether it succeeded or failed, and the verbose spew should contian more information.

    If we can isolate the problem we can more easily track it down.

  • Downloaded via MSDN Download Manager then burned ISO to DVD.

    C:\Program Files\Microsoft Visual Studio 8\VC>signtool verify /pa /v "d:\cab11.cab"

    Verifying: d:\cab11.cab

    SignTool Error: WinVerifyTrust returned error: 0x80096010

           The digital signature of the object did not verify.

    Signing Certificate Chain:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   12/31/2020 1:00:00 AM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Code Signing PCA

           Issued by: Microsoft Root Authority

           Expires:   8/25/2012 1:00:00 AM

           SHA1 hash: 3036E3B25B88A55B86FC90E6E9EAAD5081445166

               Issued to: Microsoft Corporation

               Issued by: Microsoft Code Signing PCA

               Expires:   2/22/2009 6:33:13 PM

               SHA1 hash: D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1

    The signature is timestamped: 11/8/2007 3:21:03 PM

    Timestamp Verified by:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   12/31/2020 1:00:00 AM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Timestamping PCA

           Issued by: Microsoft Root Authority

           Expires:   9/15/2019 1:00:00 AM

           SHA1 hash: 3EA99A60058275E0ED83B892A909449F8C33B245

               Issued to: Microsoft Timestamping Service

               Issued by: Microsoft Timestamping PCA

               Expires:   6/12/2012 6:04:51 PM

               SHA1 hash: F9B6EB0ACFFB8DC1B836EE16711BFF423CA1D573

    SignTool Error: File not valid: d:\cab11.cab

    Number of files successfully Verified: 0

    Number of warnings: 0

    Number of errors: 1

  • Thanks Heath.  I put signtool.exe v6.0.6000.16384 and cab50.cab (the smallest cab file - 3Mb) on a USB key and tried that command  on the two PCs.  As expected, it was verified on one, but not the other.  So it is not a problem with the installation media.  I'm betting it's a windows update thing - I must be missing an update that is needed for WinVerifyTrust to work.  Here's the output I got:

    Windows version: 5.1 (Build 2600.xpsp_sp2_qfe.070227-2300 : Service Pack 2)

    E:\Windows SDK 6.0A>signtool verify /pa /v cab50.cab

    Verifying: cab50.cab

    SHA1 hash of file: 5FF0953EE89C5C8ACDB90D72B8F52B0B3F79EFED

    Signing Certificate Chain:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   31/12/2020 6:00:00 PM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Code Signing PCA

           Issued by: Microsoft Root Authority

           Expires:   25/08/2012 6:00:00 PM

           SHA1 hash: 3036E3B25B88A55B86FC90E6E9EAAD5081445166

               Issued to: Microsoft Corporation

               Issued by: Microsoft Code Signing PCA

               Expires:   23/02/2009 11:33:13 AM

               SHA1 hash: D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1

    The signature is timestamped: 9/11/2007 8:33:02 AM

    Timestamp Verified by:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   31/12/2020 6:00:00 PM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Timestamping PCA

           Issued by: Microsoft Root Authority

           Expires:   15/09/2019 6:00:00 PM

           SHA1 hash: 3EA99A60058275E0ED83B892A909449F8C33B245

               Issued to: Microsoft Timestamping Service

               Issued by: Microsoft Timestamping PCA

               Expires:   16/09/2011 1:05:22 PM

               SHA1 hash: A2D57D63CF331B177BE147088FEABEC7388BE01D

    Successfully verified: cab50.cab

    Number of files successfully Verified: 1

    Number of warnings: 0

    Number of errors: 0

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Windows version: 5.1 (Build 2600.xpsp_sp2_rtm.040803-2158 : Service Pack 2)

    I:\Windows SDK 6.0A>signtool verify /pa /v cab50.cab

    Verifying: cab50.cab

    SHA1 hash of file: 5FF0953EE89C5C8ACDB90D72B8F52B0B3F79EFED

    SignTool Error: WinVerifyTrust returned error: 0x800B010E

           The revocation process could not continue - the certificate(s) could not be checked.

    Signing Certificate Chain:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   31/12/2020 6:00:00 PM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Code Signing PCA

           Issued by: Microsoft Root Authority

           Expires:   25/08/2012 6:00:00 PM

           SHA1 hash: 3036E3B25B88A55B86FC90E6E9EAAD5081445166

               Issued to: Microsoft Corporation

               Issued by: Microsoft Code Signing PCA

               Expires:   23/02/2009 11:33:13 AM

               SHA1 hash: D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1

    The signature is timestamped: 9/11/2007 8:33:02 AM

    Timestamp Verified by:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   31/12/2020 6:00:00 PM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Timestamping PCA

           Issued by: Microsoft Root Authority

           Expires:   15/09/2019 6:00:00 PM

           SHA1 hash: 3EA99A60058275E0ED83B892A909449F8C33B245

               Issued to: Microsoft Timestamping Service

               Issued by: Microsoft Timestamping PCA

               Expires:   16/09/2011 1:05:22 PM

               SHA1 hash: A2D57D63CF331B177BE147088FEABEC7388BE01D

    SignTool Error: File not valid: cab50.cab

    Number of files successfully Verified: 0

    Number of warnings: 0

    Number of errors: 1

  • Same thing occurs on the MSDN Library disk downloaded the same way.

    C:\Program Files\Microsoft Visual Studio 8\VC>signtool verify /pa /v "d:\cab8.cab"

    Verifying: d:\cab8.cab

    SignTool Error: WinVerifyTrust returned error: 0x80096010

           The digital signature of the object did not verify.

    Signing Certificate Chain:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   12/31/2020 1:00:00 AM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Code Signing PCA

           Issued by: Microsoft Root Authority

           Expires:   8/25/2012 1:00:00 AM

           SHA1 hash: 3036E3B25B88A55B86FC90E6E9EAAD5081445166

               Issued to: Microsoft Corporation

               Issued by: Microsoft Code Signing PCA

               Expires:   2/22/2009 6:33:13 PM

               SHA1 hash: D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1

    The signature is timestamped: 11/8/2007 12:04:46 AM

    Timestamp Verified by:

       Issued to: Microsoft Root Authority

       Issued by: Microsoft Root Authority

       Expires:   12/31/2020 1:00:00 AM

       SHA1 hash: A43489159A520F0D93D032CCAF37E7FE20A8B419

           Issued to: Microsoft Timestamping PCA

           Issued by: Microsoft Root Authority

           Expires:   9/15/2019 1:00:00 AM

           SHA1 hash: 3EA99A60058275E0ED83B892A909449F8C33B245

               Issued to: Microsoft Timestamping Service

               Issued by: Microsoft Timestamping PCA

               Expires:   9/15/2011 8:05:22 PM

               SHA1 hash: A2D57D63CF331B177BE147088FEABEC7388BE01D

    SignTool Error: File not valid: d:\cab8.cab

    Number of files successfully Verified: 0

    Number of warnings: 0

    Number of errors: 1

  • Can any of you check your performance settings, to see if the failed machines are set for Background Service Optimization? Also, are these Win2K3 machines or what platform are they?

    On Vista: "Start"->Right click on Computer, select Properties. On the left, select "Advanced System Properties", click "Settings" under "Performance", then click the "Advanced" tab. Is "Programs" or "Background services" checked.

    Prior to Vista: basically same instructions as above, but in System Properties click on the "Advanced" tab.

  • As above:

    Windows version: 5.1 (Build 2600.xpsp_sp2_qfe.070227-2300 : Service Pack 2) - Works

    Windows version: 5.1 (Build 2600.xpsp_sp2_rtm.040803-2158 : Service Pack 2) - Fails

    Both machines have 'Programs' checked under 'Processor scheduling'.  

  • Probably worth noting that in your original post, you refer to error code 0x80092003 being returned from WinVerifyTrust.  However in my case it's 0x800B010E and in TechnoDex's it's 0x80096010.

    0x80092003 = CRYPT_E_FILE_ERROR

    0x800B010E = CERT_E_REVOCATION_FAILURE

    0x80096010 = TRUST_E_BAD_DIGEST

Page 1 of 3 (38 items) 123