]> git.sesse.net Git - vlc/blobdiff - vlc.win32.nsi
libvlc.h: compile fix (s/_N/N_/)
[vlc] / vlc.win32.nsi
index 12ac317262fb6de85dbffb6b1aac521f235e8b80..1be9b9bede8bba5ee07e1939a05935403962815e 100644 (file)
@@ -12,6 +12,7 @@
 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
 \r
+\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
 ; General configuration ;\r
 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
@@ -38,8 +39,8 @@ InstType "Full"
 \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
@@ -83,8 +84,8 @@ NoBackup:
   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\DefaultIcon" "" "$INSTDIR\vlc.exe,0"\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
 Function un.RegisterExtension\r
@@ -134,7 +135,6 @@ Section "Media player (required)" SEC01
   File  /r plugins\r
   File  /r locale\r
   File  /r skins\r
-  File  /r skins2\r
   File  /r http\r
 \r
   WriteRegStr HKCR Applications\vlc.exe "" ""\r
@@ -151,22 +151,27 @@ Section "Media player (required)" SEC01
 \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
-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "DefaultIcon" "$INSTDIR\vlc.exe,0"\r
-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Invoke.ProgID" "VLC.MediaFile"\r
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",0'\r
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeProgID" "VLC.DVDMovie"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeVerb" "play"\r
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Provider" "VideoLAN VLC media player"\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,0"\r
-  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Invoke.ProgID" "VLC.MediaFile"\r
+  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",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.MediaFile" "" "VLC media file"\r
-  WriteRegStr HKCR "VLC.MediaFile\shell" "" "Play"\r
-  WriteRegStr HKCR "VLC.MediaFile\shell\Play\command" "" \\r
-    '$INSTDIR\vlc.exe "%1"'\r
-  WriteRegStr HKCR "VLC.MediaFile\DefaultIcon" "" "$INSTDIR\vlc.exe,0"\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
+  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 cdda:%1'\r
+  WriteRegStr HKCR "VLC.CDAudio\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
 \r
 SectionEnd\r
 \r
@@ -174,66 +179,116 @@ Section "Start Menu + Desktop Shortcut" SEC02
   SectionIn 1 2 3\r
   CreateDirectory "$SMPROGRAMS\VideoLAN"\r
   CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player.lnk" \\r
-    "$INSTDIR\vlc.exe" "--intf wxwin"\r
+    "$INSTDIR\vlc.exe" "--intf wxwin --wxwin-embed"\r
+  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (alt).lnk" \\r
+    "$INSTDIR\vlc.exe" "--intf wxwin --no-wxwin-embed"\r
   CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (skins).lnk" \\r
-    "$INSTDIR\vlc.exe" "--intf skins2"\r
-  CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (old 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
+  File /r mozilla\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
+    Goto "${Index}-Loop"\r
+\r
+  "${Index}-End:"\r
+  !undef Index\r
+\r
+SectionEnd\r
 \r
-  WriteRegStr HKLM \\r
-    SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION} \\r
-    "Path" '"$INSTDIR\mozilla\npvlc.dll"'\r
+Section /o "ActiveX plugin" SEC04\r
+  SectionIn 2 3\r
+  SetOutPath "$INSTDIR"\r
+  File activex\axvlc.dll\r
+  RegDLL "$INSTDIR\axvlc.dll"\r
 SectionEnd\r
 \r
-SubSection "File type associations" SEC04\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 ".dat"\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 ".wav"\r
-  !insertmacro RegisterExtensionSection ".wma"\r
-  !insertmacro RegisterExtensionSection ".wmv"\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
 \r
 Section -Post\r
@@ -263,8 +318,10 @@ SectionEnd
   !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
     "Sets VLC media player as the default application for the specified file type"\r
 !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
 \r
@@ -293,7 +350,6 @@ Section Uninstall
   !insertmacro UnRegisterExtensionSection ".avi"\r
   !insertmacro UnRegisterExtensionSection ".bin"\r
   !insertmacro UnRegisterExtensionSection ".cue"\r
-  !insertmacro UnRegisterExtensionSection ".dat"\r
   !insertmacro UnRegisterExtensionSection ".divx"\r
   !insertmacro UnRegisterExtensionSection ".dts"\r
   !insertmacro UnRegisterExtensionSection ".dv"\r
@@ -318,10 +374,38 @@ Section Uninstall
   !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
 \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