代码之家  ›  专栏  ›  技术社区  ›  BrilBroeder

ClickOnce:无法下载应用程序

  •  0
  • BrilBroeder  · 技术社区  · 8 年前

    我正在创建ClickOnce PoC。我们喜欢使用部署API进行更新,因此应用程序不应该以“正常”方式自我更新。

    情景1: 选中“应用程序应检查更新”复选框。

    enter image description here

    发布 尝试安装应用程序

    结果:一切正常

    情景2: 取消选中“应用程序应检查更新” 出版 尝试安装

    误差

    enter image description here

    细节:

    平台版本信息窗口:10.0.16299.0(win32nt)common 语言运行时:4.0.30319.42000 system.deployment.dll: 4.7.2556.0生成者:net471rel1 clr.dll:4.7.2650.0生成者:net471rel1last_b dfdll.dll:4.7.2556.0生成者:net471rel1 dfshim.dll:10.0.16299.15(winbuild.160101.0800)

    源部署URL: 文件:///c:/temp/clickoncepoc.wpf%20(15).application

    标识部署标识:clickoncepoc.wpf.application, version=1.0.1.7,culture=neutral,publicKeyToken=664AA18D594FB70E, processorArchitecture=msil

    应用程序摘要*可安装应用程序。

    下面的错误摘要是错误的摘要,这些错误的详细信息 错误将在日志的后面列出。*激活 C:\temp\clickoncepoc.wpf(15)。应用程序导致异常。 检测到以下失败消息:+正在下载 文件:///c:/temp/application 文件/clickoncepoc.wpf_1_0_1_7/clickoncepoc.wpf.exe.manifest没有 成功。+找不到路径“c:\temp\application”的一部分 文件\clickoncepoc.wpf_1_0_1_7 \clickoncepoc.wpf.exe.manifest'。+ 找不到路径“c:\temp\application”的一部分 文件\clickoncepoc.wpf_1_0_1_7 \clickoncepoc.wpf.exe.manifest'。+ 找不到路径“c:\temp\application”的一部分 文件\clickoncepoc.wpf_1_0_1_7 \clickoncepoc.wpf.exe.manifest'。

    组件存储事务失败摘要没有事务错误 检测。

    警告在此操作期间没有警告。

    运行进度状态*【28/05/2018 11:41:56】:激活 C:\temp\clickoncepoc.wpf(15)。应用程序已启动。*[2018年5月28日 11:41:56]:已成功处理部署清单 完整的。*【28/05/2018 11:41:56】:安装应用程序 已经开始。

    在此操作期间检测到以下错误的错误详细信息。 *[2018年5月28日11:41:56] System.Deployment.Application.DeploymentDownloadException(未知 子类型) -正在下载文件:///c:/temp/application files/clickoncepoc.wpf_1_0_1_7/clickoncepoc.wpf.exe.manifest没有 成功。 -来源:System.Deployment -堆栈跟踪:位于System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem 下一步)在 system.deployment.application.systemnetdownloader.downloadallfiles()。 在 system.deployment.application.filedownloader.download(订阅状态 子状态,x509certificate2 clientcertificate),位于 system.deployment.application.downloadmanager.downloadmanifestasrawfile(uri& sourceuri,string targetpath,idownloadnotification通知, 下载选项、服务器信息和服务器信息) System.Deployment.Application.DownloadManager.DownloadApplicationManifest(assemblyManifest) deploymentmanifest,string targetdir,uri deploymenturi, IDownloadNotification通知、下载选项选项、URI& appsourceuri,string&appmanifestpath)位于 System.Deployment.Application.ApplicationActivator.DownloadApplication(订阅状态 子状态,ActivationDescription ActDesc,Int64 TransactionID, tempdirectory&downloadtemp)位于 system.deployment.application.applicationActivator.installApplication(订阅状态) 子状态,激活描述actdesc)at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(URI) activationuri,布尔Isshortcut,字符串textualSubID,字符串 DeploymentProviderUrlfromextension,浏览器设置浏览器设置, string&errorpageurl,uri&deploymenturi)位于 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(URI activationuri,布尔Isshortcut,字符串textualSubID,字符串 DeploymentProviderUrlfromextension,浏览器设置浏览器设置, 字符串和错误页面URL) ---上一个引发异常的位置的堆栈跟踪结束---at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()位于 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(URI activationuri,布尔Isshortcut,字符串textualSubID,字符串 DeploymentProviderUrlfromextension,浏览器设置浏览器设置, 字符串和错误页URL)位于 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象 状态)---内部异常---System.net.WebException -找不到路径“c:\temp\application files\clickoncepoc.wpf_1_0_1_7\clickoncepoc.wpf.exe.manifest”的一部分。 -来源:系统 -堆栈跟踪:位于System.NET.FileWebRequest.EndGetResponse(IAsyncResult AsyncResult) 在 System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(下载队列项 下一步)---内部异常---System.net.WebException -找不到路径“c:\temp\application files\clickoncepoc.wpf_1_0_1_7\clickoncepoc.wpf.exe.manifest”的一部分。 -来源:系统 -堆栈跟踪:在system.net.filewebresponse..ctor(filewebrequest请求,uri uri,fileaccess访问,boolean asynchhint)在 System.NET.FileWebRequest.GetResponseCallback(对象状态)--- 内部异常---System.IO.DirectoryNotFoundException -找不到路径“c:\temp\application files\clickoncepoc.wpf_1_0_1_7\clickoncepoc.wpf.exe.manifest”的一部分。 -资料来源:mscorlib -堆栈跟踪:在system.io.\u error.winioerror(int32错误代码,字符串mayboullpath)在system.io.filestream.init(字符串路径, 文件模式、文件访问权限、Int32权限、布尔用户权限, 文件共享共享,Int32缓冲区大小,文件选项, 安全属性secattrs,string msgpath,boolean bfromproxy, boolean uselongpath,boolean checkhost)位于 system.io.filestream..ctor(字符串路径、文件模式模式、文件访问) 访问,文件共享共享,Int32 BufferSize,文件选项,字符串 msgpath,boolean bfromproxy)位于 system.net.filewebstream..ctor(filewebrequest请求,字符串路径, 文件模式、文件访问访问、文件共享、Int32长度, Boolean Async)在System.NET.FileWebResponse..ctor(FileWebRequest)上 请求、URI、文件访问访问、布尔异步提示)

    组件存储事务详细信息没有事务信息是 可用。

    有什么建议吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   BrilBroeder    8 年前

    我找到了一个解决办法。

    部署启用了更新的应用程序。 使用mageui.exe更新部署清单。在mageui中,取消选中更新,保存清单并对其签名,这样您就有了清单的工作版本。

    推荐文章