Windows Installer: Fix the bug of not showing context menus when you select a directory.
authorJean-Baptiste Kempf <jb@videolan.org>
Wed, 26 Sep 2007 10:55:29 +0000 (10:55 +0000)
committerJean-Baptiste Kempf <jb@videolan.org>
Wed, 26 Sep 2007 10:55:29 +0000 (10:55 +0000)
Patch by Hannes Domani.

vlc.win32.nsi.in

index af5bc48..6f36c3f 100644 (file)
@@ -225,22 +225,30 @@ FunctionEnd
 ; Context menu entries ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;\r
 \r
+!macro AddContextMenuExt EXT\r
+  WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" "Play with VLC media player"\r
+  WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --started-from-file --no-playlist-enqueue "%1"'\r
+\r
+  WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC "" "Add to VLC media player's Playlist"\r
+  WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --started-from-file --playlist-enqueue "%1"'\r
+!macroend\r
+\r
 !macro AddContextMenu EXT\r
   Push $R0\r
   ReadRegStr $R0 HKCR ${EXT} ""\r
-  WriteRegStr HKCR $R0\shell\PlayWithVLC "" "Play with VLC media player"\r
-  WriteRegStr HKCR $R0\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --started-from-file --no-playlist-enqueue "%1"'\r
-\r
-  WriteRegStr HKCR $R0\shell\AddToPlaylistVLC "" "Add to VLC media player's Playlist"\r
-  WriteRegStr HKCR $R0\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --started-from-file --playlist-enqueue "%1"'\r
+  !insertmacro AddContextMenuExt $R0\r
   Pop $R0\r
 !macroend\r
 \r
+!macro DeleteContextMenuExt EXT\r
+  DeleteRegKey HKCR ${EXT}\shell\PlayWithVLC\r
+  DeleteRegKey HKCR ${EXT}\shell\AddToPlaylistVLC\r
+!macroend\r
+\r
 !macro DeleteContextMenu EXT\r
   Push $R0\r
   ReadRegStr $R0 HKCR ${EXT} ""\r
-  DeleteRegKey HKCR $R0\shell\PlayWithVLC\r
-  DeleteRegKey HKCR $R0\shell\AddToPlaylistVLC\r
+  !insertmacro DeleteContextMenuExt $R0\r
   Pop $R0\r
 !macroend\r
 \r
@@ -513,7 +521,7 @@ SectionGroupEnd
 Section /o "Context Menus" SEC05\r
   SectionIn 3\r
   !insertmacro MacroAllExtensions AddContextMenu\r
-  !insertmacro AddContextMenu "Directory"\r
+  !insertmacro AddContextMenuExt "Directory"\r
 SectionEnd\r
 \r
 Section /o "Delete preferences and cache" SEC07\r
@@ -641,7 +649,7 @@ Section "Uninstall" SEC91
 \r
   !insertmacro MacroAllExtensions DeleteContextMenu\r
   !insertmacro MacroAllExtensions UnRegisterExtensionSection\r
-  !insertmacro DeleteContextMenu "Directory"\r
+  !insertmacro DeleteContextMenuExt "Directory"\r
 \r
   ;remove activex plugin\r
   UnRegDLL "$INSTDIR\axvlc.dll"\r