]> git.sesse.net Git - vlc/blob - vlc.win32.nsi
backport 11399
[vlc] / vlc.win32.nsi
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
2 ; NSIS installer script for vlc ;\r
3 ; (http://nsis.sourceforge.net) ;\r
4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
5 \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
14 \r
15 \r
16 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
17 ; General configuration ;\r
18 ;;;;;;;;;;;;;;;;;;;;;;;;;\r
19 \r
20 Name "${PRODUCT_GROUP} ${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
21 OutFile ..\vlc-${VERSION}-win32.exe\r
22 InstallDir "$PROGRAMFILES\VideoLAN\VLC"\r
23 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "Install_Dir"\r
24 SetCompressor lzma\r
25 ShowInstDetails show\r
26 ShowUnInstDetails show\r
27 SetOverwrite ifnewer\r
28 CRCCheck on\r
29 \r
30 InstType "Normal"\r
31 InstType "Full"\r
32 \r
33 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
34 ; NSIS Modern User Interface configuration ;\r
35 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
36 \r
37 ; MUI 1.67 compatible ------\r
38 !include "MUI.nsh"\r
39 \r
40 ; MUI Settings\r
41 !define MUI_ABORTWARNING\r
42 !define MUI_ICON "vlc48x48.ico"\r
43 !define MUI_UNICON "vlc48x48.ico"\r
44 !define MUI_COMPONENTSPAGE_SMALLDESC\r
45 \r
46 ; Welcome page\r
47 !insertmacro MUI_PAGE_WELCOME\r
48 ; License page\r
49 !insertmacro MUI_PAGE_LICENSE "COPYING.txt"\r
50 ; Components page\r
51 !insertmacro MUI_PAGE_COMPONENTS\r
52 ; Directory page\r
53 !insertmacro MUI_PAGE_DIRECTORY\r
54 ; Instfiles page\r
55 !insertmacro MUI_PAGE_INSTFILES\r
56 ; Finish page\r
57 !define MUI_FINISHPAGE_RUN "$INSTDIR\vlc.exe"\r
58 !define MUI_FINISHPAGE_NOREBOOTSUPPORT\r
59 !insertmacro MUI_PAGE_FINISH\r
60 \r
61 ; Uninstaller pages\r
62 !insertmacro MUI_UNPAGE_INSTFILES\r
63 \r
64 ; Language files\r
65 !insertmacro MUI_LANGUAGE "English"\r
66 \r
67 ; Reserve files\r
68 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS\r
69 \r
70 ; MUI end ------\r
71 \r
72 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
73 ; File type associations ;\r
74 ;;;;;;;;;;;;;;;;;;;;;;;;;;\r
75 \r
76 Function RegisterExtension\r
77   ; back up old value for extension $R0 (eg. ".opt")\r
78   ReadRegStr $1 HKCR "$R0" ""\r
79   StrCmp $1 "" NoBackup\r
80     StrCmp $1 "VLC$R0" "NoBackup"\r
81     WriteRegStr HKCR "$R0" "VLC.backup" $1\r
82 NoBackup:\r
83   WriteRegStr HKCR "$R0" "" "VLC$R0"\r
84   ReadRegStr $0 HKCR "VLC$R0" ""\r
85   WriteRegStr HKCR "VLC$R0" "" "VLC media file"\r
86   WriteRegStr HKCR "VLC$R0\shell" "" "Play"\r
87   WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" "%1"'\r
88   WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
89 FunctionEnd\r
90 \r
91 Function un.RegisterExtension\r
92   ;start of restore script\r
93   ReadRegStr $1 HKCR "$R0" ""\r
94   StrCmp $1 "VLC$R0" 0 NoOwn ; only do this if we own it\r
95     ReadRegStr $1 HKCR "$R0" "VLC.backup"\r
96     StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key\r
97       DeleteRegKey HKCR "$R0"\r
98     Goto NoOwn\r
99 Restore:\r
100       WriteRegStr HKCR "$R0" "" $1\r
101       DeleteRegValue HKCR "$R0" "VLC.backup"\r
102 NoOwn:\r
103     DeleteRegKey HKCR "VLC$R0" ;Delete key with association settings\r
104 FunctionEnd\r
105 \r
106 !macro RegisterExtensionSection EXT\r
107   Section /o ${EXT}\r
108     Push $R0\r
109     StrCpy $R0 ${EXT}\r
110     Call RegisterExtension\r
111     Pop $R0\r
112   SectionEnd\r
113 !macroend\r
114 \r
115 !macro UnRegisterExtensionSection EXT\r
116   Push $R0\r
117   StrCpy $R0 ${EXT}\r
118   Call un.RegisterExtension\r
119   Pop $R0\r
120 !macroend\r
121 \r
122 ;;;;;;;;;;;;;;;;;;;;;;\r
123 ; Installer sections ;\r
124 ;;;;;;;;;;;;;;;;;;;;;;\r
125 \r
126 Section "Media player (required)" SEC01\r
127   SectionIn 1 2 3 RO\r
128   SetShellVarContext all\r
129   SetOutPath "$INSTDIR"\r
130 \r
131   File  vlc.exe\r
132   File  vlc.exe.manifest\r
133   File  *.txt\r
134 \r
135   File  /r plugins\r
136   File  /r locale\r
137   File  /r skins\r
138   File  /r http\r
139 \r
140   WriteRegStr HKCR Applications\vlc.exe "" ""\r
141   WriteRegStr HKCR Applications\vlc.exe\shell "" "Play"\r
142   WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \\r
143     '$INSTDIR\vlc.exe "%1"'\r
144 \r
145   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" "Play with VLC media player"\r
146   WriteRegStr HKCR "AudioCD\shell\PlayWithVLC\command" "" \\r
147     "$INSTDIR\vlc.exe cdda:%1"\r
148   WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" "Play with VLC media player"\r
149   WriteRegStr HKCR "DVD\shell\PlayWithVLC\command" "" \\r
150     "$INSTDIR\vlc.exe dvd:%1"\r
151 \r
152   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival" ""\r
153   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" "Play DVD movie"\r
154   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",0'\r
155   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeProgID" "VLC.DVDMovie"\r
156   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeVerb" "play"\r
157   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Provider" "VideoLAN VLC media player"\r
158 \r
159   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "VLCPlayCDAudioOnArrival" ""\r
160   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Action" "Play CD audio"\r
161   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",0'\r
162   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeProgID" "VLC.CDAudio"\r
163   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeVerb" "play"\r
164   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Provider" "VideoLAN VLC media player"\r
165   WriteRegStr HKCR "VLC.DVDMovie" "" "VLC DVD Movie"\r
166   WriteRegStr HKCR "VLC.DVDMovie\shell" "" "Play"\r
167   WriteRegStr HKCR "VLC.DVDMovie\shell\Play\command" "" \\r
168     '$INSTDIR\vlc.exe dvd:%1@1:0'\r
169   WriteRegStr HKCR "VLC.DVDMovie\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
170   WriteRegStr HKCR "VLC.CDAudio" "" "VLC CD Audio"\r
171   WriteRegStr HKCR "VLC.CDAudio\shell" "" "Play"\r
172   WriteRegStr HKCR "VLC.CDAudio\shell\Play\command" "" \\r
173     '$INSTDIR\vlc.exe cdda:%1'\r
174   WriteRegStr HKCR "VLC.CDAudio\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'\r
175 \r
176 SectionEnd\r
177 \r
178 Section "Start Menu + Desktop Shortcut" SEC02\r
179   SectionIn 1 2 3\r
180   CreateDirectory "$SMPROGRAMS\VideoLAN"\r
181   CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player.lnk" \\r
182     "$INSTDIR\vlc.exe" "--intf wxwin --wxwin-embed"\r
183   CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (alt).lnk" \\r
184     "$INSTDIR\vlc.exe" "--intf wxwin --no-wxwin-embed"\r
185   CreateShortCut "$SMPROGRAMS\VideoLAN\VLC media player (skins).lnk" \\r
186     "$INSTDIR\vlc.exe" "--intf skins"\r
187   CreateShortCut "$SMPROGRAMS\VideoLAN\Reset VLC defaults and quit.lnk" \\r
188     "$INSTDIR\vlc.exe" "--reset-config --reset-plugins-cache --save-config vlc:quit "\r
189   CreateShortCut "$DESKTOP\VLC media player.lnk" \\r
190     "$INSTDIR\vlc.exe" "--intf wxwin"\r
191   WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" \\r
192     "${PRODUCT_WEB_SITE}"\r
193   CreateShortCut "$SMPROGRAMS\VideoLAN\${PRODUCT_NAME} Website.lnk" \\r
194     "$INSTDIR\${PRODUCT_NAME}.url"\r
195   WriteIniStr "$INSTDIR\Documentation.url" "InternetShortcut" "URL" \\r
196     "${PRODUCT_WEB_SITE}/doc/"\r
197   CreateShortCut "$SMPROGRAMS\VideoLAN\Documentation.lnk" \\r
198     "$INSTDIR\Documentation.url"\r
199 SectionEnd\r
200 \r
201 Section /o "Mozilla plugin" SEC03\r
202   SectionIn 2 3\r
203   File /r mozilla\r
204 \r
205   ; doesn't work. bug in mozilla/mozilla firefox or moz documentation (xpt file isn't loaded)\r
206   ; see mozilla bugs 184506 and 159445\r
207   ;!define Moz "SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}"\r
208   ;WriteRegStr HKLM ${Moz} "Description" "VideoLAN VLC plugin for Mozilla"\r
209   ;WriteRegStr HKLM ${Moz} "Path" "$INSTDIR\mozilla\npvlc.dll"\r
210   ;WriteRegStr HKLM ${Moz} "Product" "VLC media player"\r
211   ;WriteRegStr HKLM ${Moz} "Vendor" "VideoLAN"\r
212   ;WriteRegStr HKLM ${Moz} "Version" "${VERSION}"\r
213   ;WriteRegStr HKLM ${Moz} "XPTPath" "$INSTDIR\mozilla\vlcintf.xpt"\r
214 \r
215   Push $R0\r
216   Push $R1\r
217   Push $R2\r
218 \r
219   !define Index 'Line${__LINE__}'\r
220   StrCpy $R1 "0"\r
221 \r
222   "${Index}-Loop:"\r
223 \r
224     ; Check for Key\r
225     EnumRegKey $R0 HKLM "SOFTWARE\Mozilla" "$R1"\r
226     StrCmp $R0 "" "${Index}-End"\r
227     IntOp $R1 $R1 + 1\r
228     ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
229     StrCmp $R2 "" "${Index}-Loop" ""\r
230 \r
231     CopyFiles "$INSTDIR\mozilla\*" "$R2"\r
232     Goto "${Index}-Loop"\r
233 \r
234   "${Index}-End:"\r
235   !undef Index\r
236 \r
237 SectionEnd\r
238 \r
239 Section /o "ActiveX plugin" SEC04\r
240   SectionIn 2 3\r
241   SetOutPath "$INSTDIR"\r
242   File activex\axvlc.dll\r
243   RegDLL "$INSTDIR\axvlc.dll"\r
244 SectionEnd\r
245 \r
246 SubSection "File type associations" SEC05\r
247   SubSection "Audio Files"\r
248     ; Make sure we have the same list in uninstall\r
249     !insertmacro RegisterExtensionSection ".a52"\r
250     !insertmacro RegisterExtensionSection ".aac"\r
251     !insertmacro RegisterExtensionSection ".ac3"\r
252     !insertmacro RegisterExtensionSection ".dts"\r
253     !insertmacro RegisterExtensionSection ".flac"\r
254     !insertmacro RegisterExtensionSection ".mka"\r
255     !insertmacro RegisterExtensionSection ".mp1"\r
256     !insertmacro RegisterExtensionSection ".mp2"\r
257     !insertmacro RegisterExtensionSection ".mp3"\r
258     !insertmacro RegisterExtensionSection ".ogg"\r
259     !insertmacro RegisterExtensionSection ".spx"\r
260     !insertmacro RegisterExtensionSection ".wav"\r
261     !insertmacro RegisterExtensionSection ".wma"\r
262   SubSectionEnd\r
263   SubSection "Video Files"\r
264     ; Make sure we have the same list in uninstall\r
265     !insertmacro RegisterExtensionSection ".asf"\r
266     !insertmacro RegisterExtensionSection ".avi"\r
267     !insertmacro RegisterExtensionSection ".divx"\r
268     !insertmacro RegisterExtensionSection ".dv"\r
269     !insertmacro RegisterExtensionSection ".m1v"\r
270     !insertmacro RegisterExtensionSection ".m2v"\r
271     !insertmacro RegisterExtensionSection ".mkv"\r
272     !insertmacro RegisterExtensionSection ".mov"\r
273     !insertmacro RegisterExtensionSection ".mp4"\r
274     !insertmacro RegisterExtensionSection ".mpeg"\r
275     !insertmacro RegisterExtensionSection ".mpeg1"\r
276     !insertmacro RegisterExtensionSection ".mpeg2"\r
277     !insertmacro RegisterExtensionSection ".mpeg4"\r
278     !insertmacro RegisterExtensionSection ".mpg"\r
279     !insertmacro RegisterExtensionSection ".ogm"\r
280     !insertmacro RegisterExtensionSection ".vob"\r
281     !insertmacro RegisterExtensionSection ".wmv"\r
282   SubSectionEnd\r
283   SubSection "Other"\r
284     ; Make sure we have the same list in uninstall\r
285     !insertmacro RegisterExtensionSection ".asx"\r
286     !insertmacro RegisterExtensionSection ".bin"\r
287     !insertmacro RegisterExtensionSection ".cue"\r
288     !insertmacro RegisterExtensionSection ".m3u"\r
289     !insertmacro RegisterExtensionSection ".pls"\r
290     !insertmacro RegisterExtensionSection ".vlc"\r
291   SubSectionEnd\r
292 SubSectionEnd\r
293 \r
294 Section -Post\r
295   WriteUninstaller "$INSTDIR\uninstall.exe"\r
296   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "InstallDir" $INSTDIR\r
297   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "Version" "${VERSION}"\r
298   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\vlc.exe"\r
299 \r
300   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
301     "DisplayName" "$(^Name)"\r
302   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
303     "UninstallString" "$INSTDIR\uninstall.exe"\r
304   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
305     "DisplayIcon" "$INSTDIR\vlc.exe"\r
306   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
307     "DisplayVersion" "${PRODUCT_VERSION}"\r
308   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
309     "URLInfoAbout" "${PRODUCT_WEB_SITE}"\r
310   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \\r
311     "Publisher" "${PRODUCT_PUBLISHER}"\r
312 SectionEnd\r
313 \r
314 ; Section descriptions\r
315 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
316   !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} \\r
317     "The media player itself"\r
318   !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} \\r
319     "Adds icons to your start menu and your desktop for easy access"\r
320   !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} \\r
321     "The VLC Mozilla and Mozilla Firefox plugin"\r
322   !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} \\r
323     "The VLC ActiveX plugin"\r
324   !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} \\r
325     "Sets VLC media player as the default application for the specified file type"\r
326 !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
327 \r
328 \r
329 Function un.onUninstSuccess\r
330   HideWindow\r
331   MessageBox MB_ICONINFORMATION|MB_OK \\r
332     "$(^Name) was successfully removed from your computer."\r
333 FunctionEnd\r
334 \r
335 Function un.onInit\r
336   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \\r
337     "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
338   Abort\r
339 FunctionEnd\r
340 \r
341 Section Uninstall\r
342   SetShellVarContext all\r
343 \r
344   ; Make sure we have the same list in install\r
345   !insertmacro UnRegisterExtensionSection ".a52"\r
346   !insertmacro UnRegisterExtensionSection ".aac"\r
347   !insertmacro UnRegisterExtensionSection ".ac3"\r
348   !insertmacro UnRegisterExtensionSection ".asf"\r
349   !insertmacro UnRegisterExtensionSection ".asx"\r
350   !insertmacro UnRegisterExtensionSection ".avi"\r
351   !insertmacro UnRegisterExtensionSection ".bin"\r
352   !insertmacro UnRegisterExtensionSection ".cue"\r
353   !insertmacro UnRegisterExtensionSection ".divx"\r
354   !insertmacro UnRegisterExtensionSection ".dts"\r
355   !insertmacro UnRegisterExtensionSection ".dv"\r
356   !insertmacro UnRegisterExtensionSection ".flac"\r
357   !insertmacro UnRegisterExtensionSection ".m1v"\r
358   !insertmacro UnRegisterExtensionSection ".m2v"\r
359   !insertmacro UnRegisterExtensionSection ".m3u"\r
360   !insertmacro UnRegisterExtensionSection ".mka"\r
361   !insertmacro UnRegisterExtensionSection ".mkv"\r
362   !insertmacro UnRegisterExtensionSection ".mov"\r
363   !insertmacro UnRegisterExtensionSection ".mp1"\r
364   !insertmacro UnRegisterExtensionSection ".mp2"\r
365   !insertmacro UnRegisterExtensionSection ".mp3"\r
366   !insertmacro UnRegisterExtensionSection ".mp4"\r
367   !insertmacro UnRegisterExtensionSection ".mpeg"\r
368   !insertmacro UnRegisterExtensionSection ".mpeg1"\r
369   !insertmacro UnRegisterExtensionSection ".mpeg2"\r
370   !insertmacro UnRegisterExtensionSection ".mpeg4"\r
371   !insertmacro UnRegisterExtensionSection ".mpg"\r
372   !insertmacro UnRegisterExtensionSection ".ogg"\r
373   !insertmacro UnRegisterExtensionSection ".ogm"\r
374   !insertmacro UnRegisterExtensionSection ".pls"\r
375   !insertmacro UnRegisterExtensionSection ".spx"\r
376   !insertmacro UnRegisterExtensionSection ".vob"\r
377   !insertmacro UnRegisterExtensionSection ".vlc"\r
378   !insertmacro UnRegisterExtensionSection ".wav"\r
379   !insertmacro UnRegisterExtensionSection ".wma"\r
380   !insertmacro UnRegisterExtensionSection ".wmv"\r
381 \r
382   UnRegDLL "$INSTDIR\axvlc.dll"\r
383   Delete /REBOOTOK "$INSTDIR\axvlc.dll"\r
384 \r
385   ;remove mozilla plugin\r
386   Push $R0\r
387   Push $R1\r
388   Push $R2\r
389 \r
390   !define Index 'Line${__LINE__}'\r
391   StrCpy $R1 "0"\r
392 \r
393   "${Index}-Loop:"\r
394 \r
395     ; Check for Key\r
396     EnumRegKey $R0 HKLM "SOFTWARE\Mozilla" "$R1"\r
397     StrCmp $R0 "" "${Index}-End"\r
398     IntOp $R1 $R1 + 1\r
399     ReadRegStr $R2 HKLM "SOFTWARE\Mozilla\$R0\Extensions" "Plugins"\r
400     StrCmp $R2 "" "${Index}-Loop" ""\r
401 \r
402     Delete "$R2\vlcintf.xpt"\r
403     Delete "$R2\npvlc.dll"\r
404     Goto "${Index}-Loop"\r
405 \r
406   "${Index}-End:"\r
407   !undef Index\r
408 \r
409   RMDir "$SMPROGRAMS\VideoLAN"\r
410   RMDir /r $SMPROGRAMS\VideoLAN\r
411   RMDir /r $INSTDIR\r
412   DeleteRegKey HKLM Software\VideoLAN\r
413 \r
414   DeleteRegKey HKCR Applications\vlc.exe\r
415   DeleteRegKey HKCR AudioCD\shell\PlayWithVLC\r
416   DeleteRegKey HKCR DVD\shell\PlayWithVLC\r
417   DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival"\r
418   DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival\r
419   DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "VLCPlayCDAudioOnArrival"\r
420   DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival\r
421   DeleteRegKey HKCR "VLC.MediaFile"\r
422 \r
423   DeleteRegKey HKLM \\r
424     SOFTWARE\MozillaPlugins\@videolan.org/vlc,version=${VERSION}\r
425 \r
426   DeleteRegKey HKLM \\r
427     Software\Microsoft\Windows\CurrentVersion\Uninstall\VideoLAN\r
428 \r
429   Delete "$DESKTOP\VLC media player.lnk"\r
430 \r
431   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
432   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
433   SetAutoClose true\r
434 SectionEnd\r