我有一个相对简单的支持应用程序,我选择通过点击一次部署到我们的支持人员。
我认为它仍称为Click-Once。我正在使用VS2008中项目属性的发布选项卡。
有几个用户设法点击进入网址,下载并运行该应用程序。
一个特定用户不能。
他安装了.Net 3.5 SP1,并且确实到达了发布页面,在那里他可以选择安装。点击这个后,他会收到一条错误消息
错误消息包含以下短语
我很想知道可能导致这种情况的原因......
我无法理解为什么我发布的服务器会以不同的方式对待这个用户。
有什么想法吗?
答案 0 :(得分:4)
要求您的用户点击“详细信息...”按钮,然后通过电子邮件向您发送完整内容。在“错误摘要”部分中,您可能会看到以下内容:
用户应该收到“需要代理身份验证”对话框的提示,但如果他们没有看到,则代理服务器返回非标准响应。基本上你需要让你的代理服务器的供应商来修复他们破碎的软件,但是你可以通过让他们编辑他们工作站的MACHINE.CONFIG文件以包含以下内容来解决问题:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.web>
</configuration>
这通常意味着源服务器(托管应用程序的Web服务器)正在主动拒绝您的用户访问。 这是由于:
IP地址限制 - 如果它是内部企业Web服务器,则很可能。如果您有一个受IP地址限制的网站,请找出您的用户的IP(假设它是静态的)并将其添加到访问列表中。
文件系统许可 - 内部企业服务器上的另一个常见问题。找出您的用户向您的服务器验证的用户名(组/),并确保.application文件和该目录的所有内容(包括目录本身)对其帐户具有正确的权限。
希望这有帮助!
答案 1 :(得分:1)
他甚至没有安装应用程序。要尝试的事情:
答案 2 :(得分:1)
要考虑的一件事是清除用户应用程序缓存。我已多次遇到此问题,似乎由于某种原因,ClickOnce应用程序可能会损坏,并且它们没有自行修复的机制。
对于Vista,应用缓存位于 C:\ Users \\ AppData \ Local \ Apps \ 2.0 。之后,它变成了一堆随机文件夹名称(如NXJW1HVZ.DQH)。我很幸运只是删除了2.0目录。任何安装的应用程序将在用户下次从Web打开时重新安装。
警告!删除所有内容都可能会删除与已安装的应用相关联的数据,因此您可能需要更多的手术而不仅仅是删除所有内容(如果您仔细浏览文件夹,您会找到您的应用)
答案 3 :(得分:0)
可能为时已晚:)
我的问题就像你的问题。我只需在NotePad Editor的根文件目录中打开[Program-Name].Application
,然后更改此标记:
<deploymentProvider codebase="file://server-name/Setup-directory/[P-N].application" />
Server-Name
和Setup-Directory
必须与您共享ClickOnce-Setup-File and Directory
的位置相同。
试试吧,也许可以帮助你。
答案 4 :(得分:-1)
我有错误的权限,但随后将其修复。因此Clickonce说禁止在其他浏览器中访问的文件中包含403。然后,它只是神奇地起作用了。这只是一个理论,但我认为Clickonce使用的是自己的缓存位置,如果以前失败,则在更正权限后将继续说403。