搜索现有应用程序、文件、注册表项或 .ini 文件条目

Windows Installer 可以在安装过程中搜索特定的文件或目录。 文件或目录搜索用于确定用户是否已安装某个版本的应用程序。

AppSearch 操作在用户系统中搜索 AppSearch 表中指定的文件签名。 如果 AppSearch 操作找到了具有指定签名的已安装文件或目录,则它会将相应的属性(也在 AppSearch 表中指定)设置为该文件或目录的位置。 搜索文件时,文件签名也必须在 Signature 表中列出。 如果文件签名已在 AppSearch 表中列出但未在 Signature 表中列出,则搜索将查找目录、注册表项或 .ini 文件条目。

为了加快用户计算机的搜索,安装程序将按照列出的顺序查询以下定位符数据库表,以获取建议的搜索位置:

  • 如果文件签名已在 CompLocator 表中列出,则建议的搜索位置是组件的关键路径。 如果签名未在此表中列出或未安装在建议的位置,则安装程序将查询 RegLocator 表以获取建议的位置。
  • 如果文件签名已在 RegLocator 表中列出,则建议的搜索位置是写入到用户注册表中的关键路径。 如果签名未在此表中列出或未安装在建议的位置,则安装程序将查询 IniLocator 表以获取建议的位置。
  • 如果文件签名已在 IniLocator 表中列出,则建议的搜索位置是写入到用户系统默认 Windows 目录下 .ini 文件中的关键路径。 如果签名未在此表中列出或未安装在建议的位置,则安装程序将查询 DrLocator 表以获取建议的位置。
  • 如果文件签名已在 DrLocator 表中列出,则建议的搜索位置是用户目录树中的路径。 要在此位置下搜索的子目录级别深度也在此表中指定。

当安装程序首次在建议的位置查找文件签名时,它会停止搜索此文件或目录,并在 AppSearch 表中设置相应的属性。 有关详细信息,请参阅以下部分: