45
45
!macroend
46
46
47
47
!macro registryAddInstallInfo
48
- WriteRegStr SHCTX " ${INSTALL_REGISTRY_KEY}" InstallLocation " $INSTDIR"
48
+ WriteRegStr SHELL_CONTEXT " ${INSTALL_REGISTRY_KEY}" InstallLocation " $INSTDIR"
49
+ WriteRegStr SHELL_CONTEXT " ${INSTALL_REGISTRY_KEY}" KeepShortcuts " true"
49
50
50
51
${if} $installMode == " all"
51
52
StrCpy $0 " /allusers"
55
56
StrCpy $1 " (only current user)"
56
57
${endif}
57
58
58
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" DisplayName " ${UNINSTALL_DISPLAY_NAME}$1"
59
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" DisplayName " ${UNINSTALL_DISPLAY_NAME}$1"
59
60
# https://github.com/electron-userland/electron-builder/issues/750
60
61
StrCpy $2 " $INSTDIR\${UNINSTALL_FILENAME}"
61
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" UninstallString ' "$2" $0'
62
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" UninstallString ' "$2" $0'
62
63
63
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" " DisplayVersion" " ${VERSION}"
64
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" " DisplayVersion" " ${VERSION}"
64
65
!ifdef UNINSTALLER_ICON
65
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" " DisplayIcon" " $INSTDIR\uninstallerIcon.ico"
66
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" " DisplayIcon" " $INSTDIR\uninstallerIcon.ico"
66
67
!else
67
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" " DisplayIcon" " $appExe,0"
68
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" " DisplayIcon" " $appExe,0"
68
69
!endif
69
70
70
71
!ifdef COMPANY_NAME
71
- WriteRegStr SHCTX " ${UNINSTALL_REGISTRY_KEY}" " Publisher" " ${COMPANY_NAME}"
72
+ WriteRegStr SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" " Publisher" " ${COMPANY_NAME}"
72
73
!endif
73
- WriteRegDWORD SHCTX " ${UNINSTALL_REGISTRY_KEY}" NoModify 1
74
- WriteRegDWORD SHCTX " ${UNINSTALL_REGISTRY_KEY}" NoRepair 1
74
+ WriteRegDWORD SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" NoModify 1
75
+ WriteRegDWORD SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" NoRepair 1
75
76
76
77
${GetSize} " $INSTDIR" " /S=0K" $0 $1 $2
77
78
IntFmt $0 " 0x%08X" $0
78
- WriteRegDWORD SHCTX " ${UNINSTALL_REGISTRY_KEY}" " EstimatedSize" " $0"
79
+ WriteRegDWORD SHELL_CONTEXT " ${UNINSTALL_REGISTRY_KEY}" " EstimatedSize" " $0"
79
80
!macroend
80
81
81
82
InitPluginsDir
@@ -88,7 +89,10 @@ StrCpy $appExe "$INSTDIR\${APP_EXECUTABLE_FILENAME}"
88
89
Var /GLOBAL shortcuts
89
90
StrCpy $shortcuts " "
90
91
!ifndef allowToChangeInstallationDirectory
91
- ${if} ${FileExists} " $appExe"
92
+ ReadRegStr $R1 SHELL_CONTEXT " ${INSTALL_REGISTRY_KEY}" KeepShortcuts
93
+
94
+ ${if} $R1 == " true"
95
+ ${andIf} ${FileExists} " $appExe"
92
96
StrCpy $shortcuts " --keep-shortcuts"
93
97
${endIf}
94
98
!endif
0 commit comments