Drupal - How do I disable a core installation profile?

In Drupal 7, a install profile is like a module, but a special one, with two major exceptions:

  • Any module required by a install profile can be disabled --as you have found-- except the ones required by drupal core (field, filter, node, system, user). See module_disable() function for details, where the dependency on the install profile is explicitly discarded.
  • The profile used to install a site is also a required module. This is hardcoded in drupal_required_modules().

So a profile can't be uninstalled, because it is a required module.

You can set status to 0 in system table, but you shouldn't, since:

  • Drupal expects the install profile to be enabled, and rely on that for some operations, none if them critical afaik.
  • it is a module, it may implement any hook (in its .profile file), or declare any function required by a profile's submodule. Disabling it the hard way may produce misfunction or a php fatal error in those scenarios.

Btw, the install profile used to install the site is stored in the install_profile variable

# drush vget install_profile
install_profile: 'minimal'

You can, if you find it useful for some reason, change the install profile by setting install_profile to any other profile name and enabling it in the system table.


The Profile Switcher module for D7 may help: https://www.drupal.org/project/profile_switcher