Ms access Access 2007引擎:如何将其包含在.msi安装程序中?

Ms access Access 2007引擎:如何将其包含在.msi安装程序中?,ms-access,windows-installer,installation,ms-access-2007,Ms Access,Windows Installer,Installation,Ms Access 2007,我有一个.NET应用程序,它使用accdb文件(MS Access 2007格式)作为其数据库。要在另一台机器上安装此应用程序,我需要在该机器上安装访问引擎。Microsoft有以下文件:AccessDatabaseEngine.exe,其中包含该引擎,但在安装过程中提取时,会运行另一个.msi安装程序 正如您所猜测的,由于此msi是在安装另一个msi(我的应用程序的安装程序)的过程中运行的,因此访问引擎安装失败,错误为1500:“另一个安装正在进行中。请在继续此安装之前完成该安装…” 我也找到

我有一个.NET应用程序,它使用accdb文件(MS Access 2007格式)作为其数据库。要在另一台机器上安装此应用程序,我需要在该机器上安装访问引擎。Microsoft有以下文件:AccessDatabaseEngine.exe,其中包含该引擎,但在安装过程中提取时,会运行另一个.msi安装程序

正如您所猜测的,由于此msi是在安装另一个msi(我的应用程序的安装程序)的过程中运行的,因此访问引擎安装失败,错误为1500:“另一个安装正在进行中。请在继续此安装之前完成该安装…”

我也找到了Access 2007的运行时,它确实安装了引擎,但运行时包还是msi安装程序,这意味着我仍然有同样的问题


有没有在我的应用程序的安装程序中包含引擎的想法?

您可能想看看这篇文章:


该软件提供了一个基本但功能强大的安装程序,可以处理一般部署场景。

最好的办法是构建自己的msi包,包括所需的访问文件。您可以使用VERITAS Wininstall之类的产品。您有这种“发现”方法,它允许您通过(1)拍摄系统的两个快照(一个在安装前,一个在安装后)然后(2)创建与安装过程相对应的.msi文件来构建一个完全可操作的.msi文件

无论如何,我建议你有多个软件包,一个用于访问,当计算机加入你公司的域时,可以安装“所有用户”选项,一个用于你的应用程序。通过这样做,您将能够分发应用程序的新版本,而无需重新分发访问权限,这将占用数百万空间以及用户最宝贵的几分钟时间)


Sio如果Microsoft已经提供了Access Runtime msi软件包,只需保持它的“原样”,并在新机器加入域时自动在您的网络上分发它。

我不推荐WinInstall,我们在我的办公室有它,我们必须不断呼叫他们为我们打包东西,因为它使用起来太挑剔了。有些东西他们根本无法打包。WISE Studio更好,或者是一个免费的替代品,这是我听说过的好东西。

我发现了一个名为“Bootstrapper Manifest Generator”或BMG的软件。它帮助使用MSI或EXE安装程序文件创建必备软件包,并将其添加到安装和部署项目中的VS2008必备软件对话框中。虽然它不是那么方便用户,但它确实做到了这一点。在MSDN上:


我认为让其他人免去所有麻烦是件好事。

开发人员扩展在这里是无用的,因为他们需要在机器上安装Access 2007。我也找到了Access 2007的运行时,但它又是一个msi安装程序,这意味着我仍然有同样的问题。我的场景中没有域。我正在制作一个产品在市场上销售,它是一个独立的Winforms应用程序。我需要有这个应用程序的安装程序,使用您描述的方法似乎太过分了。我想有这个“发现”的东西无论如何,所以你有一个链接下载它吗?寻找wininstall,只是谷歌它。7.5版本允许这种“发现”方法,其他版本我不知道。还有其他品牌可供选择。如果应用程序是用于销售的,你应该接受在准备防弹msi包时放松一些,因为这是一个复杂的操作!您在评论中提到了哪些软件?听起来你找到了一些简单明了的东西!谢谢你的回答。请检查你的链接,它正被重定向到ITNinja