ClickOnce - 安装应用程序会出现 'Cannot Start Application' 错误

ClickOnce - installing an app gives 'Cannot Start Application' error

我有一个简单的 windows 应用程序,我想通过 Azure 上的 运行 网站进行分发。我先在本地发布应用程序,然后手动将工件复制到位于 ../fold/apps/tools

位置的 Web 服务器

发布位置:C:\Users\MyUsername\Documents\publish 安装文件夹 URL:https://somewebsite/fold/apps/tools/ 更新位置与安装文件夹相同。

复制过来的文件是"Application Files"文件夹,Myapp.application,publish.htm和setup.exe。

现在我登录网站并使用 https://somewebsite/fold/apps/tools/Myapp.application

下载应用程序

单击下载的文件会显示 'Cannot Start Application' 弹出窗口。单击详细信息按钮会在日志文件中显示以下错误。

来源 部署 url : file:///C:/Users/MyUsername/Downloads/Myapp.application 部署提供商 url:https://somewebsite/fold/apps/tools/Myapp.application

错误摘要 下面是错误的摘要,这些错误的详细信息稍后在日志中列出。 * C:\Users\MyUsername\Downloads\Myapp.application 的激活导致异常。检测到以下失败消息: + 无法访问清单中指定的部署提供程序。可能由于网络错误 and/or,部署提供程序没有正确响应。 + 来自 https://somewebsite/login.aspx?ReturnUrl=%2ffold%2ftools%2fMyapp.application 的异常读取清单:清单可能无效或文件无法打开。 + 本 XML 文档中禁止使用 DTD。 我不明白为什么它会在我登录时尝试重定向到登录页面。为了测试,我将一个简单的文本文件放在与 .application 文件相同的位置,并在登录后能够访问它。

请让我知道问题出在哪里。

非常感谢

结果是'You cannot use forms authentication with ClickOnce deployment'。参见 Use ClickOnce on password protected web site。 我最终通过放置一个 Web.config 文件向世界开放了文件夹 <system.web> <authorization> <allow users="?"/> </authorization> </system.web> 这对我来说没问题,因为 windows 应用程序不需要密码保护。