docs: def MakeExecutableTemplate(self, output_file=None):
      """Windows templates also include the nanny."""
      super(WindowsClientBuilder,
            self).MakeExecutableTemplate(output_file=output_file)
  
      self.MakeBuildDirectory()
      self.BuildWithPyInstaller()
  
      # Get any dll's that pyinstaller forgot:
      for module in EnumMissingModules():
        logging.info("Copying additional dll %s.", module)
        shutil.copy(module, self.output_dir)
  
      self.BuildNanny()
  
      # Generate a prod and a debug version of nanny executable.
      shutil.copy(
          os.path.join(self.output_dir, "GRRservice.exe"),
          os.path.join(self.output_dir, "dbg_GRRservice.exe"))
      with open(os.path.join(self.output_dir, "GRRservice.exe"), "r+") as fd:
        build.SetPeSubsystem(fd, console=False)
      with open(os.path.join(self.output_dir, "dbg_GRRservice.exe"), "r+") as fd:
        build.SetPeSubsystem(fd, console=True)
  
      # Generate a prod and a debug version of client executable.
      shutil.copy(
          os.path.join(self.output_dir, "grr-client.exe"),
          os.path.join(self.output_dir, "dbg_grr-client.exe"))
      with open(os.path.join(self.output_dir, "grr-client.exe"), "r+") as fd:
        build.SetPeSubsystem(fd, console=False)
      with open(os.path.join(self.output_dir, "dbg_grr-client.exe"), "r+") as fd:
        build.SetPeSubsystem(fd, console=True)
  
      self.MakeZip(self.output_dir, self.template_file)