;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
\r
; MUI 1.67 compatible ------\r
-!include "MUI.nsh"\r
+ !include "MUI.nsh"\r
\r
; MUI Settings\r
-!define MUI_ABORTWARNING\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
-; Components page\r
-!insertmacro MUI_PAGE_COMPONENTS\r
-; Directory page\r
-!insertmacro MUI_PAGE_DIRECTORY\r
-; Instfiles page\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
+ !define MUI_ABORTWARNING\r
+ !define MUI_ICON "vlc48x48new.ico"\r
+ !define MUI_UNICON "vlc48x48new.ico"\r
+ !define MUI_COMPONENTSPAGE_SMALLDESC\r
+\r
+; Installer pages\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
+ ; Components page\r
+ !insertmacro MUI_PAGE_COMPONENTS\r
+ ; Directory page\r
+ !insertmacro MUI_PAGE_DIRECTORY\r
+ ; Instfiles page\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
+ !insertmacro MUI_UNPAGE_CONFIRM\r
+ !insertmacro MUI_UNPAGE_COMPONENTS\r
+ !insertmacro MUI_UNPAGE_INSTFILES\r
+ !insertmacro MUI_UNPAGE_FINISH\r
\r
; Language files\r
!insertmacro MUI_LANGUAGE "English" # first language is the default language\r
!insertmacro MUI_RESERVEFILE_LANGDLL\r
\r
; Reserve files\r
-!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
+ !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
\r
; MUI end ------\r
\r
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
-; Push extensions on stack ;\r
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
+;;;;;;;;;;;;;;;;;;;\r
+; Extension lists ;\r
+;;;;;;;;;;;;;;;;;;;\r
+\r
!macro MacroAudioExtensions _action\r
!insertmacro ${_action} ".a52"\r
!insertmacro ${_action} ".aac"\r
DeleteRegKey HKCR ${EXT}\shell\AddToPlaylistVLC\r
!macroend\r
\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
+ ; FIXME\r
+ ; this will loop through all the logged users and "virtual" windows users\r
+ ; (it looks like users are only present in HKEY_USERS when they are logged in)\r
+ ClearErrors\r
+ EnumRegKey $1 HKU "" $0\r
+ StrCmp $1 "" "${Index}-End"\r
+ IntOp $0 $0 + 1\r
+ ReadRegStr $2 HKU "$1\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData\r
+ StrCmp $2 "" "${Index}-Loop"\r
+ RMDir /r "$2\vlc"\r
+ Goto "${Index}-Loop"\r
+ "${Index}-End:"\r
+ !undef Index\r
+!macroend\r
+\r
;;;;;;;;;;;;;;;;;;;;;;\r
; Installer sections ;\r
;;;;;;;;;;;;;;;;;;;;;;\r
\r
File /r plugins\r
File /r locale\r
+ File /r osdmenu\r
File /r skins\r
File /r http\r
\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 dvd:%1@1:0'\r
+ '$INSTDIR\vlc.exe 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
\r
SectionEnd\r
\r
-Section "Start Menu + Desktop Shortcut" SEC02\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 wxwin --wxwin-embed"\r
+ "$INSTDIR\vlc.exe" "--intf wx --wx-embed"\r
CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (alt).lnk" \\r
- "$INSTDIR\vlc.exe" "--intf wxwin --no-wxwin-embed"\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 "$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\${PRODUCT_NAME} Website.lnk" \\r
"$INSTDIR\Documentation.url"\r
SectionEnd\r
\r
+Section "Desktop Shortcut" SEC02b\r
+ SectionIn 1 2 3\r
+ CreateShortCut "$DESKTOP\VLC media player.lnk" \\r
+ "$INSTDIR\vlc.exe" "--intf wx"\r
+SectionEnd\r
+\r
Section /o "Mozilla plugin" SEC03\r
SectionIn 2 3\r
File /r mozilla\r
SectionGroupEnd\r
SectionGroupEnd\r
\r
-Section -Post\r
- WriteUninstaller "$INSTDIR\uninstall.exe"\r
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallDir" $INSTDIR\r
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "Version" "${VERSION}"\r
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\vlc.exe"\r
-\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "DisplayName" "$(^Name)"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "UninstallString" "$INSTDIR\uninstall.exe"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "DisplayIcon" "$INSTDIR\vlc.exe"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "DisplayVersion" "${PRODUCT_VERSION}"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "URLInfoAbout" "${PRODUCT_WEB_SITE}"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
- "Publisher" "${PRODUCT_PUBLISHER}"\r
+Section /o "Delete preferences and cache" SEC07\r
+ !insertmacro delprefs\r
SectionEnd\r
\r
-; Section descriptions\r
+; Installer section descriptions\r
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} \\r
"The media player itself"\r
- !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} \\r
- "Adds icons to your start menu and your desktop for easy access"\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC02a} \\r
+ "Adds icons to your start menu for easy access"\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC02b} \\r
+ "Adds icon to your desktop for easy access"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} \\r
"The VLC Mozilla and Mozilla Firefox plugin"\r
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} \\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_DESCRIPTION_TEXT ${SEC07} \\r
+ "Deletes VLC media player preferences and cache files leftover from previous installations"\r
!insertmacro MUI_FUNCTION_DESCRIPTION_END\r
\r
Function .onInit\r
!insertmacro MUI_LANGDLL_DISPLAY\r
FunctionEnd\r
\r
-Function un.onUninstSuccess\r
- HideWindow\r
- MessageBox MB_ICONINFORMATION|MB_OK \\r
- "$(^Name) was successfully removed from your computer."\r
-FunctionEnd\r
+Section -Post\r
+ WriteUninstaller "$INSTDIR\uninstall.exe"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallDir" $INSTDIR\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "Version" "${VERSION}"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\vlc.exe"\r
\r
-Function un.onInit\r
- !insertmacro MUI_LANGDLL_DISPLAY\r
-FunctionEnd\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "DisplayName" "$(^Name)"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "UninstallString" "$INSTDIR\uninstall.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "DisplayIcon" "$INSTDIR\vlc.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "DisplayVersion" "${PRODUCT_VERSION}"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "URLInfoAbout" "${PRODUCT_WEB_SITE}"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
+ "Publisher" "${PRODUCT_PUBLISHER}"\r
+SectionEnd\r
\r
-Section Uninstall\r
+;;;;;;;;;;;;;;;;;;;;;;;;\r
+; Uninstaller sections ;\r
+;;;;;;;;;;;;;;;;;;;;;;;;\r
+\r
+Section "Uninstall" SEC91\r
+ SectionIn 1 2 3 RO\r
SetShellVarContext all\r
\r
!insertmacro MacroAllExtensions DeleteContextMenu\r
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
SetAutoClose true\r
SectionEnd\r
+\r
+Section /o "un.Delete preferences and cache" SEC92\r
+ !insertmacro delprefs\r
+SectionEnd\r
+\r
+; Uninstaller section descriptions\r
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC91} \\r
+ "Uninstall VLC media player and all its components"\r
+ !insertmacro MUI_DESCRIPTION_TEXT ${SEC92} \\r
+ "Deletes VLC media player preferences and cache files"\r
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END\r
+\r
+;Function un.onUninstSuccess\r
+; HideWindow\r
+; MessageBox MB_ICONINFORMATION|MB_OK \\r
+; "$(^Name) was successfully removed from your computer."\r
+;FunctionEnd\r
+\r
+Function un.onInit\r
+ !insertmacro MUI_LANGDLL_DISPLAY\r
+FunctionEnd\r