I am getting a weird error when I run an MSI generated by BTSTask:
To generate the MSI:
BTSTask ExportApp /ApplicationName:MyBizTalkApp /Package:MyBizTalkApp.msi
When I run the installer I get this:

This also happens when I export the MSI from the BizTalk Administrator Console and then run it.
I have created a msiexec logfile. The lines where this error occurs seems to be:
DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,
Error 1001. Error 1001: An error occurred while attempting to install the BizTalk application: A file load exception occurred while attempting to install the assembly into the Global Assembly Cache. This error may occur if the assembly is delay signed, or if assembly was renamed after creating/signing.
The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
MSI (s) (2C!40) [15:58:01:321]:
MSI (s) (2C:3C) [15:58:01:362]: Leaked MSIHANDLE (26) of type 790531 for thread 7232
MSI (s) (2C:3C) [15:58:01:411]: Note: 1: 2769 2: _4804EF1F_F198_428B_A6B1_B30276127E0A.install 3: 1
DEBUG: Error 2769: Custom Action _4804EF1F_F198_428B_A6B1_B30276127E0A.install did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _4804EF1F_F198_428B_A6B1_B30276127E0A.install, 1,
CustomAction _4804EF1F_F198_428B_A6B1_B30276127E0A.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (2C:3C) [15:58:01:619]: Closing MSIHANDLE (25) of type 790536 for thread 7776
Action ended 15:58:01: InstallFinalize. Return value 3.
EDIT: None of the assemblies in the MSI are delay signed or have been renamed. I checked them all with sn -vf and they are all valid.
EDIT2: This happens on all my servers (Win2k8 R2)
Any help greatly appreciated.
The MSI is trying to install a dll in the GAC. To do this the dll must be signed with a strong name key, and the name of the dll must not have been changed after signing.
The other possibility is that the process installing the MSI is not allowed to add dll’s to the GAC. The MSI install is run under the windows installer service, check the identity of that service.
Next possibility is that one of the dll’s has a name with a special character. Try adding the dll’s to the gac manually.