chrome/installer/launcher_support/chrome_launcher_support.cc
// Reads the path to setup.exe from the value "UninstallString" within the
// specified product's "ClientState" registry key. Returns an empty FilePath if
// an error occurs or the product is not installed at the specified level.
Reads the path to setup.exe from the value "UninstallString" within the
specified product's "ClientState" registry key. Returns an empty FilePath if
an error occurs or the product is not installed at the specified level.
Reads the path to setup . exe from the value " UninstallString " within the specified product ' s " ClientState " registry key . Returns an empty FilePath if an error occurs or the product is not installed at the specified level .
FilePath GetSetupExeFromRegistry(InstallationLevel level,
                                 const wchar_t* app_guid) {
  string16 uninstall;
  if (GetClientStateValue(level, app_guid, kUninstallStringField, &uninstall)) {
    FilePath setup_exe_path(uninstall);
    if (file_util::PathExists(setup_exe_path))
      return setup_exe_path;
  }
  return FilePath();
}
FilePath GetSetupExeFromRegistry ( InstallationLevel level , const wchar_t * app_guid ) { string16 uninstall ; if ( GetClientStateValue ( level , app_guid , kUninstallStringField , & uninstall ) ) { FilePath setup_exe_path ( uninstall ) ; if ( file_util :: PathExists ( setup_exe_path ) ) return setup_exe_path ; } return FilePath ( ) ; }
Reads the path to setup.exe from the value "UninstallString" within the
specified product's "ClientState" registry key.
Reads the path to setup . exe from the value " UninstallString " within the specified product ' s " ClientState " registry key .