【问题标题】:Error on installation - own developed Microsoft Office C# VSTO Addin安装时出错 - 自己开发的 Microsoft Office C# VSTO Addin
【发布时间】:2018-07-02 15:30:18
【问题描述】:

我们使用 vsto(Visual Studio 办公工具)编写了我们的第一个 Outlook 插件。

它可以在我的电脑上运行。在其他 PC 上,我们在安装过程中遇到安全异常(德语):

System.Security.SecurityException: enutzerdefinierte Funktionen können 在 dieser Anwendung nicht verwendet werden, weil das Zertifikat, mit dem das Bereitstellungsmanifest für Foobar.OutlookAddin signiert wurde, oder sein Speicherort nicht vertrauenswürdig sind。文登西西安 den Administrator, um weitere Unterstützung zu erhalten。

贝 Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustPromptKeyInternal(ClickOnceTrustPromptKeyValue promptKeyValue, DeploymentSignatureInformation 签名信息, String productName, TrustStatus 状态)

贝 Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustUsingPromptKey(Uri 清单,部署签名信息签名信息,字符串 productName、TrustStatus 状态)

贝 Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.ProcessSHA2Manifest(ActivationContext 上下文,部署签名信息签名信息, PermissionSet permissionsRequested, Uri manifest, ManifestSignatureInformationCollection 签名, AddInInstallationStatus installState, TrustStatus sha256TrustStatus, X509Certificate2 sha256PublisherCert)

贝 Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.VerifySecurity(ActivationContext 上下文、Uri 清单、AddInInstallationStatus installState)

贝 Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()

Die Zone der Assembly,bei der ein Fehler aufgetretenist:

我的电脑

有人知道问题出在哪里以及我如何预防吗?

我认为这是认证过程的主题。实际上我们没有自己的证书。但是买了就解决了?

【问题讨论】:

  • 第一个很长的英文异常信息是什么?
  • 对应:“部署清单或安装位置不可信”

标签: c# .net outlook vsto outlook-addin


【解决方案1】:

确保为您尝试从中加载自定义的区域启用 ClickOnce 信任提示。导航到以下注册表项,并确保您尝试加载自定义的区域的 PromptingLevel 设置为 Enabled。

在 32 位机器上:

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel

在 64 位机器上:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MICROSOFT.NETFramework\Security\TrustManager\PromptingLevel

欲了解更多信息,请访问How to: Configure Inclusion List Security

如果您从网站安装自定义,请确保将该网站添加到受信任的网站。

您可能会发现以下链接很有帮助:

【讨论】:

  • 谢谢!现在我们遇到了另一个错误,可以使用故障排除问题第 2 部分来修复它。
  • 我建议将帖子标记为答案,如果它有助于解决问题。
  • 尽管有 x64 机器,但更改 x32 机器的路径帮助我解决了问题,这与更改 x64 的路径不同
【解决方案2】:

事实上,您的加载项并未在部署的计算机中注册。 当您在不同的计算机上部署 VSTO 时,您应该在具有管理员权限的 Windows 注册表中插入一些键。

例如,如果你的电脑是x64位的,你可以插入(最好是C盘中VSTO的位置:)

  [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\Outlook\Addins\your-addin-name]

    "Description"="your-addin-name" 
    "FriendlyName"="your-addin-name"
    "Manifest"="C:\\Program Files (x86)\\Microsoft
     Office\\Outlook\\Addins\\your-addin-name\\your-addin-name.vsto|vstolocal"
    "LoadBehavior"=dword:00000003

它适用于我在 500 台 x64 位计算机上部署的具有自我证书的加载项

【讨论】:

  • 这部分不应该由设置完成吗?我们开始设置,但失败并显示顶部错误。
  • 就我而言,因为安装程序不会在我的答案中正确插入这些键。您应该手动确保这些密钥存在于正确的位置。如果没有,当您的插件启动并且 Outlook 将其放入停用列表时会引发异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
相关资源
最近更新 更多