我有一个.NET应用程序,它使用accdb文件(MS Access 2007格式)作为其数据库。要在另一台计算机上安装此应用程序,我需要在该计算机上安装Access引擎。 Microsoft有这个文件:AccessDatabaseEngine.exe,它包含引擎,但在安装过程中解压缩时,运行另一个.msi安装程序。
你可以猜到,因为这个msi是在安装另一个msi(我的app的安装程序)期间运行的,所以Access引擎设置失败,错误1500:“另一个安装正在进行中。在继续这个之前完成那个... “
我也找到了Runtime for Access 2007,它确实安装了引擎,但Runtime软件包又是一个msi安装程序,这意味着我仍然遇到同样的问题。
在我的应用安装程序中包含引擎的任何想法?
答案 0 :(得分:2)
您可能想看一下这篇文章:Adding Programs to Access 2007 Deployment Packages
Access Developer Extensions提供了一个基本但功能强大的安装程序,可以处理常规部署方案。
答案 1 :(得分:1)
最好的想法是构建自己的msi包,包括所需的访问文件。您可以使用VERITAS Wininstall之类的产品。您有这种“发现”方法,允许您通过以下方式构建完全可操作的.msi文件:(1)获取系统的2个快照(一个在安装之前,一个在之后),然后(2)创建与安装相对应的.msi文件过程
无论如何,我建议您拥有多个包,一个用于Access,当计算机加入您公司的域时,可以安装“for all users”选项,一个用于您的应用。通过这样做,您将能够分发应用程序的新版本,而无需重新分配Access,这需要几兆的空间以及几分钟的用户最宝贵的时间。)
如果微软已经提供了一个Access Runtime msi软件包,请保持“原样”,并在新机器加入域时自动在网络上分发。
答案 2 :(得分:0)
我不推荐WinInstall,我们在我的办公室里有它,我们必须继续打电话给我们包装东西,因为它非常好用。他们根本无法打包的一些东西。 WISE Studio更好或者是免费的替代品AppDeploy我听过很棒的事情。
答案 3 :(得分:0)
我发现这个软件名为“Bootstrapper Manifest Generator”或BMG。它有助于使用MSI或EXE安装程序文件创建必备软件包,并将其添加到安装和部署项目中的VS2008先决条件对话框中。虽然它不是那么用户友好,但它确实起到了作用。它位于MSDN上:code.msdn.microsoft.com/bmg
认为让别人免于经历所有麻烦是件好事。