17

基本上,我们以手动安装程序(Windows powershell 脚本)的形式发布我们的更改/修复。它将通过读取配置文件值在特定位置安装指定的 .dll 和 SQL 脚本文件(我们将在此文件中配置 .dll 和 Sql 脚本位置)。相同的 powershell 脚本具有用于回滚特定 chage 集的卸载代码。

是否有任何选项或机制可以为上述要求创建 Windows 安装程序?

4

6 回答 6

31

简短版:已经有很多答案 - 我主要只是添加一些指向现有答案的链接。这是我之前关于该主题的简短回答

更高的“一目了然性”:上述答案具有更简单的格式,其中当前最重要的部署工具的列表视图。匆匆?测试这些,选择一个。以下是更多细节和一些进一步的“讨论”。


部署工具

有许多工具可用于创建各种类型的安装程序/setup.exe 文件。以下是其中大部分的简要说明的一些链接:

我建议去MSI。使用什么具体工具不太明显。有关不同工具的优缺点描述的一些链接,请参见下面的最后一节。


自动更新?创建自动更新包的各种方法


为什么选择微星?MSI 的主要优势:

MSI (Windows Installer)企业部署的标准,因为与以前的安装技术相比,它提供了许多具有重大意义的企业优势。好处集中在可靠的远程管理标准化——关键的企业部署问题上。

简而言之,最重要的具体好处可能是:

  1. 可靠的静音运行(标准化和完全可抑制的 GUI)
  2. 隐式可用卸载(处理遗留设置时的噩梦)
  3. 透明度(安装程序的半透明和可检查性质 - 编译的 CA 除外)
  4. 提升的安装权限(没有凌乱的临时管理员权限)
  5. 标准化命令行(无需寻找“秘密”开关)
  6. 管理安装(文件提取 - 企业重新打包必不可少)
  7. 详细日志记录(确实有用且详细:-))
  8. 标准化包定制(转换-数据库片段)
  9. 回滚支持(可以撤消安装失败的更改)
  10. 库存(管理和报告:安装内容和位置的完整注册)
  11. 活动目录/GP 集成

总之,这产生了 MSI 的整体优势:为大型企业环境中繁忙的系统管理员提供可靠的远程部署管理。尽管技术复杂且古怪,但仍具有至关重要的好处。

许多人发现该技术难以处理 -存在一些常见的陷阱(我在底部写了一个非常奇怪的、临时的对一些 MSI 反模式的描述- 与问题的上下文无关,但它确实存在 - 有时事情是一时冲动写的,让写的人都感到惊讶——这不是很好,只是务实的细节。第一个链接也是如此)。

链接的 serverfault 答案(上方和此处)对这些企业 MSI 好处进行了更详细的描述,以及需要注意的一些挑战。

同一个 serverfault 问题有第二个答案,描述了 MSI 文件中的常见设计错误。一个非常混乱的“大脑转储”。


MSIX / AppX

我应该指出,微软现在的新打包平台是基于 AppX 应用程序框架的 MSIX 然而,MSI 在企业部署领域的渗透率很高,因此 MSI 的相关性还有多长时间还有待观察。所有已建立的部署工具都在努力支持 MSIX 和 AppX 以及其他部署技术(也包括虚拟化)。

滑入一些链接


应用程序V

而在现实中,企业世界的AppV(应用程序虚拟化/应用程序流)已经变成了一种通用的部署解决方案(Tim Mangan 的博客)。


选择 MSI 工具

MSI 创建的行业领导者通常是Advanced InstallerInstallshieldPACE Suite和开源解决方案WiX(及其商业分支Firegiant)——您似乎有些熟悉。

我只会给你一些以前写的答案的链接,其中包含一些关于这些不同工具的轻率混合的观点和事实——它旨在作为“最大努力”来帮助人们决定他们需要什么工具,而不是声称是“正确的” ”。这始终是一项危险的尝试——多年的经验意味着获得知识,但也预示着后天的坏习惯和怪癖。一个有缺陷的专业人士只能提供帮助,他们的诚实意见会产生什么结果:

于 2018-04-03T14:11:28.700 回答
4

我更喜欢 Inno Setup,因为它是免费的、强大的,并且具有我们需要的功能。

http://www.jrsoftware.org/isinfo.php

于 2018-04-03T11:33:14.910 回答
1

https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with

试试这个,这利用了我们公司也在使用的 wix 项目。请记住,您将需要 wix 插件来编译项目。它是免费且易于使用的。如果您在配置中遇到问题,我可以帮助您。

于 2018-04-03T07:15:53.350 回答
0

还有一些付费工具,例如 Advanced Installer(Caphyon 提供)和 InstallShield(Flexera 提供),您可以使用它们来构建 MSI 包。它们的主要优点是创建安装程序项目非常容易(可通过 UI 设计师配置),但它们的大部分功能都是付费的。

于 2018-04-03T08:31:26.940 回答
-1

结帐https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects

它基于 WIX,但上手更容易、更快,尤其是对于较小的项目。

于 2018-04-03T07:43:45.273 回答
-1

如果你想要一个工具来帮助你,但仍然想要一个像 Wix-Toolset 这样的脚本,你可以试试 WixPie。使用基本版本,您可以创建 msi 或 exe,基本版本是免费的。

于 2018-10-02T18:35:20.153 回答