2011-02-01 8 views
0

최근에 테스트 서버에 새 .NET ClickOnce 응용 프로그램을 게시했지만 실제로 응용 프로그램을 시작할 수 없습니다.404 응용 프로그램 매니페스트를 요청할 때 오류가 발생했습니다.

자동 생성 된 publish.htm 파일이 디렉토리에있는 다른 파일과 함께 제공됩니다. IIS (6.0)에서 디렉터리 검색을 설정하고 .application 파일이 표시되는지 확인할 수 있습니다. 그러나 .application 파일을 publish.htm 파일이나 직접 요청하면 404 오류가 발생합니다.

MIME 형식이 이미 정의되어 있고 IIS 로그의 요청을 보면 오류 코드가 404.0이고 win32 코드가 2 인 것을 확인할 수 있습니다. 이는 파일 Windows는 찾을 수 없기 때문에 서비스되지 않지만 다시 디렉토리의 다른 모든 파일은 문제없이 제공됩니다.

.application 파일이 사이트의 다른 모든 파일과 완전히 동일한 사용 권한을 갖고 있으며 서버에서 .application 파일을 수동으로 실행하고 응용 프로그램 설치를 감시 할 수 있음을 확인했습니다. 파일은 결국입니다.

답변

0

웹 브라우저에서 파일에 액세스 할 수 있습니까? IIS가 해당 파일 형식을 보호하고있을 수 있습니다. http://msdn.microsoft.com/en-us/library/ms228998.aspx

+0

아니요. 서버 및 원격 시스템의 웹 브라우저에서 파일에 액세스를 시도했지만 모두 동일한 404 오류가 발생합니다. – jlwalker

+0

http://msdn.microsoft.com/en-us/library/ms228998.aspx에서보십시오 –

+0

팁 주셔서 감사합니다,하지만 난 이미 게시하기 전에 이것을 통해 읽었습니다. 나는 IIS가 올바른 MIME 유형으로 구성되어 있는지 확인했으며, 다시 말해 win32 코드 2의 404 오류는 실제로 IIS가 제공되는 것이 아니라 파일을 찾는 IIS에 문제가 있음을 나타냅니다. 이 점을 감안할 때 문제는 ClickOnce 배포에서 파일이 사용되는 방식과는 전혀 관계가없는 것으로 보입니다. – jlwalker

0

에서

봐 마지막으로이 알아 냈어. 사실 IIS가 아니거나 적어도 직접적으로는 아니 었습니다. IIS가 파일을 식별하고 다운로드 할 수 있도록 MIME 형식이 올바르게 구성되었습니다.

이 문서가 설명하는대로 (http://support.microsoft.com/kb/318380) MIME 형식이 다운로드를 방지하여 404.3에서 404.0이 아닌 로그가 표시되어야합니다.

URLScan도 서버에 설치되었으며 명시 적으로 허용되지 않는 파일 확장명을 가진 모든 요청을 허용하지 않도록 구성되었습니다. 나는 그러한 요청을하는 동안 실행 순서를 알지 못하지만, IIS는 이것을 권한/보안 문제가 아니라 단순히 드라이브에 존재하지 않는 파일로 해석합니다.

+0

당신이 알아 낸 것을 기쁘게 생각합니다. –

관련 문제