!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_DIR_REGKEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Language"
+@BUILD_ACTIVEX_TRUE@ !define INSTALL_ACTIVEX
+@BUILD_MOZILLA_TRUE@ !define INSTALL_MOZILLA
+
@FILE_LIBVLCCORE_DLL@
@FILE_LIBVLC_DLL@
SetCompressor /SOLID lzma
!endif
-;ShowInstDetails show
-;ShowUnInstDetails show
SetOverwrite ifnewer
CRCCheck on
BrandingText "${PRODUCT_GROUP} ${PRODUCT_NAME}"
; MUI Settings
!define MUI_ABORTWARNING
- !define MUI_ICON "vlc48x48.ico"
- !define MUI_UNICON "vlc48x48.ico"
+ !define MUI_ICON "vlc.ico"
+ !define MUI_UNICON "vlc.ico"
!define MUI_COMPONENTSPAGE_SMALLDESC
; Installer pages
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Portuguese"
+ !insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Czech"
+ !insertmacro MUI_LANGUAGE "Hungarian"
+ !insertmacro MUI_LANGUAGE "Catalan"
+ !insertmacro MUI_LANGUAGE "Bulgarian"
; Reserve files for solid compression
!insertmacro MUI_RESERVEFILE_LANGDLL
WriteRegStr HKCR "$R0" "" "VLC$R0"
ReadRegStr $0 HKCR "VLC$R0" ""
WriteRegStr HKCR "VLC$R0" "" "VLC media file ($R0)"
- WriteRegStr HKCR "VLC$R0\shell" "" "Play"
- WriteRegStr HKCR "VLC$R0\shell\Play" "" $ShellAssociation_Play
- WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" --started-from-file "%1"'
+ WriteRegStr HKCR "VLC$R0\shell" "" "Open"
+ WriteRegStr HKCR "VLC$R0\shell\Open" "" $ShellAssociation_Play
+ WriteRegStr HKCR "VLC$R0\shell\Open\command" "" '"$INSTDIR\vlc.exe" --started-from-file "%1"'
WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'
;;; Vista Only part
!insertmacro ${_action} ".a52"
!insertmacro ${_action} ".aac"
!insertmacro ${_action} ".ac3"
+ !insertmacro ${_action} ".aob"
!insertmacro ${_action} ".dts"
!insertmacro ${_action} ".flac"
!insertmacro ${_action} ".m4a"
!insertmacro ${_action} ".spx"
!insertmacro ${_action} ".wav"
!insertmacro ${_action} ".wma"
- !insertmacro ${_action} ".wma"
+ !insertmacro ${_action} ".wv"
!insertmacro ${_action} ".xm"
!macroend
!insertmacro ${_action} ".mpg"
!insertmacro ${_action} ".mts"
!insertmacro ${_action} ".mxf"
+ !insertmacro ${_action} ".nuv"
!insertmacro ${_action} ".ogg"
!insertmacro ${_action} ".ogm"
!insertmacro ${_action} ".ogx"
!insertmacro ${_action} ".ogv"
+ !insertmacro ${_action} ".rmvb"
!insertmacro ${_action} ".ts"
!insertmacro ${_action} ".vob"
!insertmacro ${_action} ".wmv"
; Generic function for adding the context menu for one ext.
!macro AddContextMenuExt EXT
WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" $ContextMenuEntry_PlayWith
- WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --started-from-file --no-playlist-enqueue "%1"'
+ WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '"$INSTDIR\vlc.exe" --started-from-file --no-playlist-enqueue "%1"'
WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC "" $ContextMenuEntry_AddToPlaylist
- WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --started-from-file --playlist-enqueue "%1"'
+ WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '"$INSTDIR\vlc.exe" --started-from-file --playlist-enqueue "%1"'
!macroend
!macro AddContextMenu EXT
; The CORE of the ;
; installer ;
;;;;;;;;;;;;;;;;;;;;;;
-
+
Section $Name_Section01 SEC01
SectionIn 1 2 3 RO
SetShellVarContext all
; VLC.exe, libvlc.dll
!insertmacro InstallFile vlc.exe
!insertmacro InstallFile vlc.exe.manifest
- !ifdef LIBVLCCORE_DLL
- !insertmacro InstallFile ${LIBVLCCORE_DLL}
- !endif
- !ifdef LIBVLC_DLL
- !insertmacro InstallFile ${LIBVLC_DLL}
- !endif
+
+ ; All dlls
+ !insertmacro InstallFile *.dll
; Text files
!insertmacro InstallFile *.txt
; Subfolders
!insertmacro InstallFolder plugins
!insertmacro InstallFolder locale
- !insertmacro InstallFolder osdmenu
- !insertmacro InstallFolder skins
- !insertmacro InstallFolder http
- !insertmacro InstallFolder lua
+@BUILD_OSDMENU_TRUE@ !insertmacro InstallFolder osdmenu
+@BUILD_SKINS_TRUE@ !insertmacro InstallFolder skins
+@BUILD_HTTPD_TRUE@ !insertmacro InstallFolder http
+@BUILD_LUA_TRUE@ !insertmacro InstallFolder lua
+
; URLs
WriteIniStr "$INSTDIR\${PRODUCT_GROUP} Website.url" "InternetShortcut" "URL" \
; Add VLC to "recomended programs" for the following extensions
WriteRegStr HKCR Applications\vlc.exe "" ""
WriteRegStr HKCR Applications\vlc.exe "FriendlyAppName" "VLC media player"
- WriteRegStr HKCR Applications\vlc.exe\shell\Play "" $ContextMenuEntry_PlayWith
- WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \
- '$INSTDIR\vlc.exe --started-from-file "%1"'
+ WriteRegStr HKCR Applications\vlc.exe\shell\Open "" $ContextMenuEntry_PlayWith
+ WriteRegStr HKCR Applications\vlc.exe\shell\Open\command "" \
+ '"$INSTDIR\vlc.exe" --started-from-file "%1"'
!insertmacro MacroAllExtensions WriteRegStrSupportedTypes
; Vista Registration
CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Audio\Set Audio mode to Waveout.lnk" \
"$INSTDIR\vlc.exe" "--aout waveout --save-config vlc://quit"
CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings\Interface"
- CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Interface\Set Main Interface to Skinnable.lnk" \
- "$INSTDIR\vlc.exe" "-I skins --save-config vlc://quit"
+@BUILD_SKINS_TRUE@ CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Interface\Set Main Interface to Skinnable.lnk" \
+@BUILD_SKINS_TRUE@ "$INSTDIR\vlc.exe" "-I skins --save-config vlc://quit"
CreateShortCut "$SMPROGRAMS\VideoLAN\Quick Settings\Interface\Set Main Interface to Qt (default).lnk" \
"$INSTDIR\vlc.exe" "-I qt --save-config vlc://quit"
CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings\Video"
"$INSTDIR\vlc.exe" ""
SectionEnd
+!ifdef INSTALL_MOZILLA
Section /o $Name_Section03 SEC03
SectionIn 3
SetOutPath "$INSTDIR"
!insertmacro OpenUninstallLog
!insertmacro InstallFile mozilla\npvlc.dll
+ !insertmacro InstallFile mozilla\npvlc.dll.manifest
!insertmacro CloseUninstallLog
!define Moz "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"
;!undef Index
SectionEnd
+!endif
+!ifdef INSTALL_ACTIVEX
Section $Name_Section04 SEC04
- SectionIn 1 3
+ SectionIn 3
SetOutPath "$INSTDIR"
!insertmacro OpenUninstallLog
!insertmacro InstallFile activex\axvlc.dll
+ !insertmacro InstallFile activex\axvlc.dll.manifest
!insertmacro CloseUninstallLog
RegDLL "$INSTDIR\axvlc.dll"
SectionEnd
+!endif
+
Section $Name_Section05 SEC05
SectionIn 1 2 3
WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR "AudioCD\shell\PlayWithVLC\command" "" \
- "$INSTDIR\vlc.exe --started-from-file cdda://%1"
+ '"$INSTDIR\vlc.exe" --started-from-file cdda://%1'
WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR "DVD\shell\PlayWithVLC\command" "" \
- "$INSTDIR\vlc.exe --started-from-file dvd://%1"
+ '"$INSTDIR\vlc.exe" --started-from-file dvd://%1'
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival" ""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" $Action_OnArrivalDVD
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeVerb" "play"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Provider" "VideoLAN VLC media player"
WriteRegStr HKCR "VLC.DVDMovie" "" "VLC DVD Movie"
- WriteRegStr HKCR "VLC.DVDMovie\shell" "" "Play"
- WriteRegStr HKCR "VLC.DVDMovie\shell\Play\command" "" \
- '$INSTDIR\vlc.exe --started-from-file dvd://%1'
+ WriteRegStr HKCR "VLC.DVDMovie\shell" "" "Open"
+ WriteRegStr HKCR "VLC.DVDMovie\shell\Open\command" "" \
+ '"$INSTDIR\vlc.exe" --started-from-file dvd://%1'
WriteRegStr HKCR "VLC.DVDMovie\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'
WriteRegStr HKCR "VLC.CDAudio" "" "VLC CD Audio"
- WriteRegStr HKCR "VLC.CDAudio\shell" "" "Play"
- WriteRegStr HKCR "VLC.CDAudio\shell\Play\command" "" \
- '$INSTDIR\vlc.exe --started-from-file cdda://%1'
+ WriteRegStr HKCR "VLC.CDAudio\shell" "" "Open"
+ WriteRegStr HKCR "VLC.CDAudio\shell\Open\command" "" \
+ '"$INSTDIR\vlc.exe" --started-from-file cdda://%1'
WriteRegStr HKCR "VLC.CDAudio\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'
SectionEnd
-SectionGroup $Name_Section06 SEC06
+
+SectionGroup /e !$Name_Section06 SEC06
SectionGroup $Name_SectionGroupAudio
!insertmacro MacroAudioExtensions RegisterExtensionSection
SectionGroupEnd
SectionGroupEnd
Section $Name_Section07 SEC07
- SectionIn 3
+ SectionIn 1 3
!insertmacro MacroAllExtensions AddContextMenu
!insertmacro AddContextMenuExt "Directory"
SectionEnd
-Section /o $Name_Section08 SEC08
+Section $Name_Section08 SEC08
!insertmacro delprefs
SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $Desc_Section01
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02a} $Desc_Section02a
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02b} $Desc_Section02b
- !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $Desc_Section03
- !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $Desc_Section04
+@BUILD_MOZILLA_TRUE@ !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $Desc_Section03
+@BUILD_ACTIVEX_TRUE@ !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $Desc_Section04
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $Desc_Section05
!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} $Desc_Section06
!insertmacro MUI_DESCRIPTION_TEXT ${SEC07} $Desc_Section07
;;; Start function
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
-
+
!include "languages\english.nsh"
- StrCmp $LANGUAGE ${LANG_FRENCH} French EndLanguageCmp
+ StrCmp $LANGUAGE ${LANG_FRENCH} French 0
+ StrCmp $LANGUAGE ${LANG_ITALIAN} Italian 0
+ StrCmp $LANGUAGE ${LANG_HUNGARIAN} Hungarian 0
+ StrCmp $LANGUAGE ${LANG_ROMANIAN} Romanian 0
+ StrCmp $LANGUAGE ${LANG_CATALAN} Catalan 0
+ StrCmp $LANGUAGE ${LANG_BULGARIAN} Bulgarian 0
+ StrCmp $LANGUAGE ${LANG_SLOVAK} Slovak 0
+ StrCmp $LANGUAGE ${LANG_POLISH} Polish 0
+ StrCmp $LANGUAGE ${LANG_DUTCH} Dutch 0
+ StrCmp $LANGUAGE ${LANG_SIMPCHINESE} SChinese 0
+ StrCmp $LANGUAGE ${LANG_FINNISH} Finnish 0
+ StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} Brazilian EndLanguageCmp
French:
!include "languages\french.nsh"
+ Goto EndLanguageCmp
+ Italian:
+ !include "languages\italian.nsh"
+ Goto EndLanguageCmp
+ Hungarian:
+ !include "languages\hungarian.nsh"
+ Goto EndLanguageCmp
+ Romanian:
+ !include "languages\romanian.nsh"
+ Goto EndLanguageCmp
+ Catalan:
+ !include "languages\catalan.nsh"
+ Goto EndLanguageCmp
+ Bulgarian:
+ !include "languages\bulgarian.nsh"
+ Goto EndLanguageCmp
+ Slovak:
+ !include "languages\slovak.nsh"
+ Goto EndLanguageCmp
+ Polish:
+ !include "languages\polish.nsh"
+ Goto EndLanguageCmp
+ Dutch:
+ !include "languages\dutch.nsh"
+ Goto EndLanguageCmp
+ Schinese:
+ !include "languages\schinese.nsh"
+ Goto EndLanguageCmp
+ Finnish:
+ !include "languages\finnish.nsh"
+ Goto EndLanguageCmp
+ Brazilian:
+ !include "languages\brazilian_portuguese.nsh"
EndLanguageCmp:
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
ClearErrors
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
done:
-
+
FunctionEnd
;; End function
"DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
"UninstallString" "$INSTDIR\uninstall.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
+ "InstallLocation" "$INSTDIR"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
"DisplayIcon" "$INSTDIR\vlc.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
"URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
"Publisher" "${PRODUCT_PUBLISHER}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
+ "VersionMajor" "@VERSION_MAJOR@"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
+ "VersionMinor" "@VERSION_MINOR@"
SectionEnd
;;;;;;;;;;;;;;;;;;;;;;;;
;remove activex plugin
UnRegDLL "$INSTDIR\axvlc.dll"
Delete /REBOOTOK "$INSTDIR\axvlc.dll"
+ Delete /REBOOTOK "$INSTDIR\axvlc.dll.manifest"
;remove mozilla plugin
Push $R0
"${Index}-End:"
!undef Index
Delete /REBOOTOK "$INSTDIR\npvlc.dll"
+ Delete /REBOOTOK "$INSTDIR\npvlc.dll.manifest"
RMDir "$SMPROGRAMS\VideoLAN"
RMDir /r $SMPROGRAMS\VideoLAN
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
-
+
!include "languages\english.nsh"
- StrCmp $LANGUAGE ${LANG_FRENCH} French EndLanguageCmp
+ StrCmp $LANGUAGE ${LANG_FRENCH} French 0
+ StrCmp $LANGUAGE ${LANG_ITALIAN} Italian 0
+ StrCmp $LANGUAGE ${LANG_HUNGARIAN} Hungarian 0
+ StrCmp $LANGUAGE ${LANG_ROMANIAN} Romanian 0
+ StrCmp $LANGUAGE ${LANG_CATALAN} Catalan 0
+ StrCmp $LANGUAGE ${LANG_BULGARIAN} Bulgarian 0
+ StrCmp $LANGUAGE ${LANG_SLOVAK} Slovak 0
+ StrCmp $LANGUAGE ${LANG_POLISH} Polish 0
+ StrCmp $LANGUAGE ${LANG_DUTCH} Dutch 0
+ StrCmp $LANGUAGE ${LANG_SIMPCHINESE} SChinese 0
+ StrCmp $LANGUAGE ${LANG_FINNISH} Finnish 0
+ StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} Brazilian EndLanguageCmp
French:
!include "languages\french.nsh"
+ Goto EndLanguageCmp
+ Italian:
+ !include "languages\italian.nsh"
+ Goto EndLanguageCmp
+ Hungarian:
+ !include "languages\hungarian.nsh"
+ Goto EndLanguageCmp
+ Romanian:
+ !include "languages\romanian.nsh"
+ Goto EndLanguageCmp
+ Catalan:
+ !include "languages\catalan.nsh"
+ Goto EndLanguageCmp
+ Bulgarian:
+ !include "languages\bulgarian.nsh"
+ Goto EndLanguageCmp
+ Slovak:
+ !include "languages\slovak.nsh"
+ Goto EndLanguageCmp
+ Polish:
+ !include "languages\polish.nsh"
+ Goto EndLanguageCmp
+ Dutch:
+ !include "languages\dutch.nsh"
+ Goto EndLanguageCmp
+ Schinese:
+ !include "languages\schinese.nsh"
+ Goto EndLanguageCmp
+ Finnish:
+ !include "languages\finnish.nsh"
+ Goto EndLanguageCmp
+ Brazilian:
+ !include "languages\brazilian_portuguese.nsh"
EndLanguageCmp:
-
+
FunctionEnd