【问题标题】:Deploy Crystal Report dlls only using ClickOnce without using prerequisite .msi仅使用 ClickOnce 部署 Crystal Report dll,而不使用先决条件 .msi
【发布时间】:2010-12-14 07:28:12
【问题描述】:

我相信使用 .NET 程序部署 Crystal Report 的常规方法是将其设置为发布设置中的先决条件,然后将 .msi 与 web/network/CD/wtv 上的 ClickOnce 文件打包。当用户运行 setup.exe 时,它​​将检查 Crystal Report 是否在客户端计算机上。如果没有,它将运行 Crystal Report .msi。但这总是需要管理员权限。

我的问题是,是否可以将 Crystal Report 的 dll 与其他应用程序的输出程序集一起打包,这样就不需要显式安装?我的应用程序使用了许多组件,并且在安装中包含一个 dll 对于大多数组件来说就足够了。我可以对 Crystal Report 做同样的事情吗?

【问题讨论】:

  • 嗨,我也遇到了同样的问题,你有没有想出办法做到这一点?

标签: deployment dll crystal-reports assemblies clickonce


【解决方案1】:

我不想成为坏消息的承担者,但用于 Visual Studio .NET 的 Crystal Reports 并不是为单击一次部署而设计的。 Crystal Reports 是本机应用程序,用于处理报表的程序集依赖于许多非 .NET 库。

大量需要注册的 COM 对象,支持必须安装的 DLL...必须放置在某处的许可信息(Crystal Reports 一直很重视许可)。

理论上,如果您的应用程序运行完全信任,您可以监视 Crystal Reports for .NET 运行时的安装,并在 c# 中复制它,但这是很多工作,而且充其量是不可靠的。

遗憾的是,最终的答案是你不能。

您可以查看 Active Reports 或其他一些纯 .NET 报告解决方案。

【讨论】:

  • 感谢您的回答。只是想知道。我的应用程序当前通过 ClickOnce 部署了一堆 dll。他们中的大多数都不太漂亮。很多 COM 的东西,其中一些相当重。除了 Crystal Report 之外,其他一切似乎都运行良好。我的其他 3 个第三方产品也需要许可(DotNetBar、DevXpress 和 FarPoint)。理论上我可以用 Crystal Report 做同样的事情,并通过 dll 通过 ClickOnce 进行吗?
【解决方案2】:

如果您一心想自己动手,您可以监控 Crystal Reports 运行时的安装,以查看它创建/修改了哪些文件/注册表项/设置。或者,您可以反编译 msi 或从 Crystal Reports 下载并反编译 mst 转换文件。一旦你知道它在做什么,就自己写一些东西来做吧。

【讨论】:

    【解决方案3】:

    我几乎可以肯定,当您购买 Crystal Reports 的最终版本时,会附带一个可再分发的库包(不确定此包是否随 Visual Studio 版本一起提供)。

    【讨论】:

    • 您好,但我认为可再发行组件是一个 .msi,需要管理员权限才能安装。我的目的是让用户通过 ClickOnce 包获取我的软件,并在没有管理员的情况下在本地安装所需的一切
    • @Xster - “没有管理员”意味着您的 ClickOnce 应用程序非常有限 可以做和不能做的事情(例如网络访问、文件访问)。
    【解决方案4】:

    我会在安装站点上提供指向 Crystal Redistributable 的单独链接,并在 ClickOnce 应用程序中检查 Crystal 文件是否存在。

    【讨论】:

      【解决方案5】:

      您可以将 CR 运行时合并模块添加到您的 click-one MSI 包中,MSI 将负责合并模块的安装,它将水晶报表运行时安装文件\进程合并到您的应用程序 click-one 包中。 https://origin.softwaredownloads.sap.com/public/site/index.html

      【讨论】:

        猜你喜欢
        • 2010-11-06
        • 1970-01-01
        • 2016-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多