OdysseusYuan/LKY_OfficeTools · error · Exception
修改服务 {serv_name} 的描述信息为 {serv_description} 失败!
Error message
修改服务 {serv_name} 的描述信息为 {serv_description} 失败! What it means
Thrown in Com_ServiceOS.Config.Modify.Description when the `sc description ...` stdout lacks the success markers 成功/success (Com_ServiceOS.cs:465-472). This is the genuine sc rejection path; most commonly access-denied from a non-elevated caller. The throw is caught by Description's catch and it returns false (Com_ServiceOS.cs:479-483).
Source
Thrown at LKY_OfficeTools/Common/Com_ServiceOS.cs:471
{
//已经创建服务,才进行修改
string cmd_modify_desc = $"sc description \"{serv_name}\" \"{serv_description}\"";
var modify_result = Com_ExeOS.Run.Cmd(cmd_modify_desc);
//非空判断,若返回值为空,则为假
if (string.IsNullOrEmpty(modify_result))
{
throw new Exception($"执行修改 {serv_name} 描述信息时,返回值为空!");
}
//判断是否修改描述成功
if (modify_result.Contains("成功") || modify_result.ToLower().Contains("success"))
{
return true;
}
else
{
throw new Exception($"修改服务 {serv_name} 的描述信息为 {serv_description} 失败!");
}
}
else
{
throw new Exception($"尝试修改服务 {serv_name} 的描述信息为 {serv_description},但该服务未安装!");
}
}
catch (Exception Ex)
{
new Log(Ex.ToString());
return false;
}
}
}
}
}
}
View on GitHub (pinned to 6f9a1bd471)
Solutions
- Run elevated; sc description requires administrator privileges.
- Keep the description within SCM length limits and avoid illegal characters.
- Check the bool return and the logged sc output for the exact failure.
- Retry after elevating; confirm via `sc qdescription <name>`.
Example fix
// before
Com_ServiceOS.Config.Modify.Description(name, desc);
// after
bool ok = Com_ServiceOS.Config.Modify.Description(name, desc);
if (!ok) { /* elevate and retry; see log for sc error */ } Defensive patterns
Strategy: validation
Validate before calling
bool ok = Com_ServiceOS.Config.Modify.Description(name, desc);
if (!ok) { /* elevate and retry; see log for sc error */ } Prevention
- Run elevated; sc description requires administrator privileges.
- Keep description length within SCM limits and avoid illegal characters.
- Check the bool return and the logged sc output for the exact reason.
- Confirm with `sc qdescription <name>` after a successful change.
When it happens
Trigger: Calling Modify.Description without admin rights (sc description requires elevation), or with malformed/oversized description text that sc rejects.
Common situations: Non-elevated service-management tool; description exceeding SCM limits; reconfiguration while SCM is busy.
Related errors
- 修改服务 {serv_name} 的 DisplayName 信息为 {serv_displayname} 失败!
- 删除服务 {serv_name} 失败!
- 执行修改 {serv_name} binPath 参数时,返回值为空!
- 修改服务 {serv_name} 的 binPath 信息为 {serv_binpath} 失败!
- 尝试修改服务 {serv_name} 的 binPath 信息为 {serv_binpath},但该服务未安装!
AI-assisted analysis of OdysseusYuan/LKY_OfficeTools@6f9a1bd471 (2026-08-13).
Data as JSON: /api/errors/70bb0af367518252.
Report an issue: GitHub.