2011-07-29 5 views
0

내가 BTSTask에 의해 생성 된 MSI 실행할 때 나는 이상한 오류가 점점 오전 :BTSTask 설치 - 윈도우 설치 오류 1001

는 MSI 생성을 :

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

내가이 얻을 설치 프로그램을 실행하면 : 내가는 BizTalk 관리자 콘솔에서 MSI를 내 보낸 다음 실행 때

Weird installer error

도 발생합니다.

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)에 발생합니다.

+0

이것을 보았습니까? - http://blogical.se/blogs/mikael_sand/archive/2010/03/22/pipelines-will-only-go-so-far-aka-length-of-pipeline-names.aspx – Fabio

답변

1

MSI가 GAC에 dll을 설치하려고합니다. 이렇게하려면 dll에 강력한 이름의 키로 서명해야하며 dll의 이름은 서명 한 후에 변경하면 안됩니다.

다른 가능성은 MSI를 설치하는 프로세스가 dll을 GAC에 추가 할 수 없다는 것입니다. MSI 설치는 Windows Installer 서비스에서 실행되며 해당 서비스의 ID를 확인하십시오.

다음 가능성은 dll 중 하나에 특수 문자가있는 이름이 있다는 것입니다. DLL을 수동으로 gac에 추가하십시오.

+0

에있는 어셈블리가 없습니다. MSI는 지연 서명되었거나 이름이 변경되었습니다. 나는 그들 모두를 sn -vf로 검사했고 모두 유효하다. –

+0

Windows Installer 서비스가 로컬 시스템 계정에서 실행 중입니다. –

+0

BizTalk 관리자를 통해 MSI 파일을 가져올 때 DLL이 모두 GAC로 이동합니다. 이것은 실제 어셈블리에는 아무런 문제가 없음을 증명합니다. –