且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-11-28 16:37:58

短版 :从本质上讲,您将需要部署工具. 列表视图主要部署工具 .也许列表视图是最简单的概述? (范围感).下面有更多详细信息(链接也太多).

Short Version: In essence you will need a deployment tool. List view of major deployment tools. Maybe that list view is the easiest overview? (a sense of scope). Much more detail below (and too many links too).

详细信息 :由于种种原因(缺乏功能和一些奇怪的实现),我认为该项目类型不足以进行真正的部署工作. 此处的更多信息-一些需要考虑的具体问题.

Details: There is some prerequisite functionality available in Microsoft Visual Studio 2017 Installer Projects, but I am unfamiliar with the details. I find this project type inadequate for real deployment work for a lot of reasons (lacking features and some odd implementations). More on this here - a few concrete problems to consider.

多种商业工具将为您提供特殊功能,以帮助您更快地完成操作.我确认 高级安装程序 here is a great gateway 到所有高级安装程序. Installshield 也可以做到这一点(对于其他运行时,肯定没有验证这一特定的).通常,它将由setup.exe引导程序/链接程序处理,该程序将所有运行时以及您自己的MSI文件嵌入.

Several commercial tools will do this for you with special features to help make it quick(er). I verified that Advanced Installer can do it (and here is a great gateway to all things Advanced Installer. Some free features available). I assume Installshield can do it as well (certainly for other runtimes, didn't verify this particular one). Generally it will be handled by a setup.exe bootstrapper / chainer embedding all runtimes along with your own MSI file(s).

在其他工具中 ,您必须自己弄清楚命令行以及如何处理错误情况,自己动手做.这里有一些提示(未经我测试-谷歌扫描将为您提供更多信息):通过acces-s-runtime_4288-1001_x64_en-us.exe /?获取更多命令行信息:

Get more command line info by going acces-s-runtime_4288-1001_x64_en-us.exe /?:

WiX 是免费的开放源代码-如果您不这样做,则学习曲线相对较重不知道MSI,并且包含一个称为" 刻录 ".以下是以下文档的文档:如何:使用Burn安装.NET Framework (首先阅读步骤1"中的建筑安装软件包捆绑包"说明). 真实的Burn样本.还有一些示例源标记.

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引导程序 .我不太了解.这只是一个引导者.为您按顺序运行事物.

Some developers recommend the dotnetinstaller bootstrapper. Not something I know much about. It is just a bootstrapper. Runs things in sequence for you.

如果您要进行内部部署或临时部署,即使批处理文件也可以完成我想做的工作,但是如果您对真正的产品进行大规模和广义的部署则可以做到这一点.我的确会非常担心. 如果我们讨厌部署专家,我想说的是嵌入在程序包中的批处理文件.批处理文件(和脚本)是系统管理员工具,而不是常规部署工具.

If you are doing in-house or ad-hoc deployment, even a batch file could do the job I suppose, but if you do that for a real product for large-scale and generalized deployment I would be very worried indeed. If there is one thing we hate as deployment specialists, I'd say it is batch files embedded in packages. Batch files (and scripts) are system administrator tools, not general deployment tools.

一些较旧的链接:

  • Executable files to MSI installer
  • How do Installation Software Programs Extract Files?
  • Create MSI or setup project with Visual Studio 2012
  • How to make an installer that automatically install all the prerequisite programs for the application
  • Windows service NOT shown in add remove programs under control panel
  • How to make an installer that automatically install all the prerequisite programs for the application
  • Wix - How to run/install application without UI