我只是想知道该功能的用途是什么,因为MSIEXEC可能甚至不知道它在那里。是否有一些自定义操作代码可以访问它们?为什么要将自定义表格添加到MSI?
回答
关键是要编写自定义操作,使其行为与标准操作类似。动作和表格定义了动作执行工作的模式和表格定义要完成的工作。这是声明式数据驱动编程的核心。相反,当你以紧急的方式将两者紧密结合在一起时。
推荐阅读材料:
正如克里斯画家指出MSI文件中,你可以看到正在发生的事情在基于微星表的内容安装的情况发生透明感。 This is one of the key benefits of MSI that you can find described here。 自定义表格扩展了此内置透明度以包含由它们中指定的操作提供的自定义操作。它们还允许重用自定义操作代码,因为操作不是硬编码的,而是在表格中指定。
虽然在一家大公司工作,我写了能够做几件非标MSI任务的自定义操作DLL如创建本地用户和组,创建股除其他事项外和组自定义权限。通过定义在自定义表格中应该做什么,我们可以完成我们需要做的事情,而无需在自定义操作中对任何内容进行硬编码一旦创建,用户创建的自定义操作可以创建在自定义表中指定的任何用户。
定制表在_Validation table中定义,以便为表格中的每列设置可接受的值范围和类型。还可以连接定制ICE验证规则以检测定制表中的错误。需要解析目录的自定义操作可以将自定义表中的外键添加到目录表中,以便能够解析安装目录。您还可以将外键添加到其他表格,包括其他自定义表格。
简而言之,自定义表格由自定义操作使用,并且在用于实现自定义操作的灵活性和重用时非常有效。然而,实施是一项重大努力。 The WiX toolkit使用大量的自定义表格来完成非标准的MSI任务,例如IIS安装。他们的源代码是开源的,并会告诉你如何编写由定制表提供的自定义操作。它涉及到相当多的MSI技术,例如排序和从客户端到服务器进程传递值(提升,延迟模式自定义操作),但所有这些都应该可以从WiX“借用” - 或者更好,使用WiX自己的现成的自定义操作。
如果您具备创建此功能的技能,我认为将您的创作与WiS社区分享将是非常有益的。这也将为您提供一批极具天赋的开发人员,帮助您追踪代码和实施中的任何错误。
- 1. 为什么要将转义字符添加到URL参数中?
- 2. 将链接/模板列添加到自定义表格组件
- 3. 将附件添加到Orchard中的自定义表格
- 4. Joomla添加自定义表格
- 5. 将自定义表格行添加到PHP中的HTML表格中
- 6. 将FileVersion添加到MSI
- 7. 将文件添加到MSI
- 8. 无法将自定义视图添加到Android操作栏,为什么?
- 9. 将图像添加到自定义AlertDialog
- 10. 将editText添加到自定义视图
- 11. 将语音添加到自定义UIMenuController
- 12. 将自定义插件添加到tinyMCE
- 13. 将KeyListener添加到自定义对象
- 14. 将自定义按钮添加到SlickGrid?
- 15. 将视图添加到自定义ViewGroup
- 16. 将自定义按钮添加到Galleria
- 17. 将ListAdapter添加到自定义ListView
- 18. 将自定义控件添加到DataGridViewCell
- 19. Java:将MouseListener添加到自定义JComponent
- 20. 将自定义函数添加到Bootstrap.js
- 21. 将UITextField添加到自定义TableViewCell
- 22. 将自定义函数添加到Array.prototype
- 23. 将自定义控件添加到MoviePlayer
- 24. 将自定义对象添加到NSMutableArray
- 25. 将自定义对象添加到NSMutableArray
- 26. 将自定义设置添加到PreferenceFragment
- 27. 将自定义属性添加到MKAnnotation
- 28. Android将jar添加到自定义库
- 29. 自定义属性添加到列表
- 30. 将自定义矩形添加到自定义RelativeLayout中
不错。在C#中也是如此。 – Patrick 2011-02-01 21:56:07