xst*_*ter 5 deployment dll clickonce assemblies crystal-reports
我相信使用.NET程序部署Crystal Report的传统方法是将其设置为发布设置中的先决条件,然后.msi将与web/network/CD/wtv上的ClickOnce文件打包在一起.当用户运行setup.exe时,它将检查Crystal Report是否在客户端计算机上.如果没有,它将运行Crystal Report .msi.但这总是需要管理员权限.
我的问题是,是否可以将Crystal Report的dll与其他应用程序的输出程序集打包在一起,以便不需要显式安装?我的应用程序使用了许多组件,包括安装的dll足以满足大多数组件的要求.我可以对Crystal Report做同样的事吗?
我不想传递坏消息,但 Visual Studio .NET 的 Crystal Reports 并不是为单击一次部署而设计的。Crystal Reports 是一个本机应用程序,用于处理报表的程序集依赖于许多非 .NET 库。
许多需要注册的 COM 对象、需要安装的支持 DLL...必须放置在某处的许可信息(Crystal Reports 一直很注重许可)。
理论上,如果您的应用程序运行完全信任,您可以监视 Crystal Reports for .NET 运行时的安装,并在 C# 中复制它,但这需要大量工作,而且充其量也是不可靠的。
可悲的是,最终的答案是你不能。
您可以查看 Active Reports 或其他一些纯 .NET 报告解决方案。
如果您执意要自己执行此操作,则可以监视 Crystal Reports 运行时的安装,以查看它创建/修改了哪些文件/注册表条目/设置。或者,您可以反编译 msi 或从 Crystal Reports 下载并反编译 mst 转换文件。一旦你知道它在做什么,就可以自己写一些东西来完成它。
| 归档时间: |
|
| 查看次数: |
9989 次 |
| 最近记录: |