Visual Studio 个安装程序项目中的其他设置

Additional Setup in Visual Studio Installer Projects

我正在尝试为我的项目创建安装。我正在使用 MS Access 数据库,要使其正常工作,需要使用 Access DataBase Engine。如果我从这里下载那个引擎 https://www.microsoft.com/en-us/download/details.aspx?id=54920 并安装它,程序就可以运行。

如何将该安装添加到我的安装中?

我正在使用 Visual Studio 2015、C# 和 OLEDb。

精简版本质上你需要一个部署工具List view of major deployment tools。也许列表视图是最简单的概览? (范围感)。下面有更多详细信息(以及太多链接)。


详细信息, but I am unfamiliar with the details. for real deployment work for a lot of reasons (lacking features and some odd implementations). 中有一些 先决条件 功能可用。

一些商业工具可以为您完成这项工作,并具有特殊功能以帮助您更快(呃)完成。我验证了 Advanced Installer can do it (and here is a great gateway to all things Advanced Installer. available). I assume Installshield 也可以做到这一点(当然对于其他运行时,没有验证这个特定的)。通常它将由 setup.exe 引导程序/链接器处理,将所有运行时与您自己的 MSI 文件一起嵌入。

In other tools, you will have to do it yourself, by figuring out command lines and how to handle error conditions. There are some hints here (not tested by me - a google sweep will give you more): https://www.itninja.com/software/microsoft/access-runtime/2016-1

通过 accessruntime_4288-1001_x64_en-us.exe /?:

获取更多命令行信息

WiX is free and open source - with a relatively hefty learning curve if you don't know MSI, and contains a bootstrapper feature called "Burn". Here is the documentation for: How To: Install the .NET Framework Using Burn (first read the "Building Installation Package Bundles" instructions in "Step 1"). A real-world Burn sample. And some sample source markup.

一些开发者推荐dotnetinstaller bootstrapper。不是我很了解的东西。它只是一个引导程序。为您按顺序运行。

如果您正在进行内部部署或临时部署,即使是 批处理文件 也可以完成我想的工作,但是如果您为大型的真实产品这样做-scale 和 generalized deployment 我确实会非常担心。 如果作为部署专家,我们讨厌一件事,我会说它是包中嵌入的批处理文件。批处理文件(和脚本)是系统管理员工具,不是一般的部署工具。


一些较旧的链接:

  • How do Installation Software Programs Extract Files?
  • Create MSI or setup project with Visual Studio 2012
  • Windows service NOT shown in add remove programs under control panel
  • Wix - How to run/install application without UI

Visual Studio 安装项目在项目属性中有先决条件选项。这允许您从标准先决条件列表中进行选择,并生成一个 setup.exe 来安装先决条件,然后安装您的 MSI。 Access Runtime 没有出现在更高版本的安装项目中,因为(我假设)Access 2013 在 2018 年结束了主流支持。将您自己的先决条件添加到此机制的方法是使用 Bootstrap Manifest Generator,这可能是仍然可用但没有很好的记录:

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

除此之外,我建议您学习如何构建一个 WiX Burn 引导程序可执行文件,它将安装 Access Runtime,然后安装您的 MSI(如果需要,您仍然可以使用 Visual Studio 构建它) .如果你搜索它,你会发现这样的东西:

WiX - Install Prerequisites and 3rd party applications

https://www.c-sharpcorner.com/UploadFile/cb88b2/installing-prerequisites-using-wix-bootstrapper-project-and/

这些将解释如何构建 Xml 以检查是否安装了 Access Runtime 以及用于安装它的命令。这是比 Bootstrap 清单生成器更好的选择。