【问题标题】:cannot install program onto other computers无法将程序安装到其他计算机上
【发布时间】:2013-10-20 01:17:07
【问题描述】:

我已经发布了我的 winforms 应用程序的“预览”版本,并且已将其发布到 2 台不同的计算机上。当我运行 ClickOnce 时,它​​说无法安装,联系供应商,并且安装文件甚至没有运行,它只显示加载鼠标十分之一秒,仅此而已,任务管理器中什么都没有,什么都没有。有人可以帮忙吗?

这是点击日志:

平台版本信息 Windows:6.0.6002.131072 (Win32NT) 公共语言运行时:2.0.50727.4016 System.Deployment.dll: 2.0.50727.4016 (NetFxQFE.050727-4000) mscorwks.dll : 2.0.50727.4016 (NetFxQFE.050727-4000) dfdll.dll : 2.0.50727.4016 (NetFxQFE.050727-4000) dfshim.dll 4067 (NetFxQFE.050727-4000)

SOURCES 部署网址: file:///C:/Users/testMachine/Desktop/Event%20Control.application

错误总结 下面是错误的总结,这些的详细信息 错误在日志后面列出。 * 激活 C:\Users\testMachine\Desktop\Event Control.application 导致 例外。检测到以下失败消息:+ 异常 阅读清单 file:///C:/Users/testMachine/Desktop/Event%20Control.application: 清单可能无效或文件无法打开。 + 清单 XML 签名无效。 + SignatureDescription 可以 不会为提供的签名算法创建。

组件商店交易失败摘要没有交易错误 检测到。

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

操作进度状态 * [11/10/2013 21:40:23]:激活 C:\Users\testMachine\Desktop\Event Control.应用程序已启动。

错误详细信息 在此操作期间检测到以下错误。 * [2013 年 11 月 10 日 21:40:23] System.Deployment.Application.InvalidDeploymentException (清单解析) - 从 file:///C:/Users/testMachine/Desktop/Event%20Control.application 读取清单的异常: 清单可能无效或文件无法打开。 - 来源:System.Deployment - 堆栈跟踪:在 System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState、IDownloadNotification 通知、DownloadOptions 选项、 服务器信息和服务器信息)在 System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState、IDownloadNotification 通知、DownloadOptions 选项) 在 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, 字符串& errorPageUrl) 在 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(对象 state) --- 内部异常 --- System.Deployment.Application.InvalidDeploymentException (签名验证) - 清单 XML 签名无效。 - 来源:System.Deployment - 堆栈跟踪:在 System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s) 在 System.Deployment.Application.ManifestReader.FromDocument(字符串 localPath, ManifestType manifestType, Uri sourceUri) --- 内部 异常 --- System.Security.Cryptography.CryptographicException - 无法为提供的签名算法创建 SignatureDescription。 - 来源:System.Security - 堆栈跟踪:在 System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm 键)在 System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(非对称算法& 签名密钥)在 System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags 验证标志)在 System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(流 s)

COMPONENT STORE TRANSACTION DETAILS 没有交易信息 可用。

【问题讨论】:

  • 您应该从 bin/debug 文件夹运行可执行文件,而不是将其安装到您的计算机上。是否必须进行ClickOnce 部署?
  • installshield 似乎对我不起作用,所以是的
  • 当您编译代码时,会在您的bin\debug 文件夹中创建一个可执行文件,您可以将其复制并带到任何机器上。然后你只需要运行它。另外,您使用的是什么版本的 Visual Studio?如果您使用的是完整版,他们有一个安装向导,您可以使用它来构建和 MSI。
  • 你的意思是使用发布功能?我试过了,这是它发出的错误(我粘贴的日志)
  • 对,我将数字签名密钥从 256 更改为 1,它可以工作,但现在它到处抛出 sql ce execptions!

标签: c# winforms deployment clickonce


【解决方案1】:

首先,在项目属性的“签名”选项卡中,确保对您的部署进​​行签名,即使您只是使用由 Visual Studio 创建的测试证书。其次,在项目属性的安全选项卡中,确保您启用了 ClickOnce 安全设置。另外,您是否在发布文件后对其进行编辑?

还要确保您的安装 URL 指向与部署相同的位置,无论是本地磁盘、文件共享还是网络服务器。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多