fix: Windows desktop updater — setup.exe in latest.json

Tauri v2 signs *-setup.exe for NSIS updates, not only nsis.zip.
Include windows-x86_64 in latest.json and improve platform error messages.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Macbook
2026-06-14 11:48:38 +09:00
parent 61de2fb1e6
commit 402f664db7
4 changed files with 11 additions and 3 deletions
+4 -1
View File
@@ -49,8 +49,11 @@ function formatUpdateError(e: unknown): string {
if (/network|fetch|connect|timeout|dns|offline|failed to send/.test(lower)) { if (/network|fetch|connect|timeout|dns|offline|failed to send/.test(lower)) {
return `네트워크 오류로 업데이트를 확인하지 못했습니다. (${msg})`; return `네트워크 오류로 업데이트를 확인하지 못했습니다. (${msg})`;
} }
if (/fallback platforms|platforms object|windows-x86_64/.test(lower)) {
return 'Windows용 업데이트 패키지가 서버에 없습니다. 웹 PC 프로그램 탭에서 exe 설치 파일을 받아 다시 설치해 주세요.';
}
if (/platform|darwin|arch|target/.test(lower)) { if (/platform|darwin|arch|target/.test(lower)) {
return `이 PC용 업데이트 패키지가 없습니다. (${msg})`; return `이 PC용 업데이트 패키지가 없습니다. 웹 PC 프로그램 탭에서 설치 파일을 다시 받아 주세요.`;
} }
return msg; return msg;
} }
@@ -161,7 +161,8 @@ const DesktopUpdateModal: React.FC<Props> = ({ open, onClose, autoStart = true }
{phase === 'error' && ( {phase === 'error' && (
<p className="desktop-update-hint"> <p className="desktop-update-hint">
. <strong>PC </strong> dmg를 . . <strong>PC </strong>
macOS는 dmg, Windows는 exe .
</p> </p>
)} )}
+3 -1
View File
@@ -88,9 +88,11 @@ collect_updater_artifacts() {
-name '*.app.tar.gz' -o \ -name '*.app.tar.gz' -o \
-name '*.tar.gz' -path '*/bundle/macos/*' -o \ -name '*.tar.gz' -path '*/bundle/macos/*' -o \
-name '*.nsis.zip' -o \ -name '*.nsis.zip' -o \
-name '*-setup.nsis.zip' \ -name '*-setup.nsis.zip' -o \
-name '*-setup.exe' -path '*/bundle/nsis/*' \
\) -type f 2>/dev/null | while read -r f; do \) -type f 2>/dev/null | while read -r f; do
cp -f "$f" "$UPDATES_DIR/" cp -f "$f" "$UPDATES_DIR/"
[[ -f "${f}.sig" ]] && cp -f "${f}.sig" "$UPDATES_DIR/"
echo " updater bundle: $(basename "$f")" echo " updater bundle: $(basename "$f")"
done done
} }
+2
View File
@@ -60,6 +60,8 @@ for (const f of files) {
addPlatform('darwin-aarch64', f); addPlatform('darwin-aarch64', f);
} else if (lower.endsWith('.nsis.zip') || (lower.includes('setup') && lower.endsWith('.zip'))) { } else if (lower.endsWith('.nsis.zip') || (lower.includes('setup') && lower.endsWith('.zip'))) {
addPlatform('windows-x86_64', f); addPlatform('windows-x86_64', f);
} else if (lower.endsWith('-setup.exe') || (lower.includes('setup') && lower.endsWith('.exe'))) {
addPlatform('windows-x86_64', f);
} else if (lower.endsWith('.app.tar.gz')) { } else if (lower.endsWith('.app.tar.gz')) {
// universal mac fallback // universal mac fallback
if (!platforms['darwin-aarch64']) addPlatform('darwin-aarch64', f); if (!platforms['darwin-aarch64']) addPlatform('darwin-aarch64', f);