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

Custom installer for application in Visual Studio 2017

我需要为我的应用程序生成一个安装程序,但首先我需要知道它是否已经安装在系统上 node.js、npm 和其他应用程序

是否可以在我的应用程序安装中包含 node.js 的安装并知道它是否已经安装?

我正在使用 Visual Studio 2017 和一个用于桌面应用程序的 WPF 项目

当应用程序已经安装后,我需要在控制台中执行 npm 命令,因此我需要先安装它们或验证它们是否安装正确

感谢任何帮助。

UPDATE: Advanced Installer: How to install a NodeJS web app. Really excellent videos IMHO.


Best Effort:我不太了解Node.Js ,因此不应该回答。但我也没有看到其他人回答这些问题。虽然经验不足,但还是想提几点建议吧。

Windows Installer: 好像有an MSI you can use to deploy Node.Js. And there are some alternatives listed. (Essentially Chocolatey和Scoop).

注意:我已经回答了与 Node.Js MSI 安装失败相关的更具体的部署问题早些时候:。这可能会或可能不会被修复。

部署:要在您自己的软件包安装之前部署先决条件 MSI,您可以使用 deployment tool 能够 bootstrapping / sequencing / downloading - 换句话说,运行 多个安装操作以给定的顺序包装为 setup.exe。或者您可以调查 Chocolatey approach。关于部署工具,我有点厌倦了列出这些工具具有和不具有的功能。为此,我将 link 给出一些答案:

主要嫌疑人:

上述工具之一应该能够完成这项工作。只有 WiX Burn 是免费和开源的。有时您可以通过使用商业工具来节省大量时间。显然,如果您的公司已经拥有此类工具的许可证(这可能需要几天的时间才能弄清楚)。

免费工具:在仅免费工具和 WiX 替代品领域,一些人使用由7-Zip 和 WinRAR 以及此处介绍的其他一些工具:Combine exe and msi file in one installer。出于安全原因和 link.

中解释的其他原因,我不喜欢这样做

Simplicity:对于公司部署,一个简单的批处理文件或一些通过您的部署系统(SCCM 等)分发的自定义结构... ) 就足够了。或者甚至可以使用带有嵌入式批处理文件的 zip 来按顺序启动压缩安装程序。一切都取决于您的情况。我不会采用这种全球分发方法。

这里是我描述的其他几个答案 available deployment tools:

  • Visual Studio 2017 Installer Project - include VC++ 2015 Redistributable

部分链接:

  • Create MSI from extracted setup files
  • Error Creating a 7-zip installer package
  • How to create windows installer
  • What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc