public ActionResult InstallPkg(int id, int pkgId) { string pkgName = null; try { if (SysUpdateHelper.IsPkgInstalled(id, pkgId)) { return(Error("已安装")); } if (!TryLockOp(id)) { return(Error("当前有其他操作未完成,等待完成后再继续")); } DateTime start = DateTime.Now; pkgName = SysUpdateHelper.GetPkgRawName(id, pkgId); SysUpdateHelper.InstallPkg(id, pkgId); var span = DateTime.Now - start; LogHelper.LogInfo($"更新包 system{id}/{pkgName} 安装成功。耗时: {span.Hours}小时{span.Minutes}分钟{span.Seconds}秒"); SysUpdateHelper.TouchDetect(id); return(Success()); } catch (Exception ex) { LogHelper.LogError($"更新包 system{id}/{pkgName} 安装失败", ex); return(Error(ex.Message)); } finally { UnLockOp(id); } }