aboutsummaryrefslogtreecommitdiff
path: root/Src/installer/winamp/sections/grp_walib_pmp.nsh
blob: 51a6720c1cc86281cca2727d835d2614122d8ca6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
SectionGroup $(IDS_GRP_WALIB_PORTABLE) IDX_GRP_WALIB_PORTABLE  ;  Portable Media Player Support
	${WinampSection} "mediaLibraryPortable" $(secPmp) IDX_SEC_ML_PMP                                    ; >>> [pmp main]
		${SECTIONIN_STD}
		SectionGetFlags ${IDX_GRP_WALIB_PORTABLE} $1
		IntOp $1 $1 & 0x0041
		StrCmp $1 "0" done
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\ml_pmp.dll
		File ${FILES_PATH}\Plugins\ml_devices.dll
		SetOutPath $INSTDIR\System
		File ${FILES_PATH}\System\devices.w5s
		; File /nonfatal ${FILES_PATH}\System\devices.wbm
		SetOutPath $INSTDIR\Shared
		File ${FILES_PATH}\Shared\nde.dll
		File ${FILES_PATH}\Shared\nxlite.dll
		File ${FILES_PATH}\Shared\jnetlib.dll
		done:
	${WinampSectionEnd}                                                           ; <<< [pmp main]

	${WinampSection} "portableDeviceIPod" $(secPmpiPod) IDX_SEC_PMP_IPOD                            ; >>> [iPod support]
		${SECTIONIN_STD}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_ipod.dll
		Delete $INSTDIR\Plugins\ml_ipod.dll
	${WinampSectionEnd}                                                          ; <<< [iPod support]

!ifdef full
	${WinampSection} "portableDeviceCreative" $(secPmpCreative) IDX_SEC_PMP_CREATIVE                    ; >>> [Creative]
		${SECTIONIN_FULL}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_njb.dll
	${WinampSectionEnd}                                                          ; <<< [Creative]
!endif

!ifndef WINAMP64
!ifdef full
	${WinampSection} "portableDeviceP4S" $(secPmpP4S) IDX_SEC_PMP_P4S                              ; >>> [PlayForSure]
		${SECTIONIN_FULL}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_p4s.dll
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\MTPMediaPlayerArrival" "${WINAMP}MTPHandler" ""
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "Action" "Open with ${WINAMP}"
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "DefaultIcon" "$INSTDIR\${WINAMPEXE},0"
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "InitCmdLine" "$INSTDIR\${WINAMPEXE}"
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "ProgID" "Shell.HWEventHandlerShellExecute"
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "Provider" "${WINAMP}"
		; required on Win7+
		WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\${WINAMP}MTPHandler" "CLSIDForCancel" "{7DE5C6C7-DAF2-42F9-9324-C8CF4E7E8AC5}"
		WriteRegStr HKEY_CLASSES_ROOT "AppID\{7DE5C6C7-DAF2-42F9-9324-C8CF4E7E8AC5}" "" "${WINAMP}"
		WriteRegStr HKEY_CLASSES_ROOT "AppID\{7DE5C6C7-DAF2-42F9-9324-C8CF4E7E8AC5}" "RunAs" "Interactive User"
		; If no "AccessPermission" & "LaunchPermission" RegStr (REG_BINARY) values exist, then Windows will use default values instead ~ Ref: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms688679%28v%3Dvs.85%29.aspx
	${WinampSectionEnd}                                                      ; <<< [PlayForSure]
!endif
!endif ; WINAMP64

!ifdef full
	${WinampSection} "portableDeviceUsb" $(secPmpUSB) IDX_SEC_PMP_USB                         ; >>> [USB]
		${SECTIONIN_FULL}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_usb.dll
	${WinampSectionEnd}                                                           ; <<< [USB]
!endif
  
!ifdef full
	${WinampSection} "portableDeviceAndroid" $(secPmpAndroid) IDX_SEC_PMP_ANDROID              ; >>> [Android]
		${SECTIONIN_FULL}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_android.dll
	${WinampSectionEnd}                                                           ; <<< [Android]
!endif

	${WinampSection} "portableDeviceWifi" $(secPmpWifi) IDX_SEC_PMP_WIFI                            ; >>> [Wifi support]
		${SECTIONIN_STD}
		SetOutPath $INSTDIR\Shared
		File ${FILES_PATH}\Shared\jnetlib.dll
		SetOutPath $INSTDIR\System
		File ${FILES_PATH}\System\wasabi2.w5s
		SetOutPath $INSTDIR\Components
		File ${FILES_PATH}\Components\ssdp.w6c
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_wifi.dll
		${If} ${FileExists} "$SETTINGSDIR\pmp_wifi.ini"
			Rename "$SETTINGSDIR\pmp_wifi.ini" "$SETTINGSDIR\Plugins\ml\pmp_wifi.ini"
		${EndIf}
	${WinampSectionEnd}                                                          ; <<< [Wifi support]

!ifndef WINAMP64
!ifdef full
	${WinampSection} "portableDeviceActiveSync" $(secPmpActiveSync) IDX_SEC_PMP_ACTIVESYNC                ; >>> [ActiveSync]
		${SECTIONIN_FULL}
		SetOutPath $INSTDIR\Plugins
		File ${FILES_PATH}\Plugins\pmp_activesync.dll
	${WinampSectionEnd}                                                ; <<< [ActiveSync]
!endif
!endif ; WINAMP64
SectionGroupEnd