使用 ClickOnce 在 GitHub 上部署安装/更新问题

我一直在尝试找出使用 ClickOnce 部署 WPF 应用程序的最佳方法。我会从 GitHub URL 下载安装文件,然后交叉手指,每次都会遇到这个:


PLATFORM VERSION INFO

    Windows             : 10.0.15063.0 (Win32NT)

    Common Language Runtime     : 4.0.30319.42000

    System.Deployment.dll       : 4.7.2046.0 built by: NET47REL1

    clr.dll             : 4.7.3130.0 built by: NET472REL1LAST_B

    dfdll.dll           : 4.7.2046.0 built by: NET47REL1

    dfshim.dll          : 10.0.15063.0 (WinBuild.160101.0800)


SOURCES

    Deployment url          : https://github.com/SuperScrub837/tree/master/SuperScrub837/SuperScrub837/publish/SuperScrub837.application


ERROR SUMMARY

    Below is a summary of the errors, details of these errors are listed later in the log.

    * Activation of https://github.com/SuperScrub837/tree/master/SuperScrub837/SuperScrub837/publish/SuperScrub837.application resulted in exception. Following failure messages were detected:

        + Exception reading manifest from https://github.com/SuperScrub837/blob/master/SuperScrub837/SuperScrub837/publish/SuperScrub837.application: the manifest may not be valid or the file could not be opened.

        + DTD is prohibited in this XML document.


COMPONENT STORE TRANSACTION FAILURE SUMMARY

    No transaction error was detected.


WARNINGS

    There were no warnings during this operation.


OPERATION PROGRESS STATUS

    * [8/14/2018 8:21:48 PM] : Activation of https://github.com/SuperScrub837/tree/master/SuperScrub837/SuperScrub837/publish/SuperScrub837.application has started.


ERROR DETAILS

    Following errors were detected during this operation.

    * [8/14/2018 8:21:50 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse)

        - Exception reading manifest from https://github.com/SuperScrub837/blob/master/SuperScrub837/SuperScrub837/publish/SuperScrub837.application: the manifest may not be valid or the file could not be opened.

        - Source: System.Deployment

        - Stack trace:


四季花海
浏览 197回答 1
1回答

沧海一幻觉

因此,在 GitHub 上发布我的 ClickOnce 可执行文件的目的是允许在我的软件更新时从这个存储库下载更新。正如本网站上的许多人所知,GitHub 不鼓励下载原始文件,因为他们通常打算将自己作为代码本身的存储库系统 - 他们不希望下载时间过长等。请记住,至少目前我一直在构建的这个应用程序是轻量级的,因此由于我目前没有可用资源的替代方案,因此我决定将这些更新的可执行文件保留在 repo 本身上。如果有人想这样做,这里有一个提示,您之前可能已经看过 - 尝试使用以下 URL:https://github.com/SuperScrub837/raw/master/SuperScrub837/SuperScrub837/publish/代替:https://github.com/SuperScrub837/tree/master/SuperScrub837/SuperScrub837/publish/在项目的 ClickOnce 首选项中。当我使用链接的原始版本时,另一个应用程序上部署的应用程序成功更新,没有任何错误。希望这会有所帮助并且不会太多余 - 此外,本文可能属于 ServerFault 或其他内容,所以如果是这种情况,我很抱歉,因为我在这里提出了这个问题。
打开App,查看更多内容
随时随地看视频慕课网APP