]> git.sesse.net Git - vlc/blobdiff - vlc.win32.nsi.in
contribs: fix macosx build of libcaca
[vlc] / vlc.win32.nsi.in
index eabd41d0f6e42c4b5365b35e600ae613b127b412..6206b4877c6e6cb5b0687b5c60944994abbb24fb 100644 (file)
 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
 !define PRODUCT_ID "{ea92ef52-afe4-4212-bacb-dfe9fca94cd6}"\r
 \r
 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
 !define PRODUCT_ID "{ea92ef52-afe4-4212-bacb-dfe9fca94cd6}"\r
 \r
+!define MUI_LANGDLL_REGISTRY_ROOT "HKLM"\r
+!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_DIR_REGKEY}"\r
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"\r
+\r
 @FILE_LIBVLC_DLL@\r
 @FILE_LIBVLC_DLL@\r
+@FILE_LIBVLC_CONTROL_DLL@\r
 \r
 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
 ; General configuration ;\r
 \r
 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
 ; General configuration ;\r
@@ -33,7 +38,8 @@ SetCompressor /SOLID lzma
 SetOverwrite ifnewer\r
 CRCCheck on\r
 \r
 SetOverwrite ifnewer\r
 CRCCheck on\r
 \r
-InstType "Normal"\r
+InstType "Recommended"\r
+InstType "Minimum"\r
 InstType "Full"\r
 \r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
 InstType "Full"\r
 \r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
@@ -95,6 +101,7 @@ InstType "Full"
   !insertmacro MUI_LANGUAGE "Russian"\r
   !insertmacro MUI_LANGUAGE "Portuguese"\r
   !insertmacro MUI_LANGUAGE "Arabic"\r
   !insertmacro MUI_LANGUAGE "Russian"\r
   !insertmacro MUI_LANGUAGE "Portuguese"\r
   !insertmacro MUI_LANGUAGE "Arabic"\r
+  !insertmacro MUI_LANGUAGE "Polish"\r
 \r
 !insertmacro MUI_RESERVEFILE_LANGDLL\r
 \r
 \r
 !insertmacro MUI_RESERVEFILE_LANGDLL\r
 \r
@@ -138,6 +145,7 @@ InstType "Full"
   !insertmacro ${_action} ".mpeg2"\r
   !insertmacro ${_action} ".mpeg4"\r
   !insertmacro ${_action} ".mpg"\r
   !insertmacro ${_action} ".mpeg2"\r
   !insertmacro ${_action} ".mpeg4"\r
   !insertmacro ${_action} ".mpg"\r
+  !insertmacro ${_action} ".mxf"\r
   !insertmacro ${_action} ".ps"\r
   !insertmacro ${_action} ".ts"\r
   !insertmacro ${_action} ".ogm"\r
   !insertmacro ${_action} ".ps"\r
   !insertmacro ${_action} ".ts"\r
   !insertmacro ${_action} ".ogm"\r
@@ -173,9 +181,9 @@ Function RegisterExtension
 NoBackup:\r
   WriteRegStr HKCR "$R0" "" "VLC$R0"\r
   ReadRegStr $0 HKCR "VLC$R0" ""\r
 NoBackup:\r
   WriteRegStr HKCR "$R0" "" "VLC$R0"\r
   ReadRegStr $0 HKCR "VLC$R0" ""\r
-  WriteRegStr HKCR "VLC$R0" "" "VLC media file"\r
+  WriteRegStr HKCR "VLC$R0" "" "VLC media file ($R0)"\r
   WriteRegStr HKCR "VLC$R0\shell" "" "Play"\r
   WriteRegStr HKCR "VLC$R0\shell" "" "Play"\r
-  WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" --one-instance-when-started-from-file "%1"'\r
+  WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" --started-from-file "%1"'\r
   WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
 FunctionEnd\r
 \r
   WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
 FunctionEnd\r
 \r
@@ -195,8 +203,8 @@ NoOwn:
 FunctionEnd\r
 \r
 !macro RegisterExtensionSection EXT\r
 FunctionEnd\r
 \r
 !macro RegisterExtensionSection EXT\r
-  Section /o ${EXT}\r
-    SectionIn 2 3\r
+  Section ${EXT}\r
+    SectionIn 1 3\r
     Push $R0\r
     StrCpy $R0 ${EXT}\r
     Call RegisterExtension\r
     Push $R0\r
     StrCpy $R0 ${EXT}\r
     Call RegisterExtension\r
@@ -219,25 +227,38 @@ FunctionEnd
 ; Context menu entries ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;\r
 \r
 ; Context menu entries ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;\r
 \r
-!macro AddContextMenu EXT\r
+!macro AddContextMenuExt EXT\r
   WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" "Play with VLC media player"\r
   WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" "Play with VLC media player"\r
-  WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --one-instance-when-started-from-file --no-playlist-enqueue "%1"'\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
 \r
   WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC "" "Add to VLC media player's Playlist"\r
-  WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --one-instance-when-started-from-file --playlist-enqueue "%1"'\r
+  WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --started-from-file --playlist-enqueue "%1"'\r
 !macroend\r
 \r
 !macroend\r
 \r
-!macro DeleteContextMenu EXT\r
+!macro AddContextMenu EXT\r
+  Push $R0\r
+  ReadRegStr $R0 HKCR ${EXT} ""\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
   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
+  !insertmacro DeleteContextMenuExt $R0\r
+  Pop $R0\r
+!macroend\r
+\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
 ; Delete prefs and cache ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
 \r
 !macro delprefs\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
 ; Delete prefs and cache ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
 \r
 !macro delprefs\r
-  SectionIn 2 3\r
   StrCpy $0 0\r
   !define Index 'Line${__LINE__}'\r
   "${Index}-Loop:"\r
   StrCpy $0 0\r
   !define Index 'Line${__LINE__}'\r
   "${Index}-Loop:"\r
@@ -259,7 +280,7 @@ FunctionEnd
 Var UninstallLog\r
 \r
 !macro OpenUninstallLog\r
 Var UninstallLog\r
 \r
 !macro OpenUninstallLog\r
-  FileOpen $UninstallLog "$INSTDIR\uninstall.log" w\r
+  FileOpen $UninstallLog "$INSTDIR\uninstall.log" a\r
   FileSeek $UninstallLog 0 END\r
 !macroend\r
 \r
   FileSeek $UninstallLog 0 END\r
 !macroend\r
 \r
@@ -331,6 +352,9 @@ Section "Media player (required)" SEC01
   !ifdef LIBVLC_DLL\r
   !insertmacro InstallFile ${LIBVLC_DLL}\r
   !endif\r
   !ifdef LIBVLC_DLL\r
   !insertmacro InstallFile ${LIBVLC_DLL}\r
   !endif\r
+  !ifdef LIBVLC_CONTROL_DLL\r
+  !insertmacro InstallFile ${LIBVLC_CONTROL_DLL}\r
+  !endif\r
   !insertmacro InstallFile *.txt\r
 \r
   !insertmacro InstallFolder plugins\r
   !insertmacro InstallFile *.txt\r
 \r
   !insertmacro InstallFolder plugins\r
@@ -338,10 +362,11 @@ Section "Media player (required)" SEC01
   !insertmacro InstallFolder osdmenu\r
   !insertmacro InstallFolder skins\r
   !insertmacro InstallFolder http\r
   !insertmacro InstallFolder osdmenu\r
   !insertmacro InstallFolder skins\r
   !insertmacro InstallFolder http\r
+  !insertmacro InstallFolder share\r
 \r
 \r
-  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" \\r
+  WriteIniStr "$INSTDIR\${PRODUCT_GROUP} Website.url" "InternetShortcut" "URL" \\r
     "${PRODUCT_WEB_SITE}"\r
     "${PRODUCT_WEB_SITE}"\r
-  FileWrite $UninstallLog "${PRODUCT_NAME}.url$\r$\n"\r
+  FileWrite $UninstallLog "${PRODUCT_GROUP} Website.url$\r$\n"\r
   WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" \\r
     "${PRODUCT_WEB_SITE}/doc/"\r
   FileWrite $UninstallLog "Documentation.url$\r$\n"\r
   WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" \\r
     "${PRODUCT_WEB_SITE}/doc/"\r
   FileWrite $UninstallLog "Documentation.url$\r$\n"\r
@@ -353,15 +378,15 @@ Section "Media player (required)" SEC01
   WriteRegStr HKCR Applications\vlc.exe "FriendlyAppName" "VLC media player"\r
   WriteRegStr HKCR Applications\vlc.exe\shell\Play "" "Play with VLC"\r
   WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \\r
   WriteRegStr HKCR Applications\vlc.exe "FriendlyAppName" "VLC media player"\r
   WriteRegStr HKCR Applications\vlc.exe\shell\Play "" "Play with VLC"\r
   WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \\r
-    '$INSTDIR\vlc.exe --one-instance-when-started-from-file "%1"'\r
+    '$INSTDIR\vlc.exe --started-from-file "%1"'\r
   !insertmacro MacroAllExtensions WriteRegStrSupportedTypes\r
 \r
   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" "Play with VLC media player"\r
   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC\command" "" \\r
   !insertmacro MacroAllExtensions WriteRegStrSupportedTypes\r
 \r
   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" "Play with VLC media player"\r
   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC\command" "" \\r
-    "$INSTDIR\vlc.exe --one-instance-when-started-from-file cdda:%1"\r
+    "$INSTDIR\vlc.exe --started-from-file cdda:%1"\r
   WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" "Play with VLC media player"\r
   WriteRegStr HKCR "DVD\shell\PlayWithVLC\command" "" \\r
   WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" "Play with VLC media player"\r
   WriteRegStr HKCR "DVD\shell\PlayWithVLC\command" "" \\r
-    "$INSTDIR\vlc.exe --one-instance-when-started-from-file dvd:%1"\r
+    "$INSTDIR\vlc.exe --started-from-file dvd:%1"\r
 \r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival" ""\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" "Play DVD movie"\r
 \r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival" ""\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" "Play DVD movie"\r
@@ -372,19 +397,19 @@ Section "Media player (required)" SEC01
 \r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "VLCPlayCDAudioOnArrival" ""\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Action" "Play CD audio"\r
 \r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "VLCPlayCDAudioOnArrival" ""\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Action" "Play CD audio"\r
-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe --one-instance-when-started-from-file",0'\r
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe --started-from-file",0'\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeProgID" "VLC.CDAudio"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeVerb" "play"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Provider" "VideoLAN VLC media player"\r
   WriteRegStr HKCR "VLC.DVDMovie" "" "VLC DVD Movie"\r
   WriteRegStr HKCR "VLC.DVDMovie\shell" "" "Play"\r
   WriteRegStr HKCR "VLC.DVDMovie\shell\Play\command" "" \\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeProgID" "VLC.CDAudio"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeVerb" "play"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Provider" "VideoLAN VLC media player"\r
   WriteRegStr HKCR "VLC.DVDMovie" "" "VLC DVD Movie"\r
   WriteRegStr HKCR "VLC.DVDMovie\shell" "" "Play"\r
   WriteRegStr HKCR "VLC.DVDMovie\shell\Play\command" "" \\r
-    '$INSTDIR\vlc.exe --one-instance-when-started-from-file dvd:%1'\r
+    '$INSTDIR\vlc.exe --started-from-file dvd:%1'\r
   WriteRegStr HKCR "VLC.DVDMovie\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
   WriteRegStr HKCR "VLC.CDAudio" "" "VLC CD Audio"\r
   WriteRegStr HKCR "VLC.CDAudio\shell" "" "Play"\r
   WriteRegStr HKCR "VLC.CDAudio\shell\Play\command" "" \\r
   WriteRegStr HKCR "VLC.DVDMovie\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
   WriteRegStr HKCR "VLC.CDAudio" "" "VLC CD Audio"\r
   WriteRegStr HKCR "VLC.CDAudio\shell" "" "Play"\r
   WriteRegStr HKCR "VLC.CDAudio\shell\Play\command" "" \\r
-    '$INSTDIR\vlc.exe --one-instance-when-started-from-file cdda:%1'\r
+    '$INSTDIR\vlc.exe --started-from-file cdda:%1'\r
   WriteRegStr HKCR "VLC.CDAudio\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
 \r
 SectionEnd\r
   WriteRegStr HKCR "VLC.CDAudio\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
 \r
 SectionEnd\r
@@ -392,18 +417,41 @@ SectionEnd
 Section "Start Menu Shortcut" SEC02a\r
   SectionIn 1 2 3\r
   CreateDirectory "$SMPROGRAMS\VideoLAN"\r
 Section "Start Menu Shortcut" SEC02a\r
   SectionIn 1 2 3\r
   CreateDirectory "$SMPROGRAMS\VideoLAN"\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player.lnk" \\r
-    "$INSTDIR\vlc.exe" "--intf wx --wx-embed"\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (alt).lnk" \\r
-    "$INSTDIR\vlc.exe" "--intf wx --no-wx-embed"\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (skins).lnk" \\r
-    "$INSTDIR\vlc.exe" "--intf skins"\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\Reset VLC defaults and quit.lnk" \\r
-    "$INSTDIR\vlc.exe" "--reset-config --reset-plugins-cache --save-config vlc:quit "\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\${PRODUCT_NAME} Website.lnk" \\r
-    "$INSTDIR\${PRODUCT_NAME}.url"\r
+  CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings"\r
+  CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings\Audio"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Audio\Set Audio mode to DirectX (default).lnk" \\r
+    "$INSTDIR\vlc.exe" "--aout aout_directx --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Audio\Set Audio mode to Waveout.lnk" \\r
+    "$INSTDIR\vlc.exe" "--aout waveout --save-config vlc:quit"\r
+  CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings\Interface"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Interface\Set Main Interface to Skinnable.lnk" \\r
+    "$INSTDIR\vlc.exe" "-I skins --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Interface\Set Main Interface to wxWidgets (default).lnk" \\r
+    "$INSTDIR\vlc.exe" "-I wxwin --save-config vlc:quit"\r
+  CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings\Video"\r
+  ; FIXME add detection for Vista. Direct3D will be default there, for all others it's DirectX\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to Direct3D.lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout direct3d --overlay --directx-hw-yuv --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to Direct3D (no hardware acceleration).lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout direct3d --overlay --no-directx-hw-yuv --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to DirectX.lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout directx --overlay --directx-hw-yuv --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to DirectX (no hardware acceleration).lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout directx --no-overlay --no-directx-hw-yuv --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to DirectX (no video overlay).lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout directx --no-overlay --directx-hw-yuv --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Video\Set Video mode to OpenGL.lnk" \\r
+    "$INSTDIR\vlc.exe" "--vout opengl --overlay --save-config vlc:quit"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Reset VLC media player preferences and cache files.lnk" \\r
+    "$INSTDIR\vlc.exe" "--reset-config --reset-plugins-cache --save-config vlc:quit"\r
   CreateShortCut "$SMPROGRAMS\VideoLAN\Documentation.lnk" \\r
     "$INSTDIR\Documentation.url"\r
   CreateShortCut "$SMPROGRAMS\VideoLAN\Documentation.lnk" \\r
     "$INSTDIR\Documentation.url"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\Release Notes.lnk" \\r
+    "$INSTDIR\NEWS.txt" ""\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\${PRODUCT_GROUP} Website.lnk" \\r
+    "$INSTDIR\${PRODUCT_GROUP} Website.url"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player.lnk" \\r
+    "$INSTDIR\vlc.exe" ""\r
 SectionEnd\r
 \r
 Section "Desktop Shortcut" SEC02b\r
 SectionEnd\r
 \r
 Section "Desktop Shortcut" SEC02b\r
@@ -413,51 +461,53 @@ Section "Desktop Shortcut" SEC02b
 SectionEnd\r
 \r
 Section /o "Mozilla plugin" SEC03\r
 SectionEnd\r
 \r
 Section /o "Mozilla plugin" SEC03\r
-  SectionIn 3\r
+  SectionIn 3\r
 \r
 \r
+  SetOutPath "$INSTDIR"\r
   !insertmacro OpenUninstallLog\r
   !insertmacro OpenUninstallLog\r
-  !insertmacro InstallFolder mozilla\r
+  !insertmacro InstallFile mozilla\npvlc.dll\r
   !insertmacro CloseUninstallLog\r
 \r
   !insertmacro CloseUninstallLog\r
 \r
-  ; doesn't work. bug in mozilla/mozilla firefox or moz documentation (xpt file isn't loaded)\r
-  ; see mozilla bugs 184506 and 159445\r
-  ;!define Moz "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"\r
-  ;WriteRegStr HKLM ${Moz} "Description" "VideoLAN VLC plugin for Mozilla"\r
-  ;WriteRegStr HKLM ${Moz} "Path" "$INSTDIR\mozilla\npvlc.dll"\r
-  ;WriteRegStr HKLM ${Moz} "Product" "VLC media player"\r
-  ;WriteRegStr HKLM ${Moz} "Vendor" "VideoLAN"\r
-  ;WriteRegStr HKLM ${Moz} "Version" "${VERSION}"\r
-  ;WriteRegStr HKLM ${Moz} "XPTPath" "$INSTDIR\mozilla\vlcintf.xpt"\r
-\r
-  Push $R0\r
-  Push $R1\r
-  Push $R2\r
-\r
-  !define Index 'Line${__LINE__}'\r
-  StrCpy $R1 "0"\r
-\r
-  "${Index}-Loop:"\r
-\r
-    ; Check for Key\r
-    EnumRegKey $R0 HKLM "SOFTWARE\Mozilla" "$R1"\r
-    StrCmp $R0 "" "${Index}-End"\r
-    IntOp $R1 $R1 + 1\r
-    ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
-    StrCmp $R2 "" "${Index}-Loop" ""\r
-\r
-    CopyFiles "$INSTDIR\mozilla\*" "$R2"\r
-    !ifdef LIBVLC_DLL\r
-    CopyFiles ${LIBVLC_DLL} "$R2"\r
-    !endif\r
-    Goto "${Index}-Loop"\r
-\r
-  "${Index}-End:"\r
-  !undef Index\r
+  !define Moz "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"\r
+  WriteRegStr HKLM ${Moz} "Description" "VLC Multimedia Plugin"\r
+  WriteRegStr HKLM ${Moz} "Path" "$INSTDIR\npvlc.dll"\r
+  WriteRegStr HKLM ${Moz} "Product" "VLC media player"\r
+  WriteRegStr HKLM ${Moz} "Vendor" "VideoLAN"\r
+  WriteRegStr HKLM ${Moz} "Version" "${VERSION}"\r
+\r
+ ; for very old version of mozilla, these lines may be needed \r
+ ;Push $R0\r
+ ;Push $R1\r
+ ;Push $R2\r
+\r
+ ;!define Index 'Line${__LINE__}'\r
+ ;StrCpy $R1 "0"\r
+\r
+ ;"${Index}-Loop:"\r
+\r
+ ;  ; Check for Key\r
+ ;  EnumRegKey $R0 HKLM "SOFTWARE\Mozilla" "$R1"\r
+ ;  StrCmp $R0 "" "${Index}-End"\r
+ ;  IntOp $R1 $R1 + 1\r
+ ;  ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
+ ;  StrCmp $R2 "" "${Index}-Loop" ""\r
+\r
+ ;  CopyFiles "$INSTDIR\npvlc.dll" "$R2"\r
+ ;  !ifdef LIBVLC_DLL\r
+ ;  CopyFiles ${LIBVLC_DLL} "$R2"\r
+ ;  !endif\r
+ ;  !ifdef LIBVLC_CONTROL_DLL\r
+ ;  CopyFiles ${LIBVLC_CONTROL_DLL} "$R2"\r
+ ;  !endif\r
+ ;  Goto "${Index}-Loop"\r
+\r
+ ;"${Index}-End:"\r
+ ;!undef Index\r
 \r
 SectionEnd\r
 \r
 Section "ActiveX plugin" SEC04\r
 \r
 SectionEnd\r
 \r
 Section "ActiveX plugin" SEC04\r
-  SectionIn 2 3\r
+  SectionIn 1 3\r
   SetOutPath "$INSTDIR"\r
   !insertmacro OpenUninstallLog\r
   !insertmacro InstallFile activex\axvlc.dll\r
   SetOutPath "$INSTDIR"\r
   !insertmacro OpenUninstallLog\r
   !insertmacro InstallFile activex\axvlc.dll\r
@@ -465,12 +515,6 @@ Section "ActiveX plugin" SEC04
   RegDLL "$INSTDIR\axvlc.dll"\r
 SectionEnd\r
 \r
   RegDLL "$INSTDIR\axvlc.dll"\r
 SectionEnd\r
 \r
-Section "Context Menus" SEC05\r
-  SectionIn 2\r
-  !insertmacro MacroAllExtensions AddContextMenu\r
-  !insertmacro AddContextMenu "Directory"\r
-SectionEnd\r
-\r
 SectionGroup "File type associations" SEC06\r
   SectionGroup "Audio Files"\r
     !insertmacro MacroAudioExtensions RegisterExtensionSection\r
 SectionGroup "File type associations" SEC06\r
   SectionGroup "Audio Files"\r
     !insertmacro MacroAudioExtensions RegisterExtensionSection\r
@@ -483,6 +527,12 @@ SectionGroup "File type associations" SEC06
   SectionGroupEnd\r
 SectionGroupEnd\r
 \r
   SectionGroupEnd\r
 SectionGroupEnd\r
 \r
+Section /o "Context Menus" SEC05\r
+  SectionIn 3\r
+  !insertmacro MacroAllExtensions AddContextMenu\r
+  !insertmacro AddContextMenuExt "Directory"\r
+SectionEnd\r
+\r
 Section /o "Delete preferences and cache" SEC07\r
   !insertmacro delprefs\r
 SectionEnd\r
 Section /o "Delete preferences and cache" SEC07\r
   !insertmacro delprefs\r
 SectionEnd\r
@@ -608,8 +658,9 @@ Section "Uninstall" SEC91
 \r
   !insertmacro MacroAllExtensions DeleteContextMenu\r
   !insertmacro MacroAllExtensions UnRegisterExtensionSection\r
 \r
   !insertmacro MacroAllExtensions DeleteContextMenu\r
   !insertmacro MacroAllExtensions UnRegisterExtensionSection\r
-  !insertmacro DeleteContextMenu "Directory"\r
+  !insertmacro DeleteContextMenuExt "Directory"\r
 \r
 \r
+  ;remove activex plugin\r
   UnRegDLL "$INSTDIR\axvlc.dll"\r
   Delete /REBOOTOK "$INSTDIR\axvlc.dll"\r
 \r
   UnRegDLL "$INSTDIR\axvlc.dll"\r
   Delete /REBOOTOK "$INSTDIR\axvlc.dll"\r
 \r
@@ -630,12 +681,15 @@ Section "Uninstall" SEC91
     ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
     StrCmp $R2 "" "${Index}-Loop" ""\r
 \r
     ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
     StrCmp $R2 "" "${Index}-Loop" ""\r
 \r
-    Delete "$R2\vlcintf.xpt"\r
-    Delete "$R2\npvlc.dll"\r
+    ; old files (0.8.5 and before) that may be lying around\r
+    Delete /REBOOTOK "$R2\npvlc.dll"\r
+    Delete /REBOOTOK "$R2\libvlc.dll"\r
+    Delete /REBOOTOK "$R2\vlcintf.xpt"\r
     Goto "${Index}-Loop"\r
 \r
   "${Index}-End:"\r
   !undef Index\r
     Goto "${Index}-Loop"\r
 \r
   "${Index}-End:"\r
   !undef Index\r
+  Delete /REBOOTOK "$INSTDIR\npvlc.dll"\r
 \r
   RMDir "$SMPROGRAMS\VideoLAN"\r
   RMDir /r $SMPROGRAMS\VideoLAN\r
 \r
   RMDir "$SMPROGRAMS\VideoLAN"\r
   RMDir /r $SMPROGRAMS\VideoLAN\r
@@ -683,7 +737,6 @@ Section "Uninstall" SEC91
 SectionEnd\r
 \r
 Section /o "un.Delete preferences and cache" SEC92\r
 SectionEnd\r
 \r
 Section /o "un.Delete preferences and cache" SEC92\r
-  SectionIn 2 3 RO\r
   !insertmacro delprefs\r
 SectionEnd\r
 \r
   !insertmacro delprefs\r
 SectionEnd\r
 \r
@@ -702,5 +755,5 @@ SectionEnd
 ;FunctionEnd\r
 \r
 Function un.onInit\r
 ;FunctionEnd\r
 \r
 Function un.onInit\r
-  !insertmacro MUI_LANGDLL_DISPLAY\r
+  !insertmacro MUI_UNGETLANGUAGE\r
 FunctionEnd\r
 FunctionEnd\r