!define PRODUCT_DIR_REGKEY "Software\VideoLAN\VLC"\r
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
+!define PRODUCT_ID "{ea92ef52-afe4-4212-bacb-dfe9fca94cd6}"\r
\r
;;;;;;;;;;;;;;;;;;;;;;;;;\r
; General configuration ;\r
\r
; MUI Settings\r
!define MUI_ABORTWARNING\r
-!define MUI_ICON "vlc48x48.ico"\r
-!define MUI_UNICON "vlc48x48.ico"\r
+!define MUI_ICON "vlc48x48new.ico"\r
+!define MUI_UNICON "vlc48x48new.ico"\r
!define MUI_COMPONENTSPAGE_SMALLDESC\r
\r
; Welcome page\r
\r
; MUI end ------\r
\r
+\r
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
+; Push extensions on stack ;\r
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
+!macro MacroAudioExtensions _action\r
+ !insertmacro ${_action} ".a52"\r
+ !insertmacro ${_action} ".aac"\r
+ !insertmacro ${_action} ".ac3"\r
+ !insertmacro ${_action} ".dts"\r
+ !insertmacro ${_action} ".flac"\r
+ !insertmacro ${_action} ".mka"\r
+ !insertmacro ${_action} ".mp1"\r
+ !insertmacro ${_action} ".mp2"\r
+ !insertmacro ${_action} ".mp3"\r
+ !insertmacro ${_action} ".ogg"\r
+ !insertmacro ${_action} ".spx"\r
+ !insertmacro ${_action} ".wav"\r
+ !insertmacro ${_action} ".wma"\r
+!macroend\r
+\r
+!macro MacroVideoExtensions _action\r
+ !insertmacro ${_action} ".asf"\r
+ !insertmacro ${_action} ".avi"\r
+ !insertmacro ${_action} ".divx"\r
+ !insertmacro ${_action} ".dv"\r
+ !insertmacro ${_action} ".m1v"\r
+ !insertmacro ${_action} ".m2v"\r
+ !insertmacro ${_action} ".mkv"\r
+ !insertmacro ${_action} ".mov"\r
+ !insertmacro ${_action} ".mp4"\r
+ !insertmacro ${_action} ".mpeg"\r
+ !insertmacro ${_action} ".mpeg1"\r
+ !insertmacro ${_action} ".mpeg2"\r
+ !insertmacro ${_action} ".mpeg4"\r
+ !insertmacro ${_action} ".mpg"\r
+ !insertmacro ${_action} ".ps"\r
+ !insertmacro ${_action} ".ts"\r
+ !insertmacro ${_action} ".ogm"\r
+ !insertmacro ${_action} ".vob"\r
+ !insertmacro ${_action} ".wmv"\r
+!macroend\r
+\r
+!macro MacroOtherExtensions _action\r
+ !insertmacro ${_action} ".asx"\r
+ !insertmacro ${_action} ".bin"\r
+ !insertmacro ${_action} ".cue"\r
+ !insertmacro ${_action} ".m3u"\r
+ !insertmacro ${_action} ".pls"\r
+ !insertmacro ${_action} ".vlc"\r
+!macroend\r
+\r
+!macro MacroAllExtensions _action\r
+ !insertmacro MacroAudioExtensions ${_action}\r
+ !insertmacro MacroVideoExtensions ${_action}\r
+ !insertmacro MacroOtherExtensions ${_action}\r
+!macroend\r
+\r
;;;;;;;;;;;;;;;;;;;;;;;;;;\r
; File type associations ;\r
;;;;;;;;;;;;;;;;;;;;;;;;;;\r
ReadRegStr $0 HKCR "VLC$R0" ""\r
WriteRegStr HKCR "VLC$R0" "" "VLC media file"\r
WriteRegStr HKCR "VLC$R0\shell" "" "Play"\r
- WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '$INSTDIR\vlc.exe "%1"'\r
+ WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" "%1"'\r
WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
FunctionEnd\r
\r
Pop $R0\r
!macroend\r
\r
+!macro WriteRegStrSupportedTypes EXT\r
+ WriteRegStr HKCR Applications\vlc.exe\SupportedTypes ${EXT} ""\r
+!macroend\r
+\r
+;;;;;;;;;;;;;;;;;;;;;;;;\r
+; Context menu entries ;\r
+;;;;;;;;;;;;;;;;;;;;;;;;\r
+\r
+!macro AddContextMenu EXT\r
+ WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" "Play with VLC media player"\r
+ WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --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 --one-instance --playlist-enqueue "%1"'\r
+!macroend\r
+\r
+!macro DeleteContextMenu EXT\r
+ DeleteRegKey HKCR ${EXT}\shell\PlayWithVLC\r
+ DeleteRegKey HKCR ${EXT}\shell\AddToPlaylistVLC\r
+!macroend\r
+\r
;;;;;;;;;;;;;;;;;;;;;;\r
; Installer sections ;\r
;;;;;;;;;;;;;;;;;;;;;;\r
File /r skins\r
File /r http\r
\r
+ ; Add VLC to "recomended programs" for the following extensions\r
WriteRegStr HKCR Applications\vlc.exe "" ""\r
- WriteRegStr HKCR Applications\vlc.exe\shell "" "Play"\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 "%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
"$INSTDIR\vlc.exe" "--intf wxwin --no-wxwin-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 "$DESKTOP\VLC media player.lnk" \\r
"$INSTDIR\vlc.exe" "--intf wxwin"\r
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" \\r
"${PRODUCT_WEB_SITE}"\r
- CreateShortCut "$SMPROGRAMS\VideoLAN\Website.lnk" \\r
+ CreateShortCut "$SMPROGRAMS\VideoLAN\${PRODUCT_NAME} Website.lnk" \\r
"$INSTDIR\${PRODUCT_NAME}.url"\r
+ WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" \\r
+ "${PRODUCT_WEB_SITE}/doc/"\r
+ CreateShortCut "$SMPROGRAMS\VideoLAN\Documentation.lnk" \\r
+ "$INSTDIR\Documentation.url"\r
SectionEnd\r
\r
Section /o "Mozilla plugin" SEC03\r
SectionIn 2 3\r
File /r mozilla\r
\r
- WriteRegStr HKLM \\r
- SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION} \\r
- "Path" '"$INSTDIR\mozilla\npvlc.dll"'\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
+ Goto "${Index}-Loop"\r
+\r
+ "${Index}-End:"\r
+ !undef Index\r
+\r
SectionEnd\r
\r
Section /o "ActiveX plugin" SEC04\r
RegDLL "$INSTDIR\axvlc.dll"\r
SectionEnd\r
\r
-SubSection "File type associations" SEC05\r
- ; Make sure we have the same list in uninstall\r
- !insertmacro RegisterExtensionSection ".a52"\r
- !insertmacro RegisterExtensionSection ".aac"\r
- !insertmacro RegisterExtensionSection ".ac3"\r
- !insertmacro RegisterExtensionSection ".asf"\r
- !insertmacro RegisterExtensionSection ".asx"\r
- !insertmacro RegisterExtensionSection ".avi"\r
- !insertmacro RegisterExtensionSection ".bin"\r
- !insertmacro RegisterExtensionSection ".cue"\r
- !insertmacro RegisterExtensionSection ".divx"\r
- !insertmacro RegisterExtensionSection ".dts"\r
- !insertmacro RegisterExtensionSection ".dv"\r
- !insertmacro RegisterExtensionSection ".flac"\r
- !insertmacro RegisterExtensionSection ".m1v"\r
- !insertmacro RegisterExtensionSection ".m2v"\r
- !insertmacro RegisterExtensionSection ".m3u"\r
- !insertmacro RegisterExtensionSection ".mka"\r
- !insertmacro RegisterExtensionSection ".mkv"\r
- !insertmacro RegisterExtensionSection ".mov"\r
- !insertmacro RegisterExtensionSection ".mp1"\r
- !insertmacro RegisterExtensionSection ".mp2"\r
- !insertmacro RegisterExtensionSection ".mp3"\r
- !insertmacro RegisterExtensionSection ".mp4"\r
- !insertmacro RegisterExtensionSection ".mpeg"\r
- !insertmacro RegisterExtensionSection ".mpeg1"\r
- !insertmacro RegisterExtensionSection ".mpeg2"\r
- !insertmacro RegisterExtensionSection ".mpeg4"\r
- !insertmacro RegisterExtensionSection ".mpg"\r
- !insertmacro RegisterExtensionSection ".ogg"\r
- !insertmacro RegisterExtensionSection ".ogm"\r
- !insertmacro RegisterExtensionSection ".pls"\r
- !insertmacro RegisterExtensionSection ".spx"\r
- !insertmacro RegisterExtensionSection ".vob"\r
- !insertmacro RegisterExtensionSection ".vlc"\r
- !insertmacro RegisterExtensionSection ".wav"\r
- !insertmacro RegisterExtensionSection ".wma"\r
- !insertmacro RegisterExtensionSection ".wmv"\r
-SubSectionEnd\r
+Section "Context Menus" SEC05\r
+ SectionIn 1 2 3\r
+ !insertmacro MacroAllExtensions AddContextMenu\r
+SectionEnd\r
+\r
+SectionGroup "File type associations" SEC06\r
+ SectionGroup "Audio Files"\r
+ !insertmacro MacroAudioExtensions RegisterExtensionSection\r
+ SectionGroupEnd\r
+ SectionGroup "Video Files"\r
+ !insertmacro MacroVideoExtensions RegisterExtensionSection\r
+ SectionGroupEnd\r
+ SectionGroup "Other"\r
+ !insertmacro MacroOtherExtensions RegisterExtensionSection\r
+ SectionGroupEnd\r
+SectionGroupEnd\r
\r
Section -Post\r
WriteUninstaller "$INSTDIR\uninstall.exe"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} \\r
"Adds icons to your start menu and your desktop for easy access"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} \\r
- "The VLC mozilla plugin"\r
+ "The VLC Mozilla and Mozilla Firefox plugin"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} \\r
"The VLC ActiveX plugin"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} \\r
+ "Add context menu items (Play With VLC and Add To VLC's Playlist)"\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC06} \\r
"Sets VLC media player as the default application for the specified file type"\r
!insertmacro MUI_FUNCTION_DESCRIPTION_END\r
\r
Section Uninstall\r
SetShellVarContext all\r
\r
- ; Make sure we have the same list in install\r
- !insertmacro UnRegisterExtensionSection ".a52"\r
- !insertmacro UnRegisterExtensionSection ".aac"\r
- !insertmacro UnRegisterExtensionSection ".ac3"\r
- !insertmacro UnRegisterExtensionSection ".asf"\r
- !insertmacro UnRegisterExtensionSection ".asx"\r
- !insertmacro UnRegisterExtensionSection ".avi"\r
- !insertmacro UnRegisterExtensionSection ".bin"\r
- !insertmacro UnRegisterExtensionSection ".cue"\r
- !insertmacro UnRegisterExtensionSection ".divx"\r
- !insertmacro UnRegisterExtensionSection ".dts"\r
- !insertmacro UnRegisterExtensionSection ".dv"\r
- !insertmacro UnRegisterExtensionSection ".flac"\r
- !insertmacro UnRegisterExtensionSection ".m1v"\r
- !insertmacro UnRegisterExtensionSection ".m2v"\r
- !insertmacro UnRegisterExtensionSection ".m3u"\r
- !insertmacro UnRegisterExtensionSection ".mka"\r
- !insertmacro UnRegisterExtensionSection ".mkv"\r
- !insertmacro UnRegisterExtensionSection ".mov"\r
- !insertmacro UnRegisterExtensionSection ".mp1"\r
- !insertmacro UnRegisterExtensionSection ".mp2"\r
- !insertmacro UnRegisterExtensionSection ".mp3"\r
- !insertmacro UnRegisterExtensionSection ".mp4"\r
- !insertmacro UnRegisterExtensionSection ".mpeg"\r
- !insertmacro UnRegisterExtensionSection ".mpeg1"\r
- !insertmacro UnRegisterExtensionSection ".mpeg2"\r
- !insertmacro UnRegisterExtensionSection ".mpeg4"\r
- !insertmacro UnRegisterExtensionSection ".mpg"\r
- !insertmacro UnRegisterExtensionSection ".ogg"\r
- !insertmacro UnRegisterExtensionSection ".ogm"\r
- !insertmacro UnRegisterExtensionSection ".pls"\r
- !insertmacro UnRegisterExtensionSection ".spx"\r
- !insertmacro UnRegisterExtensionSection ".vob"\r
- !insertmacro UnRegisterExtensionSection ".vlc"\r
- !insertmacro UnRegisterExtensionSection ".wav"\r
- !insertmacro UnRegisterExtensionSection ".wma"\r
- !insertmacro UnRegisterExtensionSection ".wmv"\r
+ !insertmacro MacroAllExtensions DeleteContextMenu\r
+ !insertmacro MacroAllExtensions UnRegisterExtensionSection\r
\r
UnRegDLL "$INSTDIR\axvlc.dll"\r
Delete /REBOOTOK "$INSTDIR\axvlc.dll"\r
\r
+ ;remove mozilla plugin\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
+ Delete "$R2\vlcintf.xpt"\r
+ Delete "$R2\npvlc.dll"\r
+ Goto "${Index}-Loop"\r
+\r
+ "${Index}-End:"\r
+ !undef Index\r
+\r
RMDir "$SMPROGRAMS\VideoLAN"\r
RMDir /r $SMPROGRAMS\VideoLAN\r
RMDir /r $INSTDIR\r