diff --git a/LKY_OfficeTools/Lib/Lib_AppInfo.cs b/LKY_OfficeTools/Lib/Lib_AppInfo.cs
index 303027c..411a64b 100644
--- a/LKY_OfficeTools/Lib/Lib_AppInfo.cs
+++ b/LKY_OfficeTools/Lib/Lib_AppInfo.cs
@@ -51,7 +51,7 @@ internal class AppAttribute
///
/// APP 版本号
///
- internal const string AppVersion = "1.1.1.1209";
+ internal const string AppVersion = "1.1.1.1213";
///
/// 开发者拼音全拼
diff --git a/LKY_OfficeTools/Lib/Lib_OfficeActivate.cs b/LKY_OfficeTools/Lib/Lib_OfficeActivate.cs
index 01225e4..6979393 100644
--- a/LKY_OfficeTools/Lib/Lib_OfficeActivate.cs
+++ b/LKY_OfficeTools/Lib/Lib_OfficeActivate.cs
@@ -201,6 +201,12 @@ internal static int StartActivate(string kms_server = "kms.chinancce.com")
new Log($" × 系统可能存在损坏,建议您重新安装操作系统后重试!", ConsoleColor.DarkRed);
return -101; //返回无限小,不再重试
}
+ //0xC004F074
+ else if (log_activate.Contains("0xC004F074"))
+ {
+ //0xC004F074错误:与KMS服务器通讯失败
+ new Log($" × 激活失败!若此消息频频复现,强烈建议您重置网卡设置 或 重新安装操作系统!", ConsoleColor.DarkRed);
+ }
else
{
//非已知问题
diff --git a/LKY_OfficeTools/Lib/Lib_OfficeClean.cs b/LKY_OfficeTools/Lib/Lib_OfficeClean.cs
index 9309fc5..11dabd0 100644
--- a/LKY_OfficeTools/Lib/Lib_OfficeClean.cs
+++ b/LKY_OfficeTools/Lib/Lib_OfficeClean.cs
@@ -108,7 +108,7 @@ internal static bool Delete()
//逐一卸载后,若都为 success,则再执行一次检查
office_installed_key = OfficeLocalInstall.LicenseInfo(); //再度获取list
- if (office_installed_key == null) //为空,视为成功
+ if (office_installed_key.Count == 0) //为0,视为成功
{
return true;
}
@@ -387,11 +387,11 @@ internal static bool BySaRA()
//执行卸载命令
string cmd_switch_cd = $"pushd \"{SaRA_path_root}\""; //切换至SaRA文件目录
- string cmd_unstall = $"SaRACmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion All";
- string uninstall_result = Com_ExeOS.Run.Cmd($"({cmd_switch_cd})&({cmd_unstall})");
+ string cmd_uninstall = $"SaRACmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion All";
+ string uninstall_result = Com_ExeOS.Run.Cmd($"({cmd_switch_cd})&({cmd_uninstall})");
if (!uninstall_result.ToLower().Contains("successful"))
{
- new Log(uninstall_result);
+ new Log($"SaRA Exception: \n{uninstall_result}");
new Log($" × 卸载 Office 冗余版本失败!", ConsoleColor.DarkRed);
return false;
}
@@ -462,11 +462,10 @@ internal static bool ByODT()
//测试表明,卸载1个ODT版本大约需要2分钟时间,留出2倍的富余
new Log($" >> 此过程大约会在 {Math.Ceiling(install_list.Count * 2 * 2.0f)} 分钟内完成,具体时间取决于您的电脑配置,请稍候 ...", ConsoleColor.DarkYellow);
- //移除所有激活信息
+ //移除所有激活信息,即使有错误也继续执行后续卸载。
if (!Activate.Delete())
{
- new Log(" × 移除激活信息失败!");
- return false;
+ new Log("移除激活信息失败!"); //纯打点
}
new Log($" >> 卸载仍在继续,请等待其自动完成 ...", ConsoleColor.DarkYellow);
@@ -486,6 +485,7 @@ internal static bool ByODT()
//注册表ODT至少存在1个版本时,视为卸载失败
if (reg_info != null && reg_info.Count > 0)
{
+ new Log($"ODT UnInstalling Exception ExitCode: {uninstall_code}");
new Log($" × 已尝试卸载 Office ODT 版本,但系统仍存在 {reg_info.Count} 个无法卸载的版本!", ConsoleColor.DarkRed);
return false;
}
diff --git a/LKY_OfficeTools/OfficeTools.cs b/LKY_OfficeTools/OfficeTools.cs
index 3ed6f39..a71795a 100644
--- a/LKY_OfficeTools/OfficeTools.cs
+++ b/LKY_OfficeTools/OfficeTools.cs
@@ -24,7 +24,7 @@ internal class OfficeTools
static void Main(string[] args)
{
//设定编码,解决英文系统乱码问题
- Console.OutputEncoding = Encoding.UTF8;
+ Console.OutputEncoding = Encoding.GetEncoding("gbk");
//命令行检测
new Lib_AppCommand(args);
diff --git a/README.md b/README.md
index b31223c..3a56267 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,8 @@
- 当系统中存在多个冗余 Office 版本时,本工具在用户同意的情况下,可实现自动升级。
## 使用方法
-- 解压形如:LKY_OfficeTools_v*.zip 的文件,运行解压后目录下的 LKY_OfficeTools.exe 文件即可完成部署。
+- 下载形如:LKY_OfficeTools_v*.zip 的压缩包,地址:https://gitee.com/OdysseusYuan/LKY_OfficeTools/releases/latest
+- 解压下载好的 zip 压缩包,运行解压后目录下的 LKY_OfficeTools.exe 文件即可完成部署。
## 测试环境
- 目前已经在 Windows 10(1703) 及以上版本进行了测试,均可在其 x86、x64 完美安装正版 Office 并激活。