feat(install-manager): 安装成功时跳过APM快捷方式创建,仅针对升级任务

This commit is contained in:
2026-07-19 23:27:19 +08:00
parent 99c6048295
commit 0a6fcd95c7
+7 -4
View File
@@ -42,6 +42,7 @@ type InstallTask = {
metalinkUrl?: string; metalinkUrl?: string;
filename?: string; filename?: string;
origin: "spark" | "apm"; origin: "spark" | "apm";
upgradeOnly?: boolean;
cancelled?: boolean; cancelled?: boolean;
phase: "queued-download" | "downloading" | "queued-install" | "installing"; phase: "queued-download" | "downloading" | "queued-install" | "installing";
}; };
@@ -268,7 +269,8 @@ ipcMain.on("queue-install", async (event, download_json) => {
typeof download_json === "string" typeof download_json === "string"
? JSON.parse(download_json) ? JSON.parse(download_json)
: download_json; : download_json;
const { id, pkgname, metalinkUrl, filename, origin } = download || {}; const { id, pkgname, metalinkUrl, filename, origin, upgradeOnly } =
download || {};
if (!id || !pkgname) { if (!id || !pkgname) {
logger.warn("passed arguments missing id or pkgname"); logger.warn("passed arguments missing id or pkgname");
@@ -376,6 +378,7 @@ ipcMain.on("queue-install", async (event, download_json) => {
metalinkUrl, metalinkUrl,
filename, filename,
origin: origin || "apm", origin: origin || "apm",
upgradeOnly: Boolean(upgradeOnly),
phase: metalinkUrl ? "queued-download" : "queued-install", phase: metalinkUrl ? "queued-download" : "queued-install",
}; };
tasks.set(id, task); tasks.set(id, task);
@@ -769,9 +772,9 @@ async function runInstallPhase(task: InstallTask) {
if (success) { if (success) {
logger.info(msgObj); logger.info(msgObj);
// 安装成功后,如果是APM安装,就调用createApmDesktopShortcut // 安装成功后,如果是APM安装任务,就调用createApmDesktopShortcut
// 这个函数负责处理桌面快捷方式,它自己会读取设置并决定要不要创建 // 升级任务不创建桌面快捷方式;这个函数自己会读取设置并决定要不要创建
if (task.origin === "apm" && task.pkgname) { if (task.origin === "apm" && task.pkgname && !task.upgradeOnly) {
try { try {
await createApmDesktopShortcut(task.pkgname, sendLog); await createApmDesktopShortcut(task.pkgname, sendLog);
} catch (err) { } catch (err) {