1

我为一个为 5 个用户做一些自定义事情的客户端编写了一个 Excel 插件。我用 VS2012 和 Excel 2010 的互操作程序集编写了它。我用 MS 一键发布器发布了加载项,压缩了内容,并将其发送给这 5 个用户。他们(似乎)只能随机安装加载项。一些用户成功了,而另一些用户则收到错误消息。更多信息:

  • 永远不会提示未成功安装的用户信任安装。它使他们正确地看到错误消息。
  • 我只用本地开发证书签署了代码。我没有使用威瑞信证书或类似的东西。我没想到它会做任何事情,因为他们的本地文件系统永远不允许它到达提示符。
  • 首先,我制作了一个批处理文件来配置注册表的包含列表安全性。这什么也没做。
  • 我无法在任何其他 PC 上复制该错误,无论它是否在我的本地网络上。

我的猜测是,他们的安全策略中有一些内容禁止访问这些一键式安装程序文件。有什么想法吗?

这是错误消息:

System.Security.SecurityException: Customized functionality in this application will not work because the certificate used to sign the deployment manifest for ThisAddin or its location is not trusted. Contact your administrator for further assistance.
at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustPromptKeyInternal(ClickOnceTrustPromptKeyValue promptKeyValue, DeploymentSignatureInformation signatureInformation, String productName)
at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustUsingPromptKey(Uri manifest, DeploymentSignatureInformation signatureInformation, String productName)
at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.VerifySecurity(ActivationContext context, Uri manifest, AddInInstallationStatus installState)
at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn() The Zone of the assembly that failed was:MyComputer
4

2 回答 2

1

当域 A 通过证书问题开发和签署加载项时,我们遇到了类似的问题,并且域中的任何用户都能够安装它。加载项发布在网站上:http: //host.org/apps/addin/setup.exe

后来来自域 B 的人也决定使用加载项,但他们看到的唯一内容是有关受信任位置和联系您的管理员的消息。

解决方案很简单:打开 Internet Explorer,将http://host.org添加到受信任的站点。

于 2012-11-17T06:03:46.910 回答
0

我时间紧迫,所以我导出了开发人员证书并让他们将其安装在他们的机器上。

于 2012-11-17T17:45:19.287 回答