18

我想知道您是否可以为项目创建 ClickOnce 安装程序,然后在 GitHub 上托管安装文件夹(通过下载页面)?

我猜默认情况下 ClickOnce 会将安装文件发布到我认为 Github 下载页面不支持的子文件夹,但也许还有另一种方法。

4

5 回答 5

17

是的你可以。

实际上,我认为与 FTP 相比,这是一种更方便的方式。

  1. 确保您的 Git 设置为“按原样提交”,这样您就可以避免一些签名问题。
  2. 将 ClickOnce 应用程序发布到 git 存储库中的目录(您可能需要另一个分支),并将 Github 上的 raw url 作为下载/更新 url。例如对于存储库“xxx”,分支“master”,用户“vilic”的目录“clickonce”,url 应该是“https://raw.github.com/vilic/xxx/master/clickonce/”
  3. 提交并推送您的应用程序。

顺便说一句,您将能够下载 exe 文件,并且应用程序能够检查和下载更新,因为您直接使用 raw.github.com。但是,您可能无法从浏览器打开 xml 文件,因为 xml 文件的 MIME 类型将是“text/plain”。但我认为你可以尝试使用 Github Pages 来构建这个服务器,它应该以正确的 MIME 类型响应。

于 2012-11-30T16:33:43.757 回答
2

当我开始尝试这样做时,@VILIC 回答的这个问题是有帮助的事情之一。这是我的博客文章,详细介绍了 ClickOnce 到 GitHub 页面是如何实现自动化的 -

http://flickrdownloadr.com/blogs/blog/2013/01/15/single-click-deployment-of-wpf-application-to-github-pages/

于 2013-01-15T07:12:19.613 回答
2

所有这些对我都不起作用:rawgithub.com、raw.github.com、raw.githubusercontent.com。

RawGit 确实有效,因为它提供了正确的 application/x-ms-application Content-Type 标头。

例子:

https://cdn.rawgit.com/Microsoft/RESX-Unused-Finder/master/publish/ResxUnusedFinder.application

还遵循本指南并添加了一个 .gitattributes 文件:

*.manifest binary
*.application binary
*.deploy binary
于 2016-07-20T21:20:32.213 回答
0

从 raw.github.com 提供的大多数内容都具有 text/plain 内容类型,并使用 X-Content-Type-Options: nosniff 标头提供。

您可以将您的 url 从 raw.github.com 更改为 rawgithub.com,这解决了 VILIC VANE 答案中的问题。

于 2013-12-24T04:59:28.897 回答
0

是的,绝对可以!您可以使用原始 GitHub 免费托管您的 .NET 应用程序。

请按照以下步骤操作:(
我还在这里创建了一个说明性视频:https ://youtu.be/iMEGtrjMXPU )

  1. 如果您的项目不在 GitHub 上,请创建一个存储库并将您的代码推送到那里。它必须是公开的。
  2. 在您的计算机上,在存储库的根目录下创建一个名为“published”的文件夹。确保在 .gitignore 中没有忽略此文件夹
  3. 在此 /published 文件夹中创建一个名为 .gitattributes 的文件。添加以下内容
*.manifest binary
*.application binary
*.deploy binary
*  -text
  1. 现在提交并推送到 Github 存储库。导航到存储库中的此文件,单击 RAW 按钮。将 URL 地址复制到“/publish/”。它看起来像这样
    https://raw.githubusercontent.com/{your-account-name}/{your-repo-name}/{branch}/published/
  2. 在 ClickOnce 安装程序中输入以下路径
    1. 发布路径: {repo-path}/pubhished
    2. 安装路径: https://raw.githubusercontent.com/{your-account-name}/{your-repo-name}/{branch}/published/ 这是安装程序安装应用程序的服务器地址。
    3. 更新路径: https://raw.githubusercontent.com/{your-account-name}/{your-repo-name}/{branch}/published/ 这是安装程序检查更新的服务器地址。
      注意:使用此链接浏览 clickonce 安装程序:
      https ://docs.microsoft.com/en-us/visualstudio/deployment/quickstart-deploy-using-clickonce-folder?view=vs-2022 。
      确保在发布之前选中“创建桌面快捷方式”选项。现在提交并推送您的代码。
  3. 现在在 /published 文件夹中单击 setup 以安装应用程序。这将连接 GitHub 服务器以在您的计算机上下载并安装所需文件的目录C:\Users\vib28\AppData\Local\Apps\2.0
  4. 要发布应用程序的更新,请执行以下步骤
    1. 对您的 c# 应用程序进行更改。
    2. 再次发布应用程序(到同一文件夹 /published)。修订号应该会增加,并且应该有一个新文件夹添加到该位置/published/Application Files
    3. 提交代码并将其推送到 GitHub。现在原始文件已更新。所以每当客户端运行他的应用程序时,它会自动提示下载更新。
于 2022-01-21T07:34:47.720 回答