我在服务器上使用DB2,我的应用程序直接连接到该服务器。作为数据提供者,我使用 v9.7 FP5 ibm数据服务器驱动程序和visual studio插件。现在..要使用ClickOnce在客户端计算机上安装我的程序并提供WHOLE IBM驱动程序包,这确实不是最佳解决方案,因为如果IBM更新了他们的驱动程序 - 我的所有客户端也必须更新它们。我只是将一些提供程序DLL包含到ClickOnce包中,并仅在部署ClickOnce设置的计算机上更新它们吗?
PS:似乎我不能只部署一些dll :(
How do I redistribute DB2 .NET with my application?
DB2 .NET提供程序不能简单地复制,它有几个 支持文件和安装操作,因此它需要 安装。这可以通过以下方法之一来完成:
在目标计算机上安装ODBC,CLI和.NET(简称ds驱动程序)的数据服务器运行时客户端或数据服务器驱动程序
- 醇>
将Data Server Client Runtime合并模块与您的应用程序打包在一起。详细信息位于运行时客户端合并模块中 信息
这真的不是我想的解决方案。事实证明,他们提供了在开发应用程序时使用数据库的解决方案,并且在生产之后 - 客户端必须安装他们的驱动程序(~100mb)以允许我的软件使用他们的数据库...
答案 0 :(得分:1)
我建议应用程序检查是否存在驱动程序,并将用户指向安装/设置页面(如果它们不存在)。这不是ClickOnce可以轻松安装的,但如果您创建了独立安装程序(MSI),则可以选择自动安装。 (以及建议客户端不直接访问数据库;),它有各种问题,包括防火墙配置,驱动程序安装和安全问题。)
答案 1 :(得分:1)
我看到你有两种选择。一,您不必安装完整的100mb + db2客户端。您可以安装“数据服务器驱动程序包”,英文版仅为31mb。除非您需要新版本中包含的新功能或错误修复,否则每次IBM更新时,您也不必在客户端上更新此内容。
第二个更好的IMO选项是使用IBM提供的数据服务器驱动程序合并模块。您可以将它们包含在.Net应用程序的安装包中。但你怎么做但我不确定。我前一段时间问question,但从来没有回复过。