def METHOD_NAME(self, path):
    try:
        servicename = self.options.get("servicename", "CAPEService").encode("utf8")
        if servicename == "blank":
            servicename = " ".encode("utf8")
        servicedesc = self.options.get("servicedesc", "CAPE Service").encode("utf8")
        arguments = self.options.get("arguments")
        path = check_file_extension(path, ".dll")
        svcpath = r"%SystemRoot%\system32\svchost.exe"
        binpath = f"{svcpath} -k capegroup".encode("utf8")
        dllpath = f"{path}"
        if arguments:
            dllpath += f" {arguments}"
        scm_handle = ADVAPI32.OpenSCManagerA(None, None, SC_MANAGER_ALL_ACCESS)
        if scm_handle == 0:
            log.info("Failed to open SCManager")
            log.info(ctypes.FormatError())
            return
        service_handle = ADVAPI32.CreateServiceA(
            scm_handle,
            servicename,
            servicedesc,
            SERVICE_ALL_ACCESS,
            SERVICE_WIN32_SHARE_PROCESS,
            SERVICE_DEMAND_START,
            SERVICE_ERROR_IGNORE,
            binpath,
            None,
            None,
            None,
            None,
            None,
        )
        if service_handle == 0:
            log.info("Failed to create service")
            log.info(ctypes.FormatError())
            return
        log.info("Created service %s (handle: 0x%s)", servicename.decode(), service_handle)
        self.set_keys(servicename.decode(), dllpath)
        servproc = Process(options=self.options, config=self.config, pid=self.config.services_pid)
        filepath = servproc.get_filepath()
        servproc.inject(interest=filepath, nosleepskip=True)
        servproc.close()
        KERNEL32.Sleep(500)
        service_launched = ADVAPI32.StartServiceA(service_handle, 0, None)
        if service_launched:
            log.info("Successfully started service")
        else:
            log.info(ctypes.FormatError())
            log.info("Failed to start service")
        ADVAPI32.CloseServiceHandle(service_handle)
        ADVAPI32.CloseServiceHandle(scm_handle)
        return
    except Exception as e:
        log.info(sys.exc_info()[0])
        log.info(e)
        log.info(e.__dict__)
        log.info(e.__class__)
        log.exception(e)