**已关闭。**此问题正在寻求有关书籍、工具、软件库等内容的建议。它不符合Stack Overflow guidelines。当前不接受答案。
我们不允许提出问题来寻求对图书、工具、软件库等的推荐。您可以编辑问题,以便用事实和引文来回答。
5年前关闭。
社区在25天前审查了是否重新打开这个问题,并将其关闭:
原始关闭原因未解决
Improve this question的
基本上,我们正在释放我们的更改/修复的形式手动安装程序(Windows PowerShell脚本).它将安装指定.dll和SQL脚本文件在特定位置通过阅读配置文件值(我们将配置.dll & SQL脚本位置在此文件).同一PowerShell脚本有卸载代码回滚特定的更改集.
是否有任何选项或机制来创建Windows安装程序的上述要求?
6条答案
按热度按时间mfuanj7w1#
部署工具
有许多工具可用于创建各种类型的create installers/setup.exe文件。以下是其中大多数文件的简要说明链接:
*更新:关于跨平台安装程序:是否存在跨平台通用安装程序?
为什么选择MSI?MSI的主要优势:
MSI(Windows XP)是企业部署的标准,因为与以前的安装技术相比,它提供了许多重要的企业优势。这些优势主要集中在可靠的远程管理和标准化方面-这是企业部署的关键问题。
简而言之,最重要的,具体的好处可能是:
1.可靠的静音运行(标准化和完全可抑制的GUI)
1.实现可用卸载(处理遗留设置时的噩梦)
1.透明度(安装程序的半透明和可检查性质-编译CA除外)
1.提升的安装权限(没有混乱的临时管理员权限-安装通过Active Directory广告、组策略或远程管理提升运行。这里有一些限制-只有部分MSI安装序列运行提升,安装程序本身必须正确编写,才能正确使用此提升的权限概念). More info。
1.标准化的命令行(不寻找“秘密”开关)
1.管理安装(文件提取-企业重新打包所必需的)
1.Verbose logging(非常有用,而且非常详细:-))
1.标准化包定制(transforms -数据库碎片)
1.回滚支持(可撤消失败安装的更改)
1.库存(管理和报告:完整登记安装的内容和位置)
1.Active Directory / GP集成
总之,这产生了MSI的总体优势:* 为大型企业环境中的忙碌提供可靠的远程部署管理 *。尽管技术复杂且古怪,但这是至关重要的优势。
许多人发现这项技术很难处理--有一些常见的陷阱(我在这里的底部写了一个非常奇怪的、特别的关于MSI反模式的描述--脱离了这个问题的上下文,但它就是这样--有时候事情会在一时冲动中写出来,让写东西的人感到惊讶--它并不伟大,只是实用的细节。第一个链接也是如此)。
链接的serverfault答案(上面和这里)更详细地描述了这些企业MSI的好处沿着一些需要注意的挑战。
同样的服务器故障问题有a second answer describing common design errors in MSI files。一个非常混乱的“大脑转储”。
MSIX / AppX
我应该指出的是,微软现在的新打包平台是基于AppX应用程序框架的MSIX。然而MSI在企业部署领域具有很高的渗透率,因此MSI的相关性还有待观察。所有已建立的部署工具都在支持MSIX和AppX以及其他部署技术(也包括虚拟化)。
AppV
而在真实的企业世界中,AppV(应用程序虚拟化/应用程序流)已经变成了a common deployment solution(Tim Mangan的博客)。
选择MSI工具
MSI创建的行业领导者通常是Advanced Installer、Installshield、PACE Suite和开源解决方案WiX(及其商业分支Firegiant)-您似乎对它们有些熟悉。
我只会给予你一些链接到以前写的答案与一些意见和事实在一个轻率的混合这些不同的工具-它的目的是作为一个“最大的努力”,以帮助人们决定他们需要什么工具,而不是声称是“正确的”。这总是一个危险的奋进-多年的经验意味着获得的知识,但也预示着后天的坏习惯和怪癖。什么结果是诚实的意见,从一个有缺陷的专业谁只能提供一个愿意帮助:
*使用哪种安装产品?InstallShield、WiX、Wise、Advanced Shield等-对当前已建立的部署产品的优缺点进行客观评估的主观尝试。
*WiX的快速入门-一个关于如何使用WiX的建议的混乱的小答案,比平时更受欢迎。它一定很有帮助。我喜欢我在codeproject上链接的“hello world”风格的示例,其他人也提到了。
bq9c1y662#
我更喜欢Inno Setup,因为它是免费的,健壮的,并且具有我们需要的功能。
http://www.jrsoftware.org/isinfo.php
13z8s7eq3#
https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with
试试这个,这个利用wix项目,我们也在我们公司使用它。记住你需要wix插件来编译项目。它是免费的,易于使用。如果你在配置中有一些问题,我可以帮助你。
xj3cbfub4#
也有付费工具,如Advanced Installer(由Caphyon提供)和InstallShield(由Flexera提供),您可以使用它们来构建MSI包。它们的主要优点是创建安装程序项目非常容易(可通过UI设计器配置),但它们的大部分功能都是付费的。
uyto3xhc5#
结账https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects
它基于WIX,但更容易和更快地开始,特别是对于较小的项目。
a8jjtwal6#
如果你想要一个工具来帮助你,但仍然希望有一个像Wix-Toolset的脚本,你可以尝试WixPie。使用基本版本,你可以创建一个msi或exe,基本版本是免费的。