哪些是学习Windows Installer技术的最佳来源?

时间:2010-08-19 17:12:16

标签: windows wix windows-installer

我想知道您是否可以共享您认为与学习Windows Installer最相关的一些(可信)信息源(书籍,URL)。他们可以从这项技术开始,也可以用于高级或专业知识水平。

未来的部署工程师可以从哪里开始,他/她可以在哪里继续保持正确的方向(一步一步)?

5 个答案:

答案 0 :(得分:5)

我显然有偏见,但我认为我的博客和WiX工具集是学习的好方法:

http://robmensching.com/blog

http://wix.sf.net(点击右侧的手册或教程链接)

有些人喜欢Phil Wilson的“The Definitive Guide to Windows Installer”,但我从未读过它。我直接从MSI SDK中学到了。

答案 1 :(得分:5)

在选择MSI之前,我做了7年的编写InstallScript安装程序。虽然程序脚本驱动的命令式安装和数据驱动的声明性安装之间存在巨大差异,但它们都做同样有趣的事情:部署软件。

我成为了一名MSI专家,但我正在研究领域的所有内容,编写 LOTS 的安装和博客7年,并在InstallShield社区论坛上回答了超过4,400个帖子。进入我的书的唯一方法就是去过那里并做到这一点。

因此,您的任务的第一步应该是非常彻底地了解Windows平台和相关技术。多年来这些都在发展,但你应该对它有一个很好的理解:

<强>基础

  • 注册表
  • FileSystem
  • NTFS
  • ACL的
  • DLL类型(Win32,COM,.NET程序集)
  • Win32 API
  • .NET基类库
  • 服务控制管理器驱动程序ODBC
  • SQL IIS Active Directory(GPO,LDAP等)
  • 全局程序集缓存
  • WinSxS缓存
  • DLL Hell
  • 安装程序的好坏行为

第二步是

工具

现在让我们开始编写安装程序。正如Leslie(复活节我假设)在另一个答案中所说,选择一个工具并学习如何使用它来完成上述事情。但是,一旦你可以进入下一步,就不要停在那里。

<强> MSI

尽快深入了解您的工具如何在幕后工作。就像你可以在.NET中编写C#并使用ILDASM查看IL一样,学习使用ORCA并查看发生了什么。阅读MSI SDK。是的,它粗糙而且神秘,但我花了3个月的时间在DC和TX之间通勤,我每周至少花费16个小时远离互联网连接,但除了SDK之外什么都没读。读它,知道它,活它......神秘的帮助主题最终将开始点击并成为第二天性。

最后,请阅读我的博客:DeploymentEngineering.com以及您可以找到的所有其他博客。

答案 2 :(得分:1)

没有一个简单的答案。主要原因是大多数安装开发人员使用特定工具,而后者又隐藏了大量Windows Installer行为。虽然如果这些开发人员对Windows Installer有深入的了解会很好,但事实并非如此。

我的建议如下:

  1. 专注于特定工具。许多开发环境提供试用期,有些是免费的。这些工具的在线帮助以及构建一些样本包的行为将是一个有用的过程。

  2. 如果可行,请考虑参加该工具的培训课程。我知道Flexera出售他们的基础和高级InstallShield课程手册。它们的价格有点过高,但确实包含了需要了解的Windows Installer细节。您将遇到的问题是,大多数文档都是特定于该工具的,而没有解释与Windows Installer的大量连接。

  3. 您需要Windows Installer SDK - 除了帮助文件外,还有一些有趣的工具和VBScript脚本。 Orca是SDK附带的一个工具,Internet上有类似的工具(SuperOrca,InstEd等)。 SDK不是一个很好的阅读,但它是一个很好的参考。当您遇到有关Windows Installer的特定问题时,请使用SDK帮助文件来了解更深入的内部结构。

  4. 谷歌'Windows安装程序博客'。您可能不想听到这一点,但有很多很棒的博客可以覆盖Windows Installer的许多部分内容。确保您选择了Windows Installer Team blog

  5. 无论您选择哪种方式,您都会发现学习Windows Installer是一个动手实践的过程。我希望这有帮助!

答案 3 :(得分:0)

我也有偏见,但这可能会有所帮助。我最近重新访问了WiX,用于实际的Windows Installer项目和wrote up my solution,最终插入到持续集成服务器中。

本文中的步骤将指导您使用WiX,本地化MSI以及创建用于安装任何先决条件的引导程序。

答案 4 :(得分:0)

为了学习, Tramontana's tutorial WiX 给了我很多帮助。

关于如何调试自定义操作的不错的小博文是 WiX and DTF: Debug a Managed Custom Action and how to generate an MSI log