如何创建Windows安装程序

时间:2018-04-03 07:00:38

标签: powershell wix windows-installer appx msix

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

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

6 个答案:

答案 0 :(得分:14)

  

短版 :已经有很多答案了 - 我主要只是添加一些链接到   现有答案。 Here is a previous short answer of mine on the topic

     

更高"可浏览性" :上述答案采用简单格式列表视图当前最重要的部署工具。匆匆?测试这些,选择一个。以下是更多细节和一些进一步的讨论"。

部署工具

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

我建议去MSI。使用哪种具体工具不太明显 。请参阅下面的最后一节,了解一些链接,其中包含不同工具的优缺点描述。

为什么选择MSI?

MSI(Windows Installer)是企业部署的标准,因为与先前的安装技术相比,它提供了a number of corporate benefits of major significance。优势围绕可靠的远程管理标准化 - 关键的企业部署问题。

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

  1. 可靠的静音运行(标准化且完全可抑制的GUI)
  2. 隐式可用的卸载(处理旧版设置时的噩梦)
  3. 透明度(安装人员的半透明和可检查性质 - 已编译的CA除外)
  4. 提升安装权(没有杂乱的临时管理员权限)
  5. 标准化命令行(没有寻找"秘密"开关)
  6. Administrative installation (文件摘录 - 对企业重新包装至关重要)
  7. 详细记录(确实有用且详细:-))
  8. 标准化程序包自定义(转换 - 数据库碎片)
  9. 回滚支持(可以撤消对安装失败的更改)
  10. 广告资源(管理和报告:已安装内容的完整注册位置)
  11. Active Directory / GP集成
  12. 总而言之,这可以带来MSI的整体效益: 可靠,远程管理,适用于大型企业环境中繁忙的系统管理员 。尽管技术的复杂性和怪癖,但至关重要的好处。

    许多人发现要处理的技术具有挑战性 - there are some common pitfalls(我写了a very odd, ad-hoc description of some MSI anti-patterns towards the bottom here - 在这个问题的背景之外,但事实上是这样 - 有时候事情就会被写入无论谁写的都是惊喜 - 伟大的不是,只是务实的细节。同样适用于第一个链接。)

    The linked serverfault answer(上面和此处)详细描述了这些企业MSI的好处以及需要注意的一些挑战。

    同一服务器故障问题有a second answer describing common design errors in MSI files。一个非常混乱的大脑转储"。

    MSIX / AppX

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

    APPV

    实际上,企业界AppV(应用程序虚拟化/应用程序流)已变成a common deployment solution(Tim Mangan博客)。

    选择MSI工具

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

    我只是给你一些以前写过的答案的链接,其中包含一些意见和事实,关于这些不同工具的轻率混合 - 它旨在作为"尽力而为#&#34 34;帮助人们决定他们需要什么样的工具,而不是声称自己是正确的"。这总是一项危险的尝试 - 多年的经验意味着获得的知识,但也预示着后天的坏习惯和怪癖。什么结果是有缺陷的专业人士的诚实意见,他们只愿意提供帮助:

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

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

它基于WIX,但开始时更容易,更快,特别是对于较小的项目。

答案 5 :(得分:-1)

如果您想要一个工具来帮助您,但仍然希望拥有Wix-Toolset之类的脚本,则可以尝试WixPie。使用基本版本,您可以创建msi或exe,而基本版本是免费的。