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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio安装程序项目中的其他安装程序相关的知识,希望对你有一定的参考价值。

我正在尝试为我的项目创建一个安装。我正在使用MS Access DataBase,并且需要使用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。也许列表视图是最简单的概述? (范围感)。下面有更多细节(也有太多链接)。


详细信息:Microsoft Visual Studio 2017 Installer Projects提供了一些必备功能,但我不熟悉其中的详细信息。 I find this project type inadequate用于真正的部署工作有很多原因(缺少功能和一些奇怪的实现)。 More on this here - a few concrete problems to consider

一些商业工具将为您提供特殊功能,以帮助快速(呃)。我验证了Advanced Installer can do it(和here is a great gateway所有东西Advanced Installer.Some free features可用)。我假设Installshield也可以这样做(当然对于其他运行时,没有验证这个特定的)。通常它将由setup.exe bootstrapper / chainer处理,嵌入所有运行时以及您自己的MSI文件。

In other tools,你必须自己做,通过找出命令行以及如何处理错误条件。这里有一些提示(未经我测试 - 谷歌扫描会给你更多):https://www.itninja.com/software/microsoft/access-runtime/2016-1

通过访问accessruntime_4288-1001_x64_en-us.exe /?获取更多命令行信息:

command lines access 2016

WiX是免费和开源的 - 如果你不了解MSI,它有一个相对沉重的学习曲线,并且包含一个名为“Burn”的引导程序功能。以下是How To: Install the .NET Framework Using Burn的文档(首先阅读“步骤1”中的“构建安装包捆绑包”说明)。 A real-world Burn sample。和some sample source markup

一些开发人员推荐dotnetinstaller bootstrapper。不是我非常了解的东西。它只是一个引导程序。按顺序运行。

如果您正在进行内部部署或临时部署,即使批处理文件也可以完成我认为的工作,但如果您为实现大规模和通用部署的实际产品而这样做,我会非常担心。如果有一件事我们讨厌作为部署专家,我会说它是嵌入在包中的批处理文件。批处理文件(和脚本)是系统管理员工具,而不是常规部署工具。


一些较旧的链接:

另一答案

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

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

除此之外,我建议你学习如何构建一个WiX Burn bootstrapper可执行文件,它将安装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 Manifest Generator更好的选择。

以上是关于Visual Studio安装程序项目中的其他安装程序的主要内容,如果未能解决你的问题,请参考以下文章

如何用Visual Studio制作安装包

Visual Studio 2008 中的 .NET 2.0 安装项目

我可以绕过 Visual Studio 安装项目中的卸载吗?

visual studio2005 缺少模板

Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)

Visual Studio 2017中应用程序的自定义安装程序