def METHOD_NAME(self):
    if not self.skip_build:
        self.run_command('build')
    install = self.reinitialize_command('install', reinit_subcommands=1)
    install.root = self.bdist_dir
    install.skip_build = self.skip_build
    install.warn_dir = 0
    log.info("installing to %s" % self.bdist_dir)
    self.run_command('install')
    # And make an archive relative to the root of the
    # pseudo-installation tree.
    archive_basename = "%s.%s" % (self.distribution.get_fullname(),
                                  self.plat_name)
    # OS/2 objects to any ":" characters in a filename (such as when
    # a timestamp is used in a version) so change them to hyphens.
    if os.name == "os2":
        archive_basename = archive_basename.replace(":", "-")
    pseudoinstall_root = os.path.join(self.dist_dir, archive_basename)
    if not self.relative:
        archive_root = self.bdist_dir
    else:
        if (self.distribution.has_ext_modules() and
            (install.install_base != install.install_platbase)):
            raise DistutilsPlatformError, \
                  ("can't make a dumb built distribution where "
                   "base and platbase are different (%s, %s)"
                   % (repr(install.install_base),
                      repr(install.install_platbase)))
        else:
            archive_root = os.path.join(self.bdist_dir,
                               ensure_relative(install.install_base))
    # Make the archive
    filename = self.make_archive(pseudoinstall_root,
                                 self.format, root_dir=archive_root,
                                 owner=self.owner, group=self.group)
    if self.distribution.has_ext_modules():
        pyversion = get_python_version()
    else:
        pyversion = 'any'
    self.distribution.dist_files.append(('bdist_dumb', pyversion,
                                         filename))
    if not self.keep_temp:
        remove_tree(self.bdist_dir, dry_run=self.dry_run)