NSIS: Browse VLC dir, Server icon, misc improvs.

This commit is contained in:
Et0h 2014-06-29 18:18:38 +01:00
parent 59d0284160
commit 87423a8307

View File

@ -41,7 +41,8 @@ NSIS_SCRIPT_TEMPLATE = r"""
VIAddVersionKey /LANG=$${LANG_POLISH} "FileDescription" "Syncplay" VIAddVersionKey /LANG=$${LANG_POLISH} "FileDescription" "Syncplay"
LangString ^Associate $${LANG_ENGLISH} "Associate Syncplay with multimedia files." LangString ^Associate $${LANG_ENGLISH} "Associate Syncplay with multimedia files."
LangString ^VLC $${LANG_ENGLISH} "Install Syncplay interface for VLC (requires VLC 2.x.x)" LangString ^VLC $${LANG_ENGLISH} "Install Syncplay interface for VLC 2 and above"
LangString ^BrowseVLCBtn $${LANG_ENGLISH} "Select VLC folder"
LangString ^Shortcut $${LANG_ENGLISH} "Create Shortcuts in following locations:" LangString ^Shortcut $${LANG_ENGLISH} "Create Shortcuts in following locations:"
LangString ^StartMenu $${LANG_ENGLISH} "Start Menu" LangString ^StartMenu $${LANG_ENGLISH} "Start Menu"
LangString ^Desktop $${LANG_ENGLISH} "Desktop" LangString ^Desktop $${LANG_ENGLISH} "Desktop"
@ -49,7 +50,8 @@ NSIS_SCRIPT_TEMPLATE = r"""
LangString ^UninstConfig $${LANG_ENGLISH} "Delete configuration file." LangString ^UninstConfig $${LANG_ENGLISH} "Delete configuration file."
LangString ^Associate $${LANG_POLISH} "Skojarz Syncplaya z multimediami" LangString ^Associate $${LANG_POLISH} "Skojarz Syncplaya z multimediami"
LangString ^VLC $${LANG_POLISH} "Zainstaluj interface Syncplaya dla VLC(wymaga VLC 2.0.X)" LangString ^VLC $${LANG_POLISH} "Zainstaluj interface Syncplaya dla VLC 2+"
LangString ^BrowseVLCBtn $${LANG_POLISH} "Określ folder VLC"
LangString ^Shortcut $${LANG_POLISH} "Utworz skroty w nastepujacych miejscach:" LangString ^Shortcut $${LANG_POLISH} "Utworz skroty w nastepujacych miejscach:"
LangString ^StartMenu $${LANG_POLISH} "Menu Start" LangString ^StartMenu $${LANG_POLISH} "Menu Start"
LangString ^Desktop $${LANG_POLISH} "Pulpit" LangString ^Desktop $${LANG_POLISH} "Pulpit"
@ -79,6 +81,7 @@ NSIS_SCRIPT_TEMPLATE = r"""
Var CheckBox_DesktopShortcut_State Var CheckBox_DesktopShortcut_State
Var CheckBox_QuickLaunchShortcut_State Var CheckBox_QuickLaunchShortcut_State
Var Button_Browse Var Button_Browse
Var Button_Browse_VLC
Var Directory Var Directory
Var GroupBox_DirSub Var GroupBox_DirSub
Var Label_Text Var Label_Text
@ -130,24 +133,23 @@ NSIS_SCRIPT_TEMPLATE = r"""
;Prevents from running more than one instance of installer and sets default state of checkboxes ;Prevents from running more than one instance of installer and sets default state of checkboxes
Function .onInit Function .onInit
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e' System::Call 'kernel32::CreateMutexA(i 0, i 0, t "SyncplayMutex") i .r1 ?e'
Pop $$R0 Pop $$R0
StrCmp $$R0 0 +3 StrCmp $$R0 0 +3
MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running."
Abort Abort
StrCpy $$CheckBox_Associate_State $${BST_CHECKED} StrCpy $$CheckBox_Associate_State $${BST_CHECKED}
StrCpy $$CheckBox_StartMenuShortcut_State $${BST_CHECKED} StrCpy $$CheckBox_StartMenuShortcut_State $${BST_CHECKED}
ReadRegStr $$VLC_Version HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" "VersionMajor" Call GetVLCDir
$${If} $$VLC_Version == "2" IfFileExists "$$VLC_Directory\vlc.exe" 0 +2
StrCpy $$CheckBox_VLC_State $${BST_CHECKED} StrCpy $$CheckBox_VLC_State $${BST_CHECKED}
$${EndIf}
Call GetSize Call GetSize
Call DriveSpace Call DriveSpace
Call Language Call Language
FunctionEnd FunctionEnd
;Language selection dialog ;Language selection dialog
Function Language Function Language
Push "" Push ""
@ -161,57 +163,61 @@ NSIS_SCRIPT_TEMPLATE = r"""
StrCmp $$LANGUAGE "cancel" 0 +2 StrCmp $$LANGUAGE "cancel" 0 +2
Abort Abort
FunctionEnd FunctionEnd
Function DirectoryCustom Function DirectoryCustom
nsDialogs::Create 1018 nsDialogs::Create 1018
Pop $$Dialog Pop $$Dialog
GetFunctionAddress $$R8 DirectoryCustomLeave GetFunctionAddress $$R8 DirectoryCustomLeave
nsDialogs::OnBack $$R8 nsDialogs::OnBack $$R8
$${NSD_CreateIcon} 0u 0u 22u 20u "" $${NSD_CreateIcon} 0u 0u 22u 20u ""
Pop $$Icon_Syncplay Pop $$Icon_Syncplay
$${NSD_SetIconFromInstaller} $$Icon_Syncplay $$Icon_Syncplay_Handle $${NSD_SetIconFromInstaller} $$Icon_Syncplay $$Icon_Syncplay_Handle
$${NSD_CreateLabel} 25u 0u 241u 34u "$$(^DirText)" $${NSD_CreateLabel} 25u 0u 241u 34u "$$(^DirText)"
Pop $$Label_Text Pop $$Label_Text
$${NSD_CreateText} 8u 38u 187u 12u "$$INSTDIR" $${NSD_CreateText} 8u 38u 187u 12u "$$INSTDIR"
Pop $$Text_Directory Pop $$Text_Directory
$${NSD_SetFocus} $$Text_Directory $${NSD_SetFocus} $$Text_Directory
$${NSD_CreateBrowseButton} 202u 37u 55u 14u "$$(^BrowseBtn)" $${NSD_CreateBrowseButton} 202u 37u 55u 14u "$$(^BrowseBtn)"
Pop $$Button_Browse Pop $$Button_Browse
$${NSD_OnClick} $$Button_Browse DirectoryBrowseDialog $${NSD_OnClick} $$Button_Browse DirectoryBrowseDialog
$${NSD_CreateGroupBox} 1u 27u 264u 30u "$$(^DirSubText)" $${NSD_CreateGroupBox} 1u 27u 264u 30u "$$(^DirSubText)"
Pop $$GroupBox_DirSub Pop $$GroupBox_DirSub
$${NSD_CreateLabel} 0u 111u 265u 8u "$$(^SpaceRequired)$$SizeMB" $${NSD_CreateLabel} 0u 111u 265u 8u "$$(^SpaceRequired)$$SizeMB"
Pop $$Label_Size Pop $$Label_Size
$${NSD_CreateLabel} 0u 122u 265u 8u "$$(^SpaceAvailable)$$AvailibleSpaceGiB.$$AvailibleSpaceGB" $${NSD_CreateLabel} 0u 122u 265u 8u "$$(^SpaceAvailable)$$AvailibleSpaceGiB.$$AvailibleSpaceGB"
Pop $$Label_Space Pop $$Label_Space
$${NSD_CreateCheckBox} 8u 59u 187u 10u "$$(^Associate)" $${NSD_CreateCheckBox} 8u 59u 187u 10u "$$(^Associate)"
Pop $$CheckBox_Associate Pop $$CheckBox_Associate
$${NSD_CreateBrowseButton} 185u 70u 70u 14u "$$(^BrowseVLCBtn)"
Pop $$Button_Browse_VLC
$${NSD_OnClick} $$Button_Browse_VLC DirectoryBrowseDialogVLC
$${NSD_CreateCheckBox} 8u 72u 250u 10u "$$(^VLC)" $${NSD_CreateCheckBox} 8u 72u 250u 10u "$$(^VLC)"
Pop $$CheckBox_VLC Pop $$CheckBox_VLC
$${NSD_CreateLabel} 8u 85u 187u 10u "$$(^Shortcut)" $${NSD_CreateLabel} 8u 85u 187u 10u "$$(^Shortcut)"
Pop $$Label_Shortcut Pop $$Label_Shortcut
$${NSD_CreateCheckbox} 8u 98u 50u 10u "$$(^StartMenu)" $${NSD_CreateCheckbox} 8u 98u 50u 10u "$$(^StartMenu)"
Pop $$CheckBox_StartMenuShortcut Pop $$CheckBox_StartMenuShortcut
$${NSD_CreateCheckbox} 68u 98u 50u 10u "$$(^Desktop)" $${NSD_CreateCheckbox} 68u 98u 50u 10u "$$(^Desktop)"
Pop $$CheckBox_DesktopShortcut Pop $$CheckBox_DesktopShortcut
$${NSD_CreateCheckbox} 128u 98u 150u 10u "$$(^QuickLaunchBar)" $${NSD_CreateCheckbox} 128u 98u 150u 10u "$$(^QuickLaunchBar)"
Pop $$CheckBox_QuickLaunchShortcut Pop $$CheckBox_QuickLaunchShortcut
$${If} $$CheckBox_Associate_State == $${BST_CHECKED} $${If} $$CheckBox_Associate_State == $${BST_CHECKED}
$${NSD_Check} $$CheckBox_Associate $${NSD_Check} $$CheckBox_Associate
$${EndIf} $${EndIf}
@ -219,19 +225,21 @@ NSIS_SCRIPT_TEMPLATE = r"""
$${If} $$CheckBox_VLC_State == $${BST_CHECKED} $${If} $$CheckBox_VLC_State == $${BST_CHECKED}
$${NSD_Check} $$CheckBox_VLC $${NSD_Check} $$CheckBox_VLC
$${EndIf} $${EndIf}
Call UpdateVLCCheckbox
$${If} $$CheckBox_StartMenuShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_StartMenuShortcut_State == $${BST_CHECKED}
$${NSD_Check} $$CheckBox_StartMenuShortcut $${NSD_Check} $$CheckBox_StartMenuShortcut
$${EndIf} $${EndIf}
$${If} $$CheckBox_DesktopShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_DesktopShortcut_State == $${BST_CHECKED}
$${NSD_Check} $$CheckBox_DesktopShortcut $${NSD_Check} $$CheckBox_DesktopShortcut
$${EndIf} $${EndIf}
$${If} $$CheckBox_QuickLaunchShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_QuickLaunchShortcut_State == $${BST_CHECKED}
$${NSD_Check} $$CheckBox_QuickLaunchShortcut $${NSD_Check} $$CheckBox_QuickLaunchShortcut
$${EndIf} $${EndIf}
ReadRegStr $$VLC_Version HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" "VersionMajor" ReadRegStr $$VLC_Version HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" "VersionMajor"
$${If} $$VLC_Version != "2" $${If} $$VLC_Version != "2"
EnableWindow $$CheckBox_VLC 0 EnableWindow $$CheckBox_VLC 0
@ -241,7 +249,7 @@ NSIS_SCRIPT_TEMPLATE = r"""
$${NSD_FreeIcon} $$Icon_Syncplay_Handle $${NSD_FreeIcon} $$Icon_Syncplay_Handle
FunctionEnd FunctionEnd
Function DirectoryCustomLeave Function DirectoryCustomLeave
$${NSD_GetText} $$Text_Directory $$INSTDIR $${NSD_GetText} $$Text_Directory $$INSTDIR
$${NSD_GetState} $$CheckBox_Associate $$CheckBox_Associate_State $${NSD_GetState} $$CheckBox_Associate $$CheckBox_Associate_State
@ -250,9 +258,9 @@ NSIS_SCRIPT_TEMPLATE = r"""
$${NSD_GetState} $$CheckBox_DesktopShortcut $$CheckBox_DesktopShortcut_State $${NSD_GetState} $$CheckBox_DesktopShortcut $$CheckBox_DesktopShortcut_State
$${NSD_GetState} $$CheckBox_QuickLaunchShortcut $$CheckBox_QuickLaunchShortcut_State $${NSD_GetState} $$CheckBox_QuickLaunchShortcut $$CheckBox_QuickLaunchShortcut_State
FunctionEnd FunctionEnd
Function DirectoryBrowseDialog Function DirectoryBrowseDialog
nsDialogs::SelectFolderDialog $$(^DirBrowseText) nsDialogs::SelectFolderDialog $$(^DirBrowseText)
Pop $$Directory Pop $$Directory
$${If} $$Directory != error $${If} $$Directory != error
StrCpy $$INSTDIR $$Directory StrCpy $$INSTDIR $$Directory
@ -262,14 +270,53 @@ NSIS_SCRIPT_TEMPLATE = r"""
$${EndIf} $${EndIf}
Abort Abort
FunctionEnd FunctionEnd
Function GetVLCDir
IfFileExists "$$VLC_Directory\vlc.exe" VLCFound 0
ReadRegStr $$VLC_Directory HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "VLCInstallLocation"
IfFileExists "$$VLC_Directory\vlc.exe" VLCFound 0
ReadRegStr $$VLC_Directory HKLM "Software\VideoLAN\VLC" "InstallDir"
IfFileExists "$$VLC_Directory\vlc.exe" VLCFound 0
StrCpy $$VLC_Directory "c:\program files (x86)\videolan\vlc"
IfFileExists "$$VLC_Directory\vlc.exe" VLCFound 0
StrCpy $$VLC_Directory "c:\program files\videolan\vlc"
IfFileExists "$$VLC_Directory\vlc.exe" VLCFound 0
StrCpy $$VLC_Directory ""
VLCFound:
FunctionEnd
Function UpdateVLCCheckbox
IfFileExists "$$VLC_Directory\vlc.exe" VLC_Enabled VLC_Disabled
VLC_Enabled:
EnableWindow $$CheckBox_VLC 1
;StrCpy $$CheckBox_VLC_State $${BST_CHECKED}
goto CheckboxUpdated
VLC_Disabled:
EnableWindow $$CheckBox_VLC 0
;StrCpy $$CheckBox_VLC_State $${BST_UNCHECKED}
CheckboxUpdated:
FunctionEnd
Function DirectoryBrowseDialogVLC
nsDialogs::SelectFolderDialog $$(^BrowseVLCBtn) $$VLC_Directory
Pop $$Directory
$${If} $$Directory != error
StrCpy $$VLC_Directory $$Directory
Call UpdateVLCCheckbox
$${EndIf}
Abort
FunctionEnd
Function GetSize Function GetSize
StrCpy $$Size "$totalSize" StrCpy $$Size "$totalSize"
IntOp $$Size $$Size / 1024 IntOp $$Size $$Size / 1024
IntFmt $$SizeHex "0x%08X" $$Size IntFmt $$SizeHex "0x%08X" $$Size
IntOp $$Size $$Size / 1024 IntOp $$Size $$Size / 1024
FunctionEnd FunctionEnd
;Calculates Free Space on HDD ;Calculates Free Space on HDD
Function DriveSpace Function DriveSpace
StrCpy $$Drive $$INSTDIR 1 StrCpy $$Drive $$INSTDIR 1
@ -278,35 +325,37 @@ NSIS_SCRIPT_TEMPLATE = r"""
IntOp $$AvailibleSpace $$AvailibleSpace % 1024 IntOp $$AvailibleSpace $$AvailibleSpace % 1024
IntOp $$AvailibleSpace $$AvailibleSpace / 102 IntOp $$AvailibleSpace $$AvailibleSpace / 102
FunctionEnd FunctionEnd
Function InstallOptions Function InstallOptions
$${If} $$CheckBox_Associate_State == $${BST_CHECKED} $${If} $$CheckBox_Associate_State == $${BST_CHECKED}
Call Associate Call Associate
DetailPrint "Associated Syncplay with multimedia files" DetailPrint "Associated Syncplay with multimedia files"
$${EndIf} $${EndIf}
$${If} $$CheckBox_StartMenuShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_StartMenuShortcut_State == $${BST_CHECKED}
CreateDirectory $$SMPROGRAMS\Syncplay CreateDirectory $$SMPROGRAMS\Syncplay
CreateShortCut "$$SMPROGRAMS\Syncplay\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" "" CreateShortCut "$$SMPROGRAMS\Syncplay\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" ""
CreateShortCut "$$SMPROGRAMS\Syncplay\Syncplay Server.lnk" "$$INSTDIR\syncplayServer.exe" ""
CreateShortCut "$$SMPROGRAMS\Syncplay\Uninstall.lnk" "$$INSTDIR\Uninstall.exe" "" CreateShortCut "$$SMPROGRAMS\Syncplay\Uninstall.lnk" "$$INSTDIR\Uninstall.exe" ""
WriteINIStr "$$SMPROGRAMS\Syncplay\SyncplayWebsite.url" "InternetShortcut" "URL" "http://syncplay.pl" WriteINIStr "$$SMPROGRAMS\Syncplay\SyncplayWebsite.url" "InternetShortcut" "URL" "http://syncplay.pl"
$${EndIf} $${EndIf}
$${If} $$CheckBox_DesktopShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_DesktopShortcut_State == $${BST_CHECKED}
CreateShortCut "$$DESKTOP\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" "" CreateShortCut "$$DESKTOP\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" ""
$${EndIf} $${EndIf}
$${If} $$CheckBox_QuickLaunchShortcut_State == $${BST_CHECKED} $${If} $$CheckBox_QuickLaunchShortcut_State == $${BST_CHECKED}
CreateShortCut "$$QUICKLAUNCH\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" "" CreateShortCut "$$QUICKLAUNCH\Syncplay.lnk" "$$INSTDIR\Syncplay.exe" ""
$${EndIf} $${EndIf}
$${If} $$CheckBox_VLC_State == $${BST_CHECKED} $${If} $$CheckBox_VLC_State == $${BST_CHECKED}
ReadRegStr $$VLC_Directory HKLM "Software\VideoLAN\VLC" "InstallDir" IfFileExists "$$VLC_Directory\vlc.exe" 0 EndOfVLC
SetOutPath $$VLC_Directory\lua\intf SetOutPath $$VLC_Directory\lua\intf
File resources\lua\intf\syncplay.lua File resources\lua\intf\syncplay.lua
EndOfVLC:
$${EndIf} $${EndIf}
FunctionEnd FunctionEnd
;Associates extensions with Syncplay ;Associates extensions with Syncplay
Function Associate Function Associate
!insertmacro ASSOCIATE avi !insertmacro ASSOCIATE avi
@ -334,12 +383,13 @@ NSIS_SCRIPT_TEMPLATE = r"""
!insertmacro ASSOCIATE divx !insertmacro ASSOCIATE divx
!insertmacro ASSOCIATE amv !insertmacro ASSOCIATE amv
FunctionEnd FunctionEnd
Function WriteRegistry Function WriteRegistry
Call GetSize Call GetSize
WriteRegStr HKLM SOFTWARE\Syncplay "Install_Dir" "$$INSTDIR" WriteRegStr HKLM SOFTWARE\Syncplay "Install_Dir" "$$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "DisplayName" "Syncplay" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "DisplayName" "Syncplay"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "InstallLocation" "$$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "InstallLocation" "$$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "VLCInstallLocation" "$$VLC_Directory"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "UninstallString" '"$$INSTDIR\uninstall.exe"' WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "UninstallString" '"$$INSTDIR\uninstall.exe"'
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "DisplayIcon" "$$INSTDIR\resources\icon.ico" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "DisplayIcon" "$$INSTDIR\resources\icon.ico"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "Publisher" "Syncplay" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "Publisher" "Syncplay"
@ -349,38 +399,38 @@ NSIS_SCRIPT_TEMPLATE = r"""
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "NoRepair" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "NoRepair" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "EstimatedSize" "$$SizeHex" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "EstimatedSize" "$$SizeHex"
FunctionEnd FunctionEnd
Function un.installConfirm Function un.installConfirm
nsDialogs::Create 1018 nsDialogs::Create 1018
Pop $$Uninst_Dialog Pop $$Uninst_Dialog
$${NSD_CreateIcon} 0u 1u 22u 20u "" $${NSD_CreateIcon} 0u 1u 22u 20u ""
Pop $$Uninst_Icon Pop $$Uninst_Icon
$${NSD_SetIconFromInstaller} $$Uninst_Icon $$Uninst_Icon_Handle $${NSD_SetIconFromInstaller} $$Uninst_Icon $$Uninst_Icon_Handle
$${NSD_CreateLabel} 0u 45u 55u 8u "$$(^UninstallingSubText)" $${NSD_CreateLabel} 0u 45u 55u 8u "$$(^UninstallingSubText)"
Pop $$Uninst_Label_Directory Pop $$Uninst_Label_Directory
$${NSD_CreateLabel} 25u 0u 241u 34u "$$(^UninstallingText)" $${NSD_CreateLabel} 25u 0u 241u 34u "$$(^UninstallingText)"
Pop $$Uninst_Label_Text Pop $$Uninst_Label_Text
ReadRegStr $$INSTDIR HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "InstallLocation" ReadRegStr $$INSTDIR HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "InstallLocation"
$${NSD_CreateText} 56u 43u 209u 12u "$$INSTDIR" $${NSD_CreateText} 56u 43u 209u 12u "$$INSTDIR"
Pop $$Uninst_Text_Directory Pop $$Uninst_Text_Directory
EnableWindow $$Uninst_Text_Directory 0 EnableWindow $$Uninst_Text_Directory 0
$${NSD_CreateCheckBox} 0u 60u 250u 10u "$$(^UninstConfig)" $${NSD_CreateCheckBox} 0u 60u 250u 10u "$$(^UninstConfig)"
Pop $$Uninst_CheckBox_Config Pop $$Uninst_CheckBox_Config
nsDialogs::Show nsDialogs::Show
$${NSD_FreeIcon} $$Uninst_Icon_Handle $${NSD_FreeIcon} $$Uninst_Icon_Handle
FunctionEnd FunctionEnd
Function un.installConfirmLeave Function un.installConfirmLeave
$${NSD_GetState} $$Uninst_CheckBox_Config $$Uninst_CheckBox_Config_State $${NSD_GetState} $$Uninst_CheckBox_Config $$Uninst_CheckBox_Config_State
FunctionEnd FunctionEnd
Function un.AssociateDel Function un.AssociateDel
!insertmacro UNASSOCIATE avi !insertmacro UNASSOCIATE avi
!insertmacro UNASSOCIATE mpg !insertmacro UNASSOCIATE mpg
@ -405,17 +455,19 @@ NSIS_SCRIPT_TEMPLATE = r"""
!insertmacro UNASSOCIATE swf !insertmacro UNASSOCIATE swf
!insertmacro UNASSOCIATE rmvb !insertmacro UNASSOCIATE rmvb
!insertmacro UNASSOCIATE divx !insertmacro UNASSOCIATE divx
!insertmacro UNASSOCIATE amv !insertmacro UNASSOCIATE amv
FunctionEnd FunctionEnd
Function un.InstallOptions Function un.InstallOptions
Delete $$SMPROGRAMS\Syncplay\Syncplay.lnk Delete $$SMPROGRAMS\Syncplay\Syncplay.lnk
Delete "$$SMPROGRAMS\Syncplay\Syncplay Server.lnk"
Delete $$SMPROGRAMS\Syncplay\Uninstall.lnk Delete $$SMPROGRAMS\Syncplay\Uninstall.lnk
Delete $$SMPROGRAMS\Syncplay\SyncplayWebsite.url Delete $$SMPROGRAMS\Syncplay\SyncplayWebsite.url
RMDir $$SMPROGRAMS\Syncplay RMDir $$SMPROGRAMS\Syncplay
Delete $$DESKTOP\Syncplay.lnk Delete $$DESKTOP\Syncplay.lnk
Delete $$QUICKLAUNCH\Syncplay.lnk Delete $$QUICKLAUNCH\Syncplay.lnk
ReadRegStr $$VLC_Directory HKLM "Software\VideoLAN\VLC" "InstallDir" ReadRegStr $$VLC_Directory HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" "VLCInstallLocation"
IfFileExists "$$VLC_Directory\lua\intf\syncplay.lua" 0 +2
Delete $$VLC_Directory\lua\intf\syncplay.lua Delete $$VLC_Directory\lua\intf\syncplay.lua
FunctionEnd FunctionEnd
@ -437,12 +489,18 @@ NSIS_SCRIPT_TEMPLATE = r"""
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Syncplay"
DeleteRegKey HKLM SOFTWARE\Syncplay DeleteRegKey HKLM SOFTWARE\Syncplay
Delete $$INSTDIR\uninstall.exe Delete $$INSTDIR\uninstall.exe
RMDir $$INSTDIR\Syncplay\\resources\lua\intf
RMDir $$INSTDIR\Syncplay\\resources\lua
RMDir $$INSTDIR\Syncplay\\resources
RMDir $$INSTDIR\resources RMDir $$INSTDIR\resources
RMDir $$INSTDIR\lib RMDir $$INSTDIR\lib
RMDir $$INSTDIR RMDir $$INSTDIR
$${If} $$Uninst_CheckBox_Config_State == $${BST_CHECKED} $${If} $$Uninst_CheckBox_Config_State == $${BST_CHECKED}
IfFileExists "$$APPDATA\.syncplay" 0 +2
Delete $$APPDATA\.syncplay Delete $$APPDATA\.syncplay
IfFileExists "$$APPDATA\syncplay.ini" 0 +2
Delete $$APPDATA\syncplay.ini
$${EndIf} $${EndIf}
SectionEnd SectionEnd
""" """
@ -527,7 +585,7 @@ common_info = dict(
name='Syncplay', name='Syncplay',
version=syncplay.version, version=syncplay.version,
author='Uriziel', author='Uriziel',
author_email='urizieli@gmail.com', author_email='dev@syncplay.pl',
description='Syncplay', description='Syncplay',
) )