2009-04-17 1 views
2

Visual Studio 2005에서 개발되어 ClickOnce를 통해 IIS 서버에 배포 된 Windows 양식 응용 프로그램이 있습니다. VS2008로 업그레이드 했으므로 테스트에서 응용 프로그램을 업그레이드하고 재배포하기로 결정했습니다. 업그레이드 마법사를 실행하고 수동으로 프로젝트의 대상 런타임을 3.5로 변경하고 배포 서버에서 모든 이전 게시 파일을 제거하고 응용 프로그램을 게시했습니다.업그레이드 된 .NET 응용 프로그램의 ClickOnce 배포 오류

문제없이 실행할 수는 있지만 (다른 사람이 실행하면) 오류가 발생합니다.

계속할 수 없습니다. 응용 프로그램 형식이 잘못되었습니다. 도움이 필요하면 응용 프로그램 공급 업체에 문의하십시오.

오류 대화 상자에 자세히 ... 버튼이 있습니다. 여기에 몇 가지 내용이 있습니다.

PLATFORM VERSION INFO 
Windows    : 5.1.2600.131072 (Win32NT) 
Common Language Runtime  : 2.0.50727.1433 
System.Deployment.dll  : 2.0.50727.1433 (REDBITS.050727-1400) 
mscorwks.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 
dfdll.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 
dfshim.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 

CLR은 2.0입니다.

ERROR SUMMARY 
Below is a summary of the errors, details of these errors are listed later in the log. 
* Activation of http://{deployment host name}/ resulted in exception. Following failure messages were detected: 
    + Exception reading manifest from http://{deployment host name}/{application name}.application: the manifest may not be valid or the file could not be opened. 
    + Manifest XML signature is not valid. 
    + No signature was present in the subject. 

신청서에 서명하지 않았습니다. 완전히 내부적 인 부서별 신청서입니다. 나는 그 문제가 서명의 부족이 아니라고 생각한다. 그것은 .NET이 잘못된 런타임을 사용하고 있고, 2.0 런타임이 3.5 manifest를 처리 할 수 ​​없다는 것이다. 하지만 그렇다면 3.5 런타임을 사용하는 방법을 알아낼 수는 없습니다.

아마도 이전 버전이 캐싱되어 사용자가 rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache으로 실행되었다고 생각했습니다. 캐시가 지워졌으므로 (응용 프로그램이 다음 번에 완전히 다시로드 됨) 문제를 해결하지 못했습니다.

아무도 ClickOnce 응용 프로그램을 2.0에서 3.5로 업그레이드하는 것과 같은 문제가 있었습니까? 어떤 문제가 내 문제 일 수 있니?

답변

1

.NET Framework 3.5를 필수 구성 요소로 설정했는지 확인하십시오.

프로젝트 설정 -> 게시 -> 전제 조건

+0

좋습니다. 전제 조건을 3.5로 업데이트했습니다. 불행히도 우리는 같은 결과를 얻고 있습니다. –