【问题标题】:Visual Studio Installer - How to embed MS Access Driver in the setupVisual Studio 安装程序 - 如何在安装程序中嵌入 MS Access 驱动程序
【发布时间】:2017-03-24 03:27:36
【问题描述】:

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

【问题讨论】:

    标签: visual-studio-2015 setup-project visual-studio-setup-proje


    【解决方案1】:

    像这样的大多数项目都是通过 setup.exe 作为先决条件安装的,如果您在项目属性中执行此操作,安装项目将构建该安装程序。造成这种情况的原因有很多,主要原因是您无法从 MSI 设置中安装 MSI 设置。

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

    https://msdn.microsoft.com/en-us/library/ms165429.aspx

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

    http://itsyntax.blogspot.com/2013/11/access-database-engine-bootstrapper-for.html

    【讨论】:

      【解决方案2】:

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

      “C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages”

      不是

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

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

      这篇文章包括一个视频,展示了如何逐步完成所有这些操作:

      https://csharp-tutorials1.blogspot.com/2017/12/add-microsoft-access-engine-2010-as.html

      最好的问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-11
        • 2011-01-15
        • 2014-10-04
        • 2019-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多