如何在.Cab安装文件中安装Sql Mobile数据库

最近在做一个和Sql Mobile 相关的应用程序,但是在做成.Cab安装文件时不知道如何判断是否安装了Sql MObile数据库。所以本人在做成.cab文件时,走了个弯路,就是把相应的dll文件copy到相应的目录。
   其实用Wince.cab.Manager 打开sql Mobile 的安装Cab文件你会发现,安装包会把以下四个dll文件copy到windows目录下:
      sqlceme30.dll
      sqlceqp30.dll
      sqlcese30.dll
      System.Data.SqlServerCe.dll
我们在应用程序中操作数据库无非也是使用以上几个dll库,所以我想如果没有安装sql Mobile 的情况下如果我们把以上几个dll文件copy到windows目录下效果是否和安装Sql Mobile 数据库是一样的呢。所以我就自己用 Wince.cab.Manager2.1版本做了一个包含我的应用程序的.cab安装包,当然其中包含以上四个dll文件。我的应用程序安装在program files下,而把以上四个dll文件安装在系统的Windows目录下。前提是如果windows目录下存在以上四个dll我们就不用覆盖了。
     打包,安装后启动应用程序,再也没有报出找不到dll的错误了。
    我想这个方法应该可以解决cab文件中安装Sql Mobile 的问题。

缺点是:一,如果系统中安装了sql Mobile数据库的话,这样做就多次一举了。
        二,安装文件包含几个数据库dll会造成安装文件比较大,影响了下载。
        三,没有解决.cab安装包判断系统中是否安装了sql Mobile 的问题。

不知道这个法在其他地方是否适用,还望各位测试一下。

小弟第一次写东西,有错误之处还望海涵。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ajax_wolf/archive/2007/11/05/1867772.aspx

posted @ 2009-07-08 14:24  Sissynong  阅读(428)  评论(0编辑  收藏  举报