And*_*Hin 7 c# deployment clickonce
所以我用C#开发了我的应用程序.我准备好部署它.我想这样做,以便用户始终从我的网站启动它(这样他们总是得到更新,没有安装等).
ClickOnce是正确的方法吗?
我尝试将ClickOnce部署到我的服务器上并向我跳出一些东西:
1)用户可以选择运行设置或启动.application文件 - 有什么区别?它不能自己检测到这个吗?
2)当我尝试"启动".application时,它要求将其下载到我的计算机上.无论如何只是直接从浏览器启动文件?
3)下载并运行.application文件后,出现以下消息时出现错误:"部署和应用程序没有匹配的安全区域."
是的,ClickOnce完全符合您的需求.
所谓的setup.exe"引导程序"用于安装诸如.NET Framework和Microsoft Installer之类的先决条件,因为它是包含安装应用程序所需的ClickOnce运行时的.NET框架.引导程序只需要使用一次,并且只能在没有这些先决条件的计算机上使用,之后只使用.application名为"部署清单" 的文件进行更新.使用ClickOnce发布时,Publish.htm会创建一个文件,其中包含一些JavaScript代码,用于检测用户是否已安装必备组件.如果用户没有,则会显示一个链接到的按钮setup.exe,否则会显示一个直接链接到该按钮的按钮.application文件.您可以使用该页面(或基于它创建一个页面)为您的用户提供最短的安装体验.
.NET Framework未安装在客户端的计算机上(在这种情况下,使用引导程序),或者您的Web服务器未正确配置,因此不会将.application扩展名与MIME类型相关联application/x-ms-application.创建该关联以解决问题.我还建议添加一些http标头来禁用部署清单上的缓存,否则用户的浏览器可以缓存它,这可能导致用户缺少更新.
对于发布到Web位置的ClickOnce安装,您无法在本地下载和运行部署清单文件,因为ClickOnce为本地安装(例如来自本地计算机或网络共享)提供了更高的信任级别,但应用程序清单点到Web上的安装源,它具有较低的信任级别,因此失败.解决问题2后,此问题也将得到解决.