fix: 修复品牌改名后的安装目录迁移

This commit is contained in:
SkyJourney
2026-08-02 14:47:13 +08:00
parent 8f4d16a9b7
commit 3e89e3faff
3 changed files with 17 additions and 1 deletions
+3 -1
View File
@@ -72,7 +72,9 @@ NSIS 使用标准辅助安装模式,支持选择当前用户/所有用户安
界面、快捷方式与卸载项使用中文名“墨呈”,窗口标题为 界面、快捷方式与卸载项使用中文名“墨呈”,窗口标题为
“墨呈 · MorphDoc”,默认安装目录和 Windows 主程序分别为 `MorphDoc` “墨呈 · MorphDoc”,默认安装目录和 Windows 主程序分别为 `MorphDoc`
`MorphDoc.exe`。NSIS appId 保持 `com.md-to-pdf.desktop`,确保 `MorphDoc.exe`。NSIS appId 保持 `com.md-to-pdf.desktop`,确保
v0.5.1 覆盖升级沿用原安装身份。 v0.5.1 覆盖升级沿用原卸载身份;v0.6.0 使用独立的安装位置注册表键,
升级时由旧版卸载器清理 `md-to-pdf` 目录,再安装到 `MorphDoc` 目录,
避免产品改名后继续继承旧目录名。
当前目录包只包含一套 Electron Chromium,不携带 Playwright Chromium 当前目录包只包含一套 Electron Chromium,不携带 Playwright Chromium
Pandoc 作为未修改的独立程序随 Desktop 内置,通过受控子进程执行。 Pandoc 作为未修改的独立程序随 Desktop 内置,通过受控子进程执行。
+8
View File
@@ -2,6 +2,12 @@
!define MORPHDOC_EXECUTABLE "MorphDoc.exe" !define MORPHDOC_EXECUTABLE "MorphDoc.exe"
!define MORPHDOC_LEGACY_DISPLAY_NAME "Markdown PDF 导出器" !define MORPHDOC_LEGACY_DISPLAY_NAME "Markdown PDF 导出器"
!define MORPHDOC_LEGACY_EXECUTABLE "md-to-pdf.exe" !define MORPHDOC_LEGACY_EXECUTABLE "md-to-pdf.exe"
!define MORPHDOC_LEGACY_INSTALL_REGISTRY_KEY "Software\${APP_GUID}"
; 保持 APP_GUID 与卸载身份不变,但不再沿用旧产品名对应的安装目录。
; electron-builder 会从 INSTALL_REGISTRY_KEY 读取历史 InstallLocation;使用
; 独立键可让 v0.6.0 默认进入 MorphDoc 目录,同时仍由相同卸载身份识别旧版。
!define INSTALL_REGISTRY_KEY "Software\${APP_GUID}.MorphDoc"
!ifdef FONT_PACK_COMPANION_FILE !ifdef FONT_PACK_COMPANION_FILE
!ifndef BUILD_UNINSTALLER !ifndef BUILD_UNINSTALLER
@@ -68,6 +74,7 @@
!endif !endif
!macro customInstall !macro customInstall
DeleteRegKey SHCTX "${MORPHDOC_LEGACY_INSTALL_REGISTRY_KEY}"
WriteRegStr SHCTX \ WriteRegStr SHCTX \
"Software\Classes\MarkdownPdfExporter.Markdown" \ "Software\Classes\MarkdownPdfExporter.Markdown" \
"" \ "" \
@@ -139,6 +146,7 @@
!macroend !macroend
!macro customUnInstall !macro customUnInstall
DeleteRegKey SHCTX "${MORPHDOC_LEGACY_INSTALL_REGISTRY_KEY}"
DeleteRegValue SHCTX \ DeleteRegValue SHCTX \
"Software\Classes\.md\OpenWithProgids" \ "Software\Classes\.md\OpenWithProgids" \
"MarkdownPdfExporter.Markdown" "MarkdownPdfExporter.Markdown"
+6
View File
@@ -169,6 +169,12 @@ describe("桌面发行构建链", () => {
expect(installerInclude).toContain( expect(installerInclude).toContain(
'!define MORPHDOC_DISPLAY_NAME "墨呈"' '!define MORPHDOC_DISPLAY_NAME "墨呈"'
); );
expect(installerInclude).toContain(
'!define INSTALL_REGISTRY_KEY "Software\\${APP_GUID}.MorphDoc"'
);
expect(installerInclude).toContain(
'DeleteRegKey SHCTX "${MORPHDOC_LEGACY_INSTALL_REGISTRY_KEY}"'
);
expect(installerInclude).toContain( expect(installerInclude).toContain(
"Software\\Classes\\Applications\\${MORPHDOC_LEGACY_EXECUTABLE}" "Software\\Classes\\Applications\\${MORPHDOC_LEGACY_EXECUTABLE}"
); );