Skip to content

Commit e9251f4

Browse files
authored
fix(nsis): fix file association (#9217)
1 parent 8f0ad06 commit e9251f4

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

.changeset/selfish-trees-begin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"app-builder-lib": patch
3+
---
4+
5+
fix(nsis): Fix file associations according to the Windows documentation

packages/app-builder-lib/templates/nsis/include/FileAssociation.nsh

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,8 @@
6363
;
6464

6565
!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
66-
; Backup the previously associated file class
67-
ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" ""
68-
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0"
69-
7066
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
67+
WriteRegNone SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
7168

7269
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
7370
WriteRegStr SHELL_CONTEXT "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
@@ -77,11 +74,8 @@
7774
!macroend
7875

7976
!macro APP_ASSOCIATE_EX EXT FILECLASS DESCRIPTION ICON VERB DEFAULTVERB SHELLNEW COMMANDTEXT COMMAND
80-
; Backup the previously associated file class
81-
ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" ""
82-
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0"
83-
8477
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "${FILECLASS}"
78+
WriteRegNone SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
8579
StrCmp "${SHELLNEW}" "0" +2
8680
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}\ShellNew" "NullFile" ""
8781

@@ -103,10 +97,7 @@
10397

10498

10599
!macro APP_UNASSOCIATE EXT FILECLASS
106-
; Backup the previously associated file class
107-
ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\.${EXT}" `${FILECLASS}_backup`
108-
WriteRegStr SHELL_CONTEXT "Software\Classes\.${EXT}" "" "$R0"
109-
100+
DeleteRegValue SHELL_CONTEXT "Software\Classes\.${EXT}\OpenWithProgids" "${FILECLASS}"
110101
DeleteRegKey SHELL_CONTEXT `Software\Classes\${FILECLASS}`
111102
!macroend
112103

@@ -129,4 +120,4 @@
129120
; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we
130121
; can update the shell.
131122
System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)"
132-
!macroend
123+
!macroend

0 commit comments

Comments
 (0)