summaryrefslogtreecommitdiff
path: root/distribution/win32/nsis/install.nsh
diff options
context:
space:
mode:
Diffstat (limited to 'distribution/win32/nsis/install.nsh')
-rw-r--r--distribution/win32/nsis/install.nsh27
1 files changed, 18 insertions, 9 deletions
diff --git a/distribution/win32/nsis/install.nsh b/distribution/win32/nsis/install.nsh
index dc4ed80..0fc948d 100644
--- a/distribution/win32/nsis/install.nsh
+++ b/distribution/win32/nsis/install.nsh
@@ -5,9 +5,9 @@
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD Help.lnk" "$INSTDIR\share\xtrkcad\xtrkcad.chm" "" "" 0
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD ReadMe.lnk" "notepad.exe" "$INSTDIR\share\xtrkcad\ReadMe.txt"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD CHANGELOG.lnk" "notepad.exe" "$INSTDIR\share\xtrkcad\CHANGELOG.txt"
-
-
-;
+
+
+;
; create file association
;
; back up old value of .xtc
@@ -17,14 +17,23 @@ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD CHANGELOG.lnk" "notepad.
StrCmp $1 "XTrackCAD.Design" "${Index}-NoBackup"
WriteRegStr HKCR ".xtc" "backup_val" $1
"${Index}-NoBackup:"
-
-; create the new association
+
+ ; back up old value of .xtce
+ !define /redef Index "Line${__LINE__}"
+ ReadRegStr $1 HKCR ".xtce" ""
+ StrCmp $1 "" "${Index}-NoBackup"
+ StrCmp $1 "XTrackCAD.Design" "${Index}-NoBackup"
+ WriteRegStr HKCR ".xtce" "backup_xtce" $1
+ "${Index}-NoBackup:"
+
+; create the new association
WriteRegStr HKCR ".xtc" "" "XTrackCAD.Design"
+ WriteRegStr HKCR ".xtce" "" "XTrackCAD.Design"
WriteRegStr HKCR "XTrackCAD.Design" "" "XTrackCAD Layout Design"
WriteRegStr HKCR "XTrackCAD.Design\shell" "" "open"
- WriteRegStr HKCR "XTrackCAD.Design\DefaultIcon" "" "$INSTDIR\bin\xtrkcad.exe,0"
+ WriteRegStr HKCR "XTrackCAD.Design\DefaultIcon" "" '$INSTDIR\bin\xtrkcad.exe,0'
WriteRegStr HKCR "XTrackCAD.Design\shell\open\command" "" '$INSTDIR\bin\xtrkcad.exe "%1"'
-
+
System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
-
- !undef Index \ No newline at end of file
+
+ !undef Index