From eda43a2ef994d019bd06776a1fe5c2c8e7528da3 Mon Sep 17 00:00:00 2001 From: Uwe Date: Wed, 1 Jun 2022 04:41:23 +0200 Subject: [PATCH] [Win installer] register all FC-specific file types - to be able to get a clean system when uninstalling FC --- src/WindowsInstaller/include/declarations.nsh | 6 ++++++ src/WindowsInstaller/setup/uninstall.nsh | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/WindowsInstaller/include/declarations.nsh b/src/WindowsInstaller/include/declarations.nsh index 2081f24897..f790786d90 100644 --- a/src/WindowsInstaller/include/declarations.nsh +++ b/src/WindowsInstaller/include/declarations.nsh @@ -42,8 +42,14 @@ Configuration and variables of FreeCAD installer !define APP_REGNAME_DOC "${APP_NAME}.Document" !define APP_EXT ".FCStd" +!define APP_EXT1 ".FCStd1" !define APP_MIME_TYPE "application/x-zip-compressed" +!define APP_EXT_BAK ".FCBak" +!define APP_EXT_MACRO ".FCMacro" +!define APP_EXT_MAT ".FCMat" +!define APP_EXT_SCRIPT ".FCScript" + !define APP_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" #-------------------------------- diff --git a/src/WindowsInstaller/setup/uninstall.nsh b/src/WindowsInstaller/setup/uninstall.nsh index bb70129448..7ad81ff61c 100644 --- a/src/WindowsInstaller/setup/uninstall.nsh +++ b/src/WindowsInstaller/setup/uninstall.nsh @@ -24,10 +24,23 @@ Section "un.FreeCAD" un.SecUnProgramFiles ReadRegStr $R0 SHCTX "Software\Classes\${APP_EXT}" "" ${if} $R0 == "${APP_REGNAME_DOC}" DeleteRegKey SHCTX "Software\Classes\${APP_EXT}" - #DeleteRegKey SHCTX "Software\Classes\${APP_REGNAME_DOC}" ${endif} + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT}" + + # remove further FC-specific file extension + DeleteRegKey SHCTX "Software\Classes\${APP_EXT1}" # .FCStd1 + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT1}" + DeleteRegKey SHCTX "Software\Classes\${APP_EXT_BAK}" # .FCBak + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_BAK}" + DeleteRegKey SHCTX "Software\Classes\${APP_EXT_MACRO}" # .FCMacro + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_MACRO}" + DeleteRegKey SHCTX "Software\Classes\${APP_EXT_MAT}" # .FCMat + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_MAT}" + DeleteRegKey SHCTX "Software\Classes\${APP_EXT_SCRIPT}" # .FCScript + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\${APP_EXT_SCRIPT}" + ${if} $MultiUser.Privileges == "Admin" - DeleteRegKey HKCR "${APP_NAME}.Document" + DeleteRegKey HKCR "${APP_REGNAME_DOC}" # see https://nsis.sourceforge.io/Docs/AppendixB.html#library_install for a description of UnInstallLib !insertmacro UnInstallLib REGDLL NOTSHARED NOREBOOT_NOTPROTECTED $SYSDIR\FCStdThumbnail.dll ${endif}