MOSS 2007, BizTalk 2006, MSCRM 4.0, Windows Server 2008, Hyper-V, Visual Studio 2008, TFS VHD Resources

May 6, 2008

Microsoft Office SharePoint Server 2007 VHD
http://www.microsoft.com/downloads/details.aspx?familyid=67f93dcb-ada8-4db5-a47b-df17e14b2c74&displaylang=en

Microsoft BizTalk 2006 VHD
http://www.microsoft.com/downloads/details.aspx?FamilyID=bcae4531-6689-4016-89da-ffe60d061cef&DisplayLang=en

Microsoft Dynamics CRM 4.0 Virtual Machine
http://www.microsoft.com/downloads/details.aspx?FamilyID=DD939ED9-87A5-4C13-B212-A922CC02B469&displaylang=en

Windows Server 2008 Virtual Machine
http://www.microsoft.com/windowsserver2008/en/us/virtual-hard-drive.aspx

Visual Studio Team System 2008 – Virtual Machines
http://msdn.microsoft.com/en-us/vsts2008/products/cc268311.aspx

Visual Studio® Team System 2008 Team Foundation Server VPC Image
http://www.microsoft.com/downloads/details.aspx?FamilyID=72262ead-e49d-43d4-aa45-1da2a27d9a65&displaylang=en

 

 


Windows Server 2008 Installation Error 1330

May 6, 2008

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.

To avoid this issue, you can download the Windows Platform SDK which includes a tool called signtool.exe. You can simply run the command like this

‘signtool verify /pa D:\msdn\*.cab’ in command prompt. It will tell you which files have invalid digital signature and you can replace those corrupt files by downloading from Microsoft.com again.

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.


Native Resolutions (WXGA, WSXGA, WSXGA+, WUSGA, WQSGA) on Hyper-V Virtual Machine

May 5, 2008

If you are a fan of Hyper-V, you probably know that Hyper-V uses a basic VESA compatible video driver as synthetic hardware. Therefore, even your Virtual Machine’s OS (such as Windows XP SP3 or above, Windows Server 2003 SP2 or above, Vista SP1 or above etc) support Integration Services, the basic VESA video driver would be used instead of it’s parent video driver.

The worst thing is, VESA only supports those 4:3 resolution modes (e.g. 640×480,  800×600, 1024×768, 1600×1200 etc). Thus, it can’t support the native resolution of those wide screen monitors, laptops. It sucks especially when you have to present a Demo/POC thru the projector to the clients. Fortunately, I figured out a workaround to “fix” this issue.

Below is the steps that works on Virtual Machine with Windows XP SP3

  1. Open Hyper-V Manager, Connect to the desired Virtual Machine.
  2. On the Virtual Machine, Check “Allow user to connect remotely to this computer”, then press OK.
  3. Log Off from the Virtual Machine.
  4. On the Parent Machine, Open Remote Desktop Connection and put in the Computer Name of the Virtual Machine.
  5. Enter the User Credential and you are done.