【问题标题】:Unable to install or run the application....in Desktop Application无法安装或运行应用程序....在桌面应用程序中
【发布时间】:2011-11-23 12:02:51
【问题描述】:

我在 .Net 中开发了一个桌面应用程序。我已经在我的客户系统中发布并部署了它。但是,当我的客户端运行该设置时,会显示一条错误消息:

无法安装或运行应用程序。应用程序要求首先在全局程序集缓存 (GAC) 中安装程序集 Microsoft.SqlServer.Diagnastics.STrace 版本 10.0.0.0

我该怎么办?

【问题讨论】:

  • 您需要将此文件作为先决条件包含在您的安装程序中
  • 对不起,我无法理解..

标签: c# desktop-application


【解决方案1】:

在 Visual Studio 中打开项目属性表单解决方案资源管理器

属性->发布->应用程序文件

在“应用程序文件”窗口中,选中右下角的显示所有文件。将 "Microsoft.SqlServer.Types.dll" "Prerequisite(Auto)" 的发布状态更改为包含单击确定并发布应用程序。

【讨论】:

  • 该操作询问的是 Microsoft.SqlServer.Diagnastics.STrace 而不是 Microsoft.SqlServer.Types.dll。我有同样的问题,并尝试将发布状态设置为“先决条件(自动)”,但它仍然不起作用。
【解决方案2】:

这个 dll 可能不存在于全局程序集缓存中。

您可以通过以下命令将assembly 添加到GAC

GACUTIL –i <Path to Microsoft.SqlServer.Diagnostics.STrace.dll>

【讨论】:

  • 我在 cmd 提示符下运行了这个 GACUTIL –i .....“命令的语法不正确”即将到来
  • 在visual studio命令promt中运行或者在实际包含Gacutil.exe的framework目录中运行
  • 他要求从开发服务器端解决这个问题。
【解决方案3】:

要查找您的客户端计算机上是否存在 STrace.dll 文件,您可以使用以下命令行搜索它: 目录 Microsoft.SqlServer.Diagnostics.STrace.dll /s

如果找到文件,使用前面的anwser命令行将dll添加到全局汇编缓存中

如果没有,您必须将此文件添加为部署项目中的先决条件 如果您有一个安装项目(如 installshield / MS 安装项目 / Clickonce 项目,则可以在您的安装项目属性中添加先决条件。

当您添加先决条件时,您应该能够选择是必须将先决条件与您的应用程序一起打包还是从发布者网站下载。

【讨论】:

  • 如何在客户端计算机上部署应用程序?
【解决方案4】:

解决我的问题的是我必须做@ShahidRaees 所做的事情,除了包含所有程序集。除了以 .pdb 结尾的文件之外,我选择了所有这些文件。

选择所有这些应该会在您安装程序时自动更新 GAC,但我不是 100% 确定。

【讨论】:

    猜你喜欢
    • 2021-11-29
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    相关资源
    最近更新 更多