我最近向我们的测试服务器发布了一个新的.NET ClickOnce应用程序,但无法实际启动该应用程序。
提供自动生成的publish.htm文件,就像我放在目录中的任何其他文件一样。 我可以打开IIS(6.0)中的目录浏览并验证是否显示.application文件。 但是,如果我通过publish.htm文件或直接请求.application文件,我会收到404错误。
我已经确认已经定义了MIME类型,当我在IIS日志中查看请求时,我看到错误代码是404.0,win32代码为2.这似乎表明该文件不是因为Windows无法找到它而服务,但同样,目录中的每个其他文件都没有问题。
我已经验证.application文件与网站上的每个其他文件具有完全相同的权限,我可以从服务器手动运行.application文件并观察应用程序安装,因此Windows似乎知道毕竟文件。
答案 0 :(得分:1)
终于弄明白了。它实际上不是IIS,或者至少不是直接的。为IIS正确配置了MIME类型以识别文件并允许下载。
正如本文解释(http://support.microsoft.com/kb/318380),MIME类型阻止下载,日志应显示404.3而不是404.0。
事实证明,URLScan也安装在服务器上,并且已配置为禁止所有未明确标记为允许的文件扩展名的请求。我真的不知道在这样的请求中执行的顺序,但看起来IIS将此解释为文件根本不存在于驱动器而不是许可/安全问题。
答案 1 :(得分:0)
您可以从网络浏览器访问该文件吗? IIS可能正在保护该文件类型。