1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
2 ; NSIS installer script for vlc ;
\r
3 ; (http://nsis.sourceforge.net) ;
\r
4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
6 !define PRODUCT_NAME "VLC media player"
\r
7 !define PRODUCT_VERSION '${VERSION}'
\r
8 !define PRODUCT_GROUP "VideoLAN"
\r
9 !define PRODUCT_PUBLISHER "VideoLAN Team"
\r
10 !define PRODUCT_WEB_SITE "http://www.videolan.org"
\r
11 !define PRODUCT_DIR_REGKEY "Software\VideoLAN\VLC"
\r
12 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
\r
13 !define PRODUCT_UNINST_ROOT_KEY "HKLM"
\r
15 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
16 ; NSIS Modern User Interface configuration ;
\r
17 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
19 ; MUI 1.67 compatible ------
\r
23 !define MUI_ABORTWARNING
\r
24 !define MUI_ICON "vlc48x48.ico"
\r
25 !define MUI_UNICON "vlc48x48.ico"
\r
26 !define MUI_COMPONENTSPAGE_SMALLDESC
\r
29 !insertmacro MUI_PAGE_WELCOME
\r
31 !insertmacro MUI_PAGE_LICENSE "COPYING.txt"
\r
33 !insertmacro MUI_PAGE_COMPONENTS
\r
35 !insertmacro MUI_PAGE_DIRECTORY
\r
37 !insertmacro MUI_PAGE_INSTFILES
\r
39 !define MUI_FINISHPAGE_RUN "$INSTDIR\vlc.exe"
\r
40 !insertmacro MUI_PAGE_FINISH
\r
43 !insertmacro MUI_UNPAGE_INSTFILES
\r
46 !insertmacro MUI_LANGUAGE "English"
\r
49 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
\r
53 ;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
54 ; File type associations ;
\r
55 ;;;;;;;;;;;;;;;;;;;;;;;;;;
\r
57 Function RegisterExtension
\r
58 ; back up old value for extension $R0 (eg. ".opt")
\r
59 ReadRegStr $1 HKCR "$R0" ""
\r
60 StrCmp $1 "" NoBackup
\r
61 StrCmp $1 "VLC$R0" "NoBackup"
\r
62 WriteRegStr HKCR "$R0" "VLC.backup" $1
\r
64 WriteRegStr HKCR "$R0" "" "VLC$R0"
\r
65 ReadRegStr $0 HKCR "VLC$R0" ""
\r
66 WriteRegStr HKCR "VLC$R0" "" "VLC media file"
\r
67 WriteRegStr HKCR "VLC$R0\shell" "" "Play"
\r
68 WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '$INSTDIR\vlc.exe "%1"'
\r
69 WriteRegStr HKCR "VLC$R0\DefaultIcon" "" "$INSTDIR\vlc.exe,0"
\r
72 Function un.RegisterExtension
\r
73 ;start of restore script
\r
74 ReadRegStr $1 HKCR "$R0" ""
\r
75 StrCmp $1 "VLC$R0" 0 NoOwn ; only do this if we own it
\r
76 ReadRegStr $1 HKCR "$R0" "VLC.backup"
\r
77 StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
\r
78 DeleteRegKey HKCR "$R0"
\r
81 WriteRegStr HKCR "$R0" "" $1
\r
82 DeleteRegValue HKCR "$R0" "VLC.backup"
\r
84 DeleteRegKey HKCR "VLC$R0" ;Delete key with association settings
\r
87 !macro RegisterExtensionSection EXT
\r
91 Call RegisterExtension
\r
96 !macro UnRegisterExtensionSection EXT
\r
99 Call un.RegisterExtension
\r
103 ;;;;;;;;;;;;;;;;;;;;;;;;;
\r
104 ; General configuration ;
\r
105 ;;;;;;;;;;;;;;;;;;;;;;;;;
\r
107 Name "${PRODUCT_GROUP} ${PRODUCT_NAME} ${PRODUCT_VERSION}"
\r
108 OutFile ..\vlc-${VERSION}-win32.exe
\r
109 InstallDir "$PROGRAMFILES\VideoLAN\VLC"
\r
110 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "Install_Dir"
\r
112 ShowInstDetails show
\r
113 ShowUnInstDetails show
\r
114 SetOverwrite ifnewer
\r
120 Section "Media player (required)" SEC01
\r
122 SetShellVarContext all
\r
123 SetOutPath "$INSTDIR"
\r
126 File vlc.exe.manifest
\r
135 WriteRegStr HKCR Applications\vlc.exe "" ""
\r
136 WriteRegStr HKCR Applications\vlc.exe\shell "" "Play"
\r
137 WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \
\r
138 '$INSTDIR\vlc.exe "%1"'
\r
142 Section "Start Menu + Desktop Shortcut" SEC02
\r
144 CreateDirectory "$SMPROGRAMS\VideoLAN"
\r
145 CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player.lnk" \
\r
146 "$INSTDIR\vlc.exe" "--intf wxwin"
\r
147 CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (skins).lnk" \
\r
148 "$INSTDIR\vlc.exe" "--intf skins"
\r
149 CreateShortCut "$DESKTOP\VLC media player.lnk" "$INSTDIR\vlc.exe"
\r
150 WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" \
\r
151 "${PRODUCT_WEB_SITE}"
\r
152 CreateShortCut "$SMPROGRAMS\VideoLAN\Website.lnk" \
\r
153 "$INSTDIR\${PRODUCT_NAME}.url"
\r
156 Section /o "Mozilla plugin" SEC03
\r
161 SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION} \
\r
162 "Path" '"$INSTDIR\mozilla\npvlc.dll"'
\r
165 SubSection "File type associations" SEC04
\r
166 ; Make sure we have the same list in uninstall
\r
167 !insertmacro RegisterExtensionSection ".a52"
\r
168 !insertmacro RegisterExtensionSection ".aac"
\r
169 !insertmacro RegisterExtensionSection ".ac3"
\r
170 !insertmacro RegisterExtensionSection ".asf"
\r
171 !insertmacro RegisterExtensionSection ".asx"
\r
172 !insertmacro RegisterExtensionSection ".avi"
\r
173 !insertmacro RegisterExtensionSection ".bin"
\r
174 !insertmacro RegisterExtensionSection ".cue"
\r
175 !insertmacro RegisterExtensionSection ".dat"
\r
176 !insertmacro RegisterExtensionSection ".divx"
\r
177 !insertmacro RegisterExtensionSection ".dts"
\r
178 !insertmacro RegisterExtensionSection ".dv"
\r
179 !insertmacro RegisterExtensionSection ".flac"
\r
180 !insertmacro RegisterExtensionSection ".m1v"
\r
181 !insertmacro RegisterExtensionSection ".m2v"
\r
182 !insertmacro RegisterExtensionSection ".m3u"
\r
183 !insertmacro RegisterExtensionSection ".mka"
\r
184 !insertmacro RegisterExtensionSection ".mkv"
\r
185 !insertmacro RegisterExtensionSection ".mov"
\r
186 !insertmacro RegisterExtensionSection ".mp1"
\r
187 !insertmacro RegisterExtensionSection ".mp2"
\r
188 !insertmacro RegisterExtensionSection ".mp3"
\r
189 !insertmacro RegisterExtensionSection ".mp4"
\r
190 !insertmacro RegisterExtensionSection ".mpeg"
\r
191 !insertmacro RegisterExtensionSection ".mpeg1"
\r
192 !insertmacro RegisterExtensionSection ".mpeg2"
\r
193 !insertmacro RegisterExtensionSection ".mpeg4"
\r
194 !insertmacro RegisterExtensionSection ".mpg"
\r
195 !insertmacro RegisterExtensionSection ".ogg"
\r
196 !insertmacro RegisterExtensionSection ".ogm"
\r
197 !insertmacro RegisterExtensionSection ".pls"
\r
198 !insertmacro RegisterExtensionSection ".spx"
\r
199 !insertmacro RegisterExtensionSection ".vob"
\r
200 !insertmacro RegisterExtensionSection ".wav"
\r
201 !insertmacro RegisterExtensionSection ".wma"
\r
202 !insertmacro RegisterExtensionSection ".wmv"
\r
206 WriteUninstaller "$INSTDIR\uninstall.exe"
\r
207 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallDir" $INSTDIR
\r
208 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "Version" "${VERSION}"
\r
209 WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\vlc.exe"
\r
211 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
212 "DisplayName" "$(^Name)"
\r
213 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
214 "UninstallString" "$INSTDIR\uninstall.exe"
\r
215 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
216 "DisplayIcon" "$INSTDIR\vlc.exe"
\r
217 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
218 "DisplayVersion" "${PRODUCT_VERSION}"
\r
219 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
220 "URLInfoAbout" "${PRODUCT_WEB_SITE}"
\r
221 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
\r
222 "Publisher" "${PRODUCT_PUBLISHER}"
\r
225 ; Section descriptions
\r
226 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
\r
227 !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} \
\r
228 "The media player itself"
\r
229 !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} \
\r
230 "Adds icons to your start menu and your desktop for easy access"
\r
231 !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} \
\r
232 "The VLC mozilla plugin"
\r
233 !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} \
\r
234 "Sets VLC media player as the default application for the specified file type"
\r
235 !insertmacro MUI_FUNCTION_DESCRIPTION_END
\r
238 Function un.onUninstSuccess
\r
240 MessageBox MB_ICONINFORMATION|MB_OK \
\r
241 "$(^Name) was successfully removed from your computer."
\r
245 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \
\r
246 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
\r
251 SetShellVarContext all
\r
253 ; Make sure we have the same list in install
\r
254 !insertmacro UnRegisterExtensionSection ".a52"
\r
255 !insertmacro UnRegisterExtensionSection ".aac"
\r
256 !insertmacro UnRegisterExtensionSection ".ac3"
\r
257 !insertmacro UnRegisterExtensionSection ".asf"
\r
258 !insertmacro UnRegisterExtensionSection ".asx"
\r
259 !insertmacro UnRegisterExtensionSection ".avi"
\r
260 !insertmacro UnRegisterExtensionSection ".bin"
\r
261 !insertmacro UnRegisterExtensionSection ".cue"
\r
262 !insertmacro UnRegisterExtensionSection ".dat"
\r
263 !insertmacro UnRegisterExtensionSection ".divx"
\r
264 !insertmacro UnRegisterExtensionSection ".dts"
\r
265 !insertmacro UnRegisterExtensionSection ".dv"
\r
266 !insertmacro UnRegisterExtensionSection ".flac"
\r
267 !insertmacro UnRegisterExtensionSection ".m1v"
\r
268 !insertmacro UnRegisterExtensionSection ".m2v"
\r
269 !insertmacro UnRegisterExtensionSection ".m3u"
\r
270 !insertmacro UnRegisterExtensionSection ".mka"
\r
271 !insertmacro UnRegisterExtensionSection ".mkv"
\r
272 !insertmacro UnRegisterExtensionSection ".mov"
\r
273 !insertmacro UnRegisterExtensionSection ".mp1"
\r
274 !insertmacro UnRegisterExtensionSection ".mp2"
\r
275 !insertmacro UnRegisterExtensionSection ".mp3"
\r
276 !insertmacro UnRegisterExtensionSection ".mp4"
\r
277 !insertmacro UnRegisterExtensionSection ".mpeg"
\r
278 !insertmacro UnRegisterExtensionSection ".mpeg1"
\r
279 !insertmacro UnRegisterExtensionSection ".mpeg2"
\r
280 !insertmacro UnRegisterExtensionSection ".mpeg4"
\r
281 !insertmacro UnRegisterExtensionSection ".mpg"
\r
282 !insertmacro UnRegisterExtensionSection ".ogg"
\r
283 !insertmacro UnRegisterExtensionSection ".ogm"
\r
284 !insertmacro UnRegisterExtensionSection ".pls"
\r
285 !insertmacro UnRegisterExtensionSection ".spx"
\r
286 !insertmacro UnRegisterExtensionSection ".vob"
\r
287 !insertmacro UnRegisterExtensionSection ".wav"
\r
288 !insertmacro UnRegisterExtensionSection ".wma"
\r
289 !insertmacro UnRegisterExtensionSection ".wmv"
\r
291 RMDir "$SMPROGRAMS\VideoLAN"
\r
292 RMDir /r $SMPROGRAMS\VideoLAN
\r
294 DeleteRegKey HKLM Software\VideoLAN
\r
296 DeleteRegKey HKCR Applications\vlc.exe
\r
298 DeleteRegKey HKLM \
\r
299 SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}
\r
301 DeleteRegKey HKLM \
\r
302 Software\Microsoft\Windows\CurrentVersion\Uninstall\VideoLAN
\r
304 Delete "$DESKTOP\VLC media player.lnk"
\r
306 DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
\r
307 DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
\r