BTSTask安装程序 - Windows安装程序错误1001

时间:2011-07-29 08:16:58

标签: windows-installer biztalk

当我运行BTSTask生成的MSI时,我收到一个奇怪的错误:

生成MSI:

BTSTask ExportApp /ApplicationName:MyBizTalkApp /Package:MyBizTalkApp.msi

当我运行安装程序时,我得到了这个:

Weird installer error

当我从BizTalk管理员控制台导出MSI然后运行它时,也会发生这种情况。

我创建了一个msiexec日志文件。发生此错误的行似乎是:

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.

编辑:MSI中的任何程序集都没有延迟签名或已重命名。我用sn -vf检查了它们,它们都是有效的。

EDIT2:这发生在我的所有服务器上(Win2k8 R2)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

MSI正在尝试在GAC中安装dll。要执行此操作,必须使用强名称密钥对dll进行签名,并且签名后不得更改dll的名称。

另一种可能性是安装MSI的过程不允许将dll添加到GAC。 MSI安装在Windows安装程序服务下运行,检查该服务的身份。

下一个可能性是其中一个dll的名称带有特殊字符。尝试手动将dll添加到gac中。