项目里面使用了Access 2010建立的数据库,所以连接字符串里面有'Microsoft.ACE.OLEDB.12.0'这么一段,那么对于XP这样的系统,默认是没有驱动的,需要去微软下载一个Engine的Redistributable(地址)。现在打包安装程序的时候,需要把Microsoft Access Database Engine 2010 Redistributable也包括进去,希望在安装的时候,判断Engine 是不是满足版本要求,如果满足了版本要求,就不再安装Engine 了。
在网上搜了下,自己捣鼓下,终于实现了功能:
(1)下载一个名为 Bootstrapper Manifest Generator 的工软件:地址 ,我下的VS2008版本的,虽然我用的是Visual Studio 2010,但是使用过程中并没有发现什么问题。
(2)new一个Package Manifest的Project,在Project Name里面填上AccessDatabaseEngine,Project Code将会自动变成AccessDatabaseEngine。
(3)在System Check里面,新建一个Registry Check,按照下图填写:
(4)在Project菜单下面选择Add Install File,选择AccessDatabaseEngine.exe的路径
(5)在Properties选项卡、Install Conditions选项卡和Exit Codes选项卡中按照下图填写:
(6)点击Project菜单下面的Build项。默认它会在我的文档中生成一个AccessDatabaseEngine文件夹,将这个文件夹拷贝到
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages 目录下,就算大功告成了。
用VS打开任意一个工程,在项目上面右击-》属性-》发布-》系统必备如下图,多了一个AccessDatabaseEngine(第三项)