【问题标题】:Trouble with updating my application through ClickOnce无法通过 ClickOnce 更新我的应用程序
【发布时间】:2019-05-03 17:42:43
【问题描述】:

我目前正在为我的工作开发一个应用程序,它将简化我们日常任务中的工作流程,我的所有同事都会使用它,这就是为什么我希望它能够经常更新,我认为ClickOnce 方法非常适合我。

我已经设法让它工作了。我已将“D:\Brandlist Exporting Assistant\”和“http://localhost:8080/”作为发布文件夹(为了测试)。应用程序文件正在更新,我可以通过清单获取最新版本的应用程序,还可以获取桌面快捷方式。但是,“更新”部分不起作用。当我使用桌面快捷方式对应用程序进行更改并发布更改时,它仍然是以前的版本。我仍然可以使用清单并且它会更新,但我希望能够使用快捷方式。我的问题是:这可能吗?或者我只能使用清单?我的猜测是,由于安装文件夹的 URL,它不起作用,但我不确定我必须在那里放什么。

我的问题是:安装文件夹和发布文件夹一样,应该放什么?

【问题讨论】:

  • 您是否选中了应用程序应检查更新复选框并将其设置为应用程序启动之前?参考docs.microsoft.com/en-us/visualstudio/deployment/…
  • 是的,我已经这样做了。我忘了提。
  • 您能分享一下您的清单 (*.application) 文件的内容吗?
  • D:\ 是否只能从您的计算机访问,还是网络共享?或者这是您的网络服务器的 wwwroot(也是 localhost:8080)?

标签: c# .net clickonce


【解决方案1】:

我的问题是:这可能吗?或者我只能使用清单?

是的,可以通过桌面快捷方式更新应用程序(这是首选方式)。仅第一次需要通过网络共享或 url 上的清单文件启动应用程序。

我的问题是:安装文件夹和发布文件夹一样,应该放什么?

测试:

出于测试目的,您可以将安装文件夹留空,一切都应该在您的计算机上运行。不需要像http://localhost...这样的东西:

制作:

在 prod 环境中,您可能有不同的发布和安装文件夹。 您的客户端必须可以访问安装文件夹,并且发布文件夹仅在发布过程中需要。发布文件夹必须只能由您的开发计算机访问。

旁注:

确保在您的发布选项中选中使用 .deploy 文件扩展名

VS 将在您的程序集(.exe 和 .dll)上附加一个“.deploy”文件扩展名。除非您在您知道安全策略和防火墙不会干扰下载 .exe 和 .dll 文件的受控环境中进行部署,否则最好选中此选项。这将允许 Web 服务器管理员继续阻止 .exe 和 .dll mime 类型,并且仍然让 ClickOnce 安装成功。

更新

如果要使用更新机制,则必须指定“更新位置”或“安装文件夹 URL”。您可以使用\\localhost\D$\Brandlist Exporting Assistant\ 进行测试。

【讨论】:

  • 嗨。感谢您的评论。当我尝试将安装 URL 留空时,我得到的是:prntscr.com/njubg6 默认情况下会选中“.deploy”选项。
  • 好的,我没有检查“应用程序应该检查更新”,没有安装文件夹 url 是可能的。在你的情况下,你必须指定一些东西。请参阅我的更新答案。
猜你喜欢
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
相关资源
最近更新 更多