Visual studio 2015 Visual Studio安装程序-如何在安装程序中嵌入MS Access驱动程序

Visual studio 2015 Visual Studio安装程序-如何在安装程序中嵌入MS Access驱动程序,visual-studio-2015,setup-project,visual-studio-setup-proje,Visual Studio 2015,Setup Project,Visual Studio Setup Proje,我有一个Windows窗体应用程序。它从MS Access数据库读取数据。我确实在我的系统中安装了MS Access数据库引擎(AccessDatabaseEngine_X64.exe)。它工作得很好。由于该应用程序可以由任何内部用户使用,因此在开始使用该应用程序之前,他们必须经历安装驱动程序的麻烦。为了克服这个问题,我在VS2017中使用Visual Studio“安装项目”为我的项目创建了安装程序。我在自定义操作下添加了AccessDatabaseEngine_X64.exe作为先决条件。它

我有一个Windows窗体应用程序。它从MS Access数据库读取数据。我确实在我的系统中安装了MS Access数据库引擎(AccessDatabaseEngine_X64.exe)。它工作得很好。由于该应用程序可以由任何内部用户使用,因此在开始使用该应用程序之前,他们必须经历安装驱动程序的麻烦。为了克服这个问题,我在VS2017中使用Visual Studio“安装项目”为我的项目创建了安装程序。我在自定义操作下添加了AccessDatabaseEngine_X64.exe作为先决条件。它无法执行此操作,因为在运行安装程序时,它会启动另一个安装程序,并弹出一个错误,说明另一个安装程序实例正在运行。请关闭此按钮以继续。如何将其嵌入到安装程序中?因此,用户无需手动安装Access engine即可使用此应用程序。

大多数类似的项目都是作为先决条件由setup.exe安装的,如果您在项目属性中执行此操作,安装项目将生成该setup.exe。这有很多原因,主要原因是不能从MSI设置中安装MSI设置

您的先决条件不在标准先决条件列表中,因此您需要创建自己的引导程序数据,从这里开始:

以及创建产品和包装清单。这似乎是一个很好的起点:


您可以通过在安装项目中添加Microsoft Access Database Engine 2010作为先决条件来解决问题,下面的链接向您展示了如何操作,但请注意,如果使用VS2017,则路径不同,VS2017的路径是:

“C:\Program Files(x86)\Microsoft SDK\ClickOnce引导程序\Packages”

不是

“C:\Program Files\Microsoft SDK\Windows\v7.0A\Bootstrapper\Packages”

我还注意到,在某些情况下,您必须在用户的计算机上安装“AccessDatabaseEngine.exe”而不是“AccessDatabaseEngine_X64.exe”,即使它是64位windows

这篇文章包括一段视频,演示了如何一步一步地完成这一切:

致意