【问题标题】:ClickOnce update with Apache server使用 Apache 服务器进行 ClickOnce 更新
【发布时间】:2012-03-06 06:08:34
【问题描述】:

我一直在开发一个 C# 应用程序,一旦我将它交付给客户,它就需要进行错误修复和更新。我目前正在尝试微软的 clickOnce 方法来提供更新。

为此,我需要使用首页服务器扩展将我的应用程序发布到服务器(如果我没记错的话!)。我们正在使用启用 Windows Server 2008 的机器,运行 Apache,我在 Google 上搜索了“在 Apache 服务器上发布 c sharp 应用程序”,我发现this workaround.

它编辑.htaccess 文件以允许访问VS 以发布应用程序。但这似乎不起作用。我猜这个页面已经过时了,写于 2006 年。

所以我的问题是:

  1. 如何在 apache box 上发布 c sharp 应用程序?
  2. 我们如何发布应用程序?用VS还是其他方法?

【问题讨论】:

  • 您应该能够将发布操作创建的任何文件放入映射到发布文件时给定的 url 的文件夹中。 Clickonce 非常简单。一旦用户可以“下载”文件,您就可以开始使用了。
  • 我把'publish'生成的所有文件都放在了url指定的文件夹中。我什至更改了清单文件中的版本,但应用程序没有提示可用更新。我怀疑它没有检查网址。我在启动应用程序之前更改了项目属性以检查更新,并指定了检查 url。但没有运气!
  • 如果您在干净的机器上安装刚刚发布的应用程序,它会是最新版本吗?在那之后,如果您启动安装在另一台机器上的先前版本,它会更新它吗?如果答案是“是”和“否”,请检查您是否选择了正确的更新策略在应用程序启动之前
  • 当我创建安装程序时,它检测到现有版本并说它将升级到更新版本,但它似乎不起作用。我尝试更改清单文件中的版本号,使用了主要和次要升级,但没有运气。
  • 在部署到 Apache 之前,尝试发布到服务器(甚至您的开发机器)上的文件共享,安装在测试机器(甚至您的开发机器)上,发布更新,然后检查客户端更新。如果这不起作用,那么您将知道这是一个一般性的单击一次问题,如果有效,您就知道这与通过 URL 托管它有关。

标签: c# apache .htaccess clickonce


【解决方案1】:

清单和有效负载(文件)只需要生成然后整体复制到您的服务器,它不必是 Windows 机器。

发布到本地文件夹/共享,然后替换整个 ClickOnce 文件夹,以便代码安全值保持不变。我建议您始终重命名当前文件夹,然后将最新位复制到作为您的安装位置的“新”文件夹中。

【讨论】:

    【解决方案2】:

    我设法用这个解决方法提供了更新(我不知道这有多可行!需要输入!)

    我使用数据库来跟踪版本号和(链接)最新的软件副本。然后我在启动时检查更新。如果有新的更新可用,它会下载 exe(在应用程序本身中),关闭应用程序并运行安装程序。

    我正在使用 install-shield 来生成设置。但是当我在已经有旧版本软件的机器上运行安装程序时,它不会更新它,即使它显示它的更新。

    我知道 Visual Studio 也提供了创建安装的选项,但它也不起作用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 2019-12-07
      相关资源
      最近更新 更多