!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
OutFile ..\vlc-${VERSION}-win32.exe\r
InstallDir "$PROGRAMFILES\VideoLAN\VLC"\r
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "Install_Dir"\r
-SetCompressor lzma\r
-ShowInstDetails show\r
-ShowUnInstDetails show\r
+SetCompressor /SOLID lzma\r
+;ShowInstDetails show\r
+;ShowUnInstDetails show\r
SetOverwrite ifnewer\r
CRCCheck on\r
\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
+!define MUI_WELCOMEPAGE_TITLE_3LINES\r
!insertmacro MUI_PAGE_WELCOME\r
; License page\r
!insertmacro MUI_PAGE_LICENSE "COPYING.txt"\r
!insertmacro MUI_PAGE_INSTFILES\r
; Finish page\r
!define MUI_FINISHPAGE_RUN "$INSTDIR\vlc.exe"\r
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"\r
+!define MUI_FINISHPAGE_SHOWREADME_TEXT "View changelog"\r
+!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED\r
+!define MUI_FINISHPAGE_LINK "Visit the VideoLAN VLC media player Website"\r
+!define MUI_FINISHPAGE_LINK_LOCATION "http://www.videolan.org/vlc/"\r
!define MUI_FINISHPAGE_NOREBOOTSUPPORT\r
!insertmacro MUI_PAGE_FINISH\r
\r
; Uninstaller pages\r
+!insertmacro MUI_UNPAGE_CONFIRM\r
!insertmacro MUI_UNPAGE_INSTFILES\r
\r
; Language files\r
-!insertmacro MUI_LANGUAGE "English"\r
+ !insertmacro MUI_LANGUAGE "English" # first language is the default language\r
+ !insertmacro MUI_LANGUAGE "French"\r
+ !insertmacro MUI_LANGUAGE "German"\r
+ !insertmacro MUI_LANGUAGE "Spanish"\r
+ !insertmacro MUI_LANGUAGE "SimpChinese"\r
+ !insertmacro MUI_LANGUAGE "TradChinese"\r
+ !insertmacro MUI_LANGUAGE "Japanese"\r
+ !insertmacro MUI_LANGUAGE "Korean"\r
+ !insertmacro MUI_LANGUAGE "Italian"\r
+ !insertmacro MUI_LANGUAGE "Dutch"\r
+ !insertmacro MUI_LANGUAGE "Danish"\r
+ !insertmacro MUI_LANGUAGE "Swedish"\r
+ !insertmacro MUI_LANGUAGE "Norwegian"\r
+ !insertmacro MUI_LANGUAGE "Finnish"\r
+ !insertmacro MUI_LANGUAGE "Greek"\r
+ !insertmacro MUI_LANGUAGE "Russian"\r
+ !insertmacro MUI_LANGUAGE "Portuguese"\r
+ !insertmacro MUI_LANGUAGE "Arabic"\r
+\r
+!insertmacro MUI_RESERVEFILE_LANGDLL\r
\r
; Reserve files\r
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
\r
; MUI end ------\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
\r
!macro RegisterExtensionSection EXT\r
Section /o ${EXT}\r
+ SectionIn 2 3\r
Push $R0\r
StrCpy $R0 ${EXT}\r
Call RegisterExtension\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
RegDLL "$INSTDIR\axvlc.dll"\r
SectionEnd\r
\r
-SubSection "File type associations" SEC05\r
- SubSection "Audio Files"\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 ".dts"\r
- !insertmacro RegisterExtensionSection ".flac"\r
- !insertmacro RegisterExtensionSection ".mka"\r
- !insertmacro RegisterExtensionSection ".mp1"\r
- !insertmacro RegisterExtensionSection ".mp2"\r
- !insertmacro RegisterExtensionSection ".mp3"\r
- !insertmacro RegisterExtensionSection ".ogg"\r
- !insertmacro RegisterExtensionSection ".spx"\r
- !insertmacro RegisterExtensionSection ".wav"\r
- !insertmacro RegisterExtensionSection ".wma"\r
- SubSectionEnd\r
- SubSection "Video Files"\r
- ; Make sure we have the same list in uninstall\r
- !insertmacro RegisterExtensionSection ".asf"\r
- !insertmacro RegisterExtensionSection ".avi"\r
- !insertmacro RegisterExtensionSection ".divx"\r
- !insertmacro RegisterExtensionSection ".dv"\r
- !insertmacro RegisterExtensionSection ".m1v"\r
- !insertmacro RegisterExtensionSection ".m2v"\r
- !insertmacro RegisterExtensionSection ".mkv"\r
- !insertmacro RegisterExtensionSection ".mov"\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 ".ogm"\r
- !insertmacro RegisterExtensionSection ".vob"\r
- !insertmacro RegisterExtensionSection ".wmv"\r
- SubSectionEnd\r
- SubSection "Other"\r
- ; Make sure we have the same list in uninstall\r
- !insertmacro RegisterExtensionSection ".asx"\r
- !insertmacro RegisterExtensionSection ".bin"\r
- !insertmacro RegisterExtensionSection ".cue"\r
- !insertmacro RegisterExtensionSection ".m3u"\r
- !insertmacro RegisterExtensionSection ".pls"\r
- !insertmacro RegisterExtensionSection ".vlc"\r
- SubSectionEnd\r
-SubSectionEnd\r
+Section "Context Menus" SEC05\r
+ SectionIn 1 2 3\r
+ !insertmacro MacroAllExtensions AddContextMenu\r
+ !insertmacro AddContextMenu "Folder"\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 ${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
+Function .onInit\r
+ ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "UninstallString"\r
+ StrCmp $R0 "" done\r
+ \r
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \\r
+ "VLC media player has already been installed. $\nDo you want to remove \\r
+ the previous version before installing $(^Name) ?" \\r
+ IDNO done\r
+ \r
+ ;Run the uninstaller\r
+ ;uninst:\r
+ ClearErrors\r
+ ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file\r
+ done:\r
+ !insertmacro MUI_LANGDLL_DISPLAY\r
+FunctionEnd\r
\r
Function un.onUninstSuccess\r
HideWindow\r
FunctionEnd\r
\r
Function un.onInit\r
- MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \\r
- "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
- Abort\r
+ !insertmacro MUI_LANGDLL_DISPLAY\r
FunctionEnd\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
+ !insertmacro DeleteContextMenu "Folder"\r
\r
UnRegDLL "$INSTDIR\axvlc.dll"\r
Delete /REBOOTOK "$INSTDIR\axvlc.dll"\r
DeleteRegKey HKCR "VLC.MediaFile"\r
\r
DeleteRegKey HKLM \\r
- SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}\r
+ "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"\r
\r
DeleteRegKey HKLM \\r
- Software\Microsoft\Windows\CurrentVersion\Uninstall\VideoLAN\r
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
\r
Delete "$DESKTOP\VLC media player.lnk"\r
\r