fix: App_Run 参数为空时不传 -ArgumentList,避免部分应用启动即退出

This commit is contained in:
yu 2026-10-28 15:18:58 +08:00
parent 9c973d9bad
commit 3b05d10ff4

View File

@ -122,7 +122,8 @@ const runApp: CapabilityHandler = async (_ctx, node, args) => {
if (!executable) throw new RuntimeError("validation_error", "应用路径为空", { nodeId: node.id, componentId: node.componentId });
const params = text(args, ["params", "arguments"]);
const cwd = text(args, ["cwd"]);
const result = await powershell(`$p = Start-Process -FilePath ${psString(executable)} -ArgumentList ${psString(params)} ${cwd ? `-WorkingDirectory ${psString(cwd)}` : ""} -PassThru; $p.Id`);
const argPart = params ? ` -ArgumentList ${psString(params)}` : "";
const result = await powershell(`$p = Start-Process -FilePath ${psString(executable)}${argPart} ${cwd ? `-WorkingDirectory ${psString(cwd)}` : ""} -PassThru; $p.Id`);
return Number(result) || result;
};
@ -161,3 +162,4 @@ register("Clipboard_SetText", clipboardSet);
register("Dialog_Notice", notice);
register("Dialog_MsgBox", notice);
register("System_ExecuteCommand", executeCommand);