有没有关于编写软件安装程序的权威文档?

我已经阅读了大量关于安装程序的文档,并没有遇到任何解释底层概念的好东西。 我遇到的大多数安装程序软件都基于相同的“数据库”结构,我根本就不了解。

各种产品附带的所有文档 – 例如WiX,InstallAware,Wise,InstallShield等都希望您能够理解这些基本概念[我不会得到],以便了解他们所谈论的内容。

任何人都可以指向我解释软件安装程序概念的文档方向,以便软件文档真正有意义吗?

更新 – 自我的原始post以来, WiX:Windows Installer XML开发人员指南已经发布,对初学者来说也是一个很好的资源。 (我自己并没有发现它那么棒。)我仍然建议阅读Windows安装的权威指南作为起点。 Windows Installer和WiX不是你几天就能拿到的,它需要几个月的时间。


去拿一份Windows Installer的权威指南 。 我已经不知道有多少次我向那些坚持概念并且正在努力理解Windows Installer如何工作的人推荐它。 确保您也获取了Windows Installer SDK 。

掌握Windows Installer是您学习的第一个阶段,一旦沉浸其中,您将了解InstallShield的工作原理(或根据具体情况不起作用……)。 Wise,InstallShield等尝试保护您免受底层概念的攻击,并有自己的技巧/黑客来克服Windows Installer的限制。

第二阶段(如果您认真了解Windows Installer)正在学习WiX ( WiX教程并不算太差,虽然它有点过时,针对的是WiX 2.0而不是3.0)并且加入了wix-users邮件列表 。 在你完成上面提到的书之前,不要加入用户列表,你会很好。 那些不了解Windows Installer概念的人的问题在很大程度上被忽略了,但是做完作业的人提出的问题会让它成为一个很好的资源。

本书未涉及的是Vista,Robert Flamings关于理解UAC和Vista的博客条目(当Vista处于测试阶段时编写)是您在该主题上可以找到的最佳信息。

Windows Installer和WiX团队真正擅长的一件事是保持文档(帮助文件)是最新的。 每当我在设置工作时,我通常会在一台显示器上打开Wix.chmMsi45.chm ;)

除了文档之外,来自WiX和Windows Installer团队的人们的博客也非常适合学习新的技巧等。这里列出的内容太多了,但是一旦你知道了这些术语,你会发现它们中的大多数都出现在谷歌搜索结果中。

如果这一切看起来太多,那么请查看NSIS 。 非常适合简单的“我只需要复制文件”类型的安装,对于企业部署而言并不是那么好。 如果你在两者之间挣扎,那么当设置不仅仅是xcopy时,可以去看看Rob Mensching的旧博客。 那些文章可能使我相信,从长远来看,潜入并学习基础Windows Installer概念会有所回报。 它有:)

这个(MSDN,关于Windows Installer)是关于在Windows上安装的良好“常规”信息的最佳起点。 所有“基于msi”的安装程序都与这些概念有关。

唯一的“其他”安装程序类型(在Windows世界中)是NSIS,它实际上不适用于企业安装(我不想在这里开始讨论程序安装程序与非程序安装程序)。

安装内容非常复杂,包括广告,还原点,补丁和转换等高级概念,但是当你“得到它”时,你可以做一些很酷的事情,比如使用SQL 2008来解决TFS 2008问题。

TFS 2008不支持SQL 2008,但是TFS 2008 SP1不支持,因此您需要做的是使用以下命令“修补”TFS 2008 RTM安装和TFS 2008 SP1安装:

msiexec /a C:\TFS\RTM\AT\vs_setup.msi /p C:\TFS\SP1Extract\TFS90sp1-KB949786.msp TARGETDIR=C:\TFS\ATIntegrated 

但结果是你无法提出的“TFS 2008 SP1”。

你可以试试

Windows Installer资源 (以下链接的起始页)

Windows Installer (查看“Windows Installer概述”)

MSDN上的Windows安装程序 (适用于SDK信息)

希望有帮助……

我见过的Windows安装程序的最佳介绍是Phil Wilson的书“Windows安装程序权威指南” 。 这是在2004年编写的,没有Vista或Win7特有的function。

我见过的最适合Windows安装程序的网站是www.installsite.org 。 它有一些介绍性文章,但针对的是专家。

如果您的安装需求不是非常复杂,我建议尝试InnoSetup。 几年前我在一套Windows应用程序安装程序中使用它并且没有任何抱怨。 比InstallShield和MSI简单得多,但您的里程可能会有所不同。

我与InnoSetup没有任何关系。

通过查看代码,了解安装程序如何工作的好地方。

  • 下载或浏览 Jordan Russell的Inno Setup的源代码。
  • 下载或浏览 Nullsoft Scriptable Install System的源代码。