注册表表组

注册表表组

有关此图的详细信息,请参阅实体关系图图例

安装程序具有不同类型的注册表项的特定表。 在填充注册表表组时,重要的是尽量减少放入 Registry 表中的条目数量,并最大限度地使用其他特定的注册表。 这是因为安装程序无法区分注册表中不同类型的注册表项,并且无法使用内部逻辑,而内部逻辑是充分利用所有安装程序功能(如播发)所必需的。 以这种方式创作与 COM 和 shell 相关的注册表项还提供了更具逻辑性的组织方式,有助于最大限度地减少 COM 服务器信息的错误注册。

该图显示了表的注册表项组以及 Component 表Feature 表File 表。 尽管这些表并不直接参与填充注册表,但还是将这些表包含在图中,因为它们对于注册表项组的逻辑是必不可少的。

注册表项组包含以下特定注册表项的表格。

  • Extension 表包含应用程序使用的所有文件扩展名及其关联的功能和组件。
  • Verb 表将命令谓词信息与 Extension 表中列出的文件扩展名相关联。 这为特征播发所需的 Verb 和 Feature 表之间提供了间接链接。
  • TypeLib 表提供安装程序放置在注册表中以用于注册类型库的信息。 播发时不会写入类型库条目。 安装程序在安装与库关联的组件时写入类型库条目。
  • MIME 表将 MIME 上下文类型与 CLSID 或文件扩展名相关联。 关联后,便在 MIME 和 Feature 表之间创建了一条功能播发所需要的路径。
  • SelfReg 表提供了自注册模块所需的信息。 安装程序提供自注册只是为了向后兼容,不建议将其作为填充注册表的方法,但是,如果应用程序中有任何必须自行注册的模块,请使用 SELFREG 表。
  • Class 表用于注册 COM 对象的类 ID 和其他信息。 此表包含必须产品播发过程中生成的 COM 服务器相关信息。
  • ProgId 表将程序 ID 与类 ID 关联。
  • AppId 表用于注册 DCOM 对象的常见安全和配置设置。
  • Environment 表用于设置环境变量的值,在 Windows 2000 中,Environment 表也会被写入注册表中。
  • Registry 表保存应用程序需要放入系统注册表中的任何其他信息。 这包括默认设置、用户信息或数据或上述表不支持的 COM 注册。
  • RemoveRegistry 表包含应用程序安装时需要从系统注册表中删除的注册表信息。