Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64
User : User ( 0)
PHP Version : 7.4.6
Disable Function : NONE
Directory :  C:/xampp/FileZillaFTP/source/install/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : C:/xampp/FileZillaFTP/source/install/FileZilla Server.nsi
;FileZilla Server Setup script
;written by Tim Kosse (Tim.Kosse@gmx.de)
;Based on
;NSIS Modern User Interface version 1.6
;Basic Example Script
;Written by Joost Verburg

;Set compressor before outputting anything
SetCompressor /SOLID LZMA

;--------------------------------
;Include Modern UI

  !include "MUI.nsh"

;--------------------------------
;Product Info

  !define PRODUCT_NAME    "FileZilla Server"
  !define VERSION_MAJOR   "0"
  !define VERSION_MINOR   "9"
  !define VERSION_MICRO   "40"
  !define VERSION_NANO    "0"
  !define PRODUCT_VERSION "beta ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}"
  !define VERSION_FULL    "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}.${VERSION_NANO}"
  !define PUBLISHER       "FileZilla Project"
  !define WEBSITE_URL     "http://filezilla-project.org/"
  !define PRODUCT_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"

;--------------------------------
;Installer's VersionInfo

  VIProductVersion                   "${VERSION_FULL}"
  VIAddVersionKey "CompanyName"      "${PUBLISHER}"
  VIAddVersionKey "ProductName"      "${PRODUCT_NAME}" 
  VIAddVersionKey "ProductVersion"   "${PRODUCT_VERSION}"
  VIAddVersionKey "FileDescription"  "${PRODUCT_NAME}"
  VIAddVersionKey "FileVersion"      "${PRODUCT_VERSION}"
  VIAddVersionKey "LegalCopyright"   "${PUBLISHER}"
  VIAddVersionKey "OriginalFilename" "FileZilla_Server-${VERSION_MAJOR}_${VERSION_MINOR}_${VERSION_MICRO}.exe"

;StartOptions Page strings
LangString StartOptionsTitle ${LANG_ENGLISH} ": Server startup settings"

;--------------------------------
;Modern UI Configuration

  !define MUI_ABORTWARNING

  !define MUI_ICON "..\res\filezilla server.ico"
  !define MUI_UNICON "uninstall.ico"

;--------------------------------
;Pages

  !insertmacro MUI_PAGE_LICENSE "..\..\license.txt"
  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_DIRECTORY
  Page custom StartOptions
  Page custom InterfaceOptions
  !insertmacro MUI_PAGE_INSTFILES

  !insertmacro MUI_UNPAGE_CONFIRM
  !insertmacro MUI_UNPAGE_INSTFILES

;--------------------------------
;Languages

  !insertmacro MUI_LANGUAGE "English"

;--------------------------------
;More

  ;General
  OutFile "../../FileZilla_Server-${VERSION_MAJOR}_${VERSION_MINOR}_${VERSION_MICRO}.exe"

  ;Installation types
  InstType "Standard"
  InstType "Full"
  InstType "Service only"
  InstType "Interface only"

  ;Descriptions
  LangString DESC_SecFileZillaServer ${LANG_ENGLISH} "Copy FileZilla Server to the application folder."
  LangString DESC_SecFileZillaServerInterface ${LANG_ENGLISH} "Copy the administration interface to the application folder."
  LangString DESC_SecSourceCode ${LANG_ENGLISH} "Copy the source code of FileZilla Server to the application folder"
  LangString DESC_SecStartMenu ${LANG_ENGLISH} "Create shortcuts to FileZilla Server in the Start Menu"
  LangString DESC_SecDesktopIcon ${LANG_ENGLISH} "Create an Icon on the desktop for quick access to the administration interface"

  ;Folder-selection page
  InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
  InstallDirRegKey HKLM "${PRODUCT_UNINSTALL}" "UninstallString"

  ShowInstDetails show

  RequestExecutionLevel admin

;--------------------------------
;Reserve Files

  ;Things that need to be extracted on first (keep these lines before any File command!)
  ;Only useful for BZIP2 compression

  ReserveFile "StartupOptions.ini"
  ReserveFile "InterfaceOptions.ini"
  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

;--------------------------------
;Installer Sections

Var GetInstalledSize.total

Section "-default files"
  SectionIn 1 2 3 4

  ; Set output path to the installation directory.
  SetOutPath $INSTDIR

  ; Put file there
  File "libeay32.dll"
  File "ssleay32.dll"
  File "..\..\readme.htm"
  File "..\..\legal.htm"
  File "..\..\license.txt"

  ; Write the uninstall keys for Windows
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "DisplayName"     "FileZilla Server"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "DisplayIcon"     "$INSTDIR\FileZilla server.exe"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "DisplayVersion"  "${PRODUCT_VERSION}"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "HelpLink"        "${WEBSITE_URL}"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "InstallLocation" "$INSTDIR"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "URLInfoAbout"    "${WEBSITE_URL}"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "URLUpdateInfo"   "${WEBSITE_URL}"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "UninstallString" "$INSTDIR\uninstall.exe"
  WriteRegStr   HKLM "${PRODUCT_UNINSTALL}" "Publisher"       "${PUBLISHER}"
  WriteRegDWORD HKLM "${PRODUCT_UNINSTALL}" "VersionMajor"    "${VERSION_MAJOR}"
  WriteRegDWORD HKLM "${PRODUCT_UNINSTALL}" "VersionMinor"    "${VERSION_MINOR}"
  WriteRegDWORD HKLM "${PRODUCT_UNINSTALL}" "NoModify"        "1"
  WriteRegDWORD HKLM "${PRODUCT_UNINSTALL}" "NoRepair"        "1"

  Call GetInstalledSize
  WriteRegDWORD HKLM "${PRODUCT_UNINSTALL}" "EstimatedSize"  "$GetInstalledSize.total" ; Create/Write the reg key with the dword value

  WriteUninstaller "$INSTDIR\Uninstall.exe"

SectionEnd

Section "FileZilla Server (Service)" SecFileZillaServer
  SectionIn 1 2 3
  ; Set output path to the installation directory.
  SetOutPath $INSTDIR

  IfFileExists "$INSTDIR\FileZilla Server.exe" found

  File "..\Release\FileZilla Server.exe"

  DetailPrint "Stopping service..."
  ExecWait '"$INSTDIR\FileZilla Server.exe" /stop'
  ExecWait '"$INSTDIR\FileZilla Server.exe" /compat /stop'
  Sleep 500
  Push "FileZilla Server Helper Window"
  call CloseWindowByName
  DetailPrint "Uninstalling service..."
  ExecWait '"$INSTDIR\FileZilla Server.exe" /uninstall'
  Sleep 500
  DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "${PRODUCT_NAME}"
  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${PRODUCT_NAME}"
  goto copy_main_done
 found:
  GetTempFileName $R1
  File /oname=$R1 "..\Release\FileZilla Server.exe"
  DetailPrint "Stopping service..."
  ExecWait '"$R1" /stop'
  ExecWait '"$R1" /compat /stop'
  Sleep 500
  Push "FileZilla Server Helper Window"
  call CloseWindowByName
  DetailPrint "Uninstalling service..."
  ExecWait '"$R1" /uninstall'
  Sleep 500
  DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "${PRODUCT_NAME}"
  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${PRODUCT_NAME}"
  Delete "$INSTDIR\FileZilla Server.exe"
  Rename $R1 "$INSTDIR\FileZilla Server.exe"
 copy_main_done:

  ; Put file there
  File "..\GFtp\Release\FzGss.dll"
SectionEnd

Section "Administration interface" SecFileZillaServerInterface
  SectionIn 1 2 4

  ; Set output path to the installation directory.
  SetOutPath $INSTDIR

  ; Stopping interface
  DetailPrint "Closing interface..."
  Push "FileZilla Server Main Window"
  Call CloseWindowByName

  File "..\Interface\Release\FileZilla Server Interface.exe"

SectionEnd

Section "Source Code" SecSourceCode
SectionIn 2
  SetOutPath "$INSTDIR\source"
  File "..\*.cpp"
  File "..\*.h"
  File "..\FileZilla Server.sln"
  File "..\FileZilla Server.vcproj"
  File "..\FileZilla Server.rc"
  SetOutPath "$INSTDIR\source\res"
  File "..\res\*.ico"
  SetOutPath "$INSTDIR\source\misc"
  File "..\misc\*.h"
  File "..\misc\*.cpp"
  SetOutPath "$INSTDIR\source\hash_algorithms"
  File "..\hash_algorithms\*.h"
  File "..\hash_algorithms\*.c"
  SetOutPath "$INSTDIR\source\interface"
  File "..\interface\*.cpp"
  File "..\interface\*.h"
  File "..\interface\FileZilla Server Interface.vcproj"
  File "..\interface\FileZilla Server.rc"
  SetOutPath "$INSTDIR\source\interface\res"
  File "..\interface\res\*.bmp"
  File "..\interface\res\*.ico"
  File "..\interface\res\*.rc2"
  File "..\interface\res\manifest.xml"
  SetOutPath "$INSTDIR\source\interface\misc"
  File "..\interface\misc\*.h"
  File "..\interface\misc\*.cpp"
  SetOutPath "$INSTDIR\source\install"
  File "FileZilla Server.nsi"
  File "StartupOptions.ini"
  File "InterfaceOptions.ini"
  File "uninstall.ico"
  SetOutPath "$INSTDIR\source\includes\openssl"
  File "..\includes\openssl\*.h"
  SetOutPath "$INSTDIR\source\tinyxml"
  File "..\tinyxml\*.h"
  File "..\tinyxml\*.cpp"
SectionEnd

; optional section
Section "Start Menu Shortcuts" SecStartMenu
SectionIn 1 2 3 4
  SetShellVarContext all

  CreateDirectory "$SMPROGRAMS\FileZilla Server"
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0

  SectionGetFlags 1 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 done_service_startmenu

  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "StartupOptions.ini" "Field 2" "State"
  StrCmp $R0 "Do not install as service, start server automatically (not recommended)" shortcutcompat

  ;NT service shortcuts
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Start FileZilla Server.lnk" "$INSTDIR\FileZilla Server.exe" "/start" "$INSTDIR\FileZilla Server.exe" 0
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Stop FileZilla Server.lnk" "$INSTDIR\FileZilla Server.exe" "/stop" "$INSTDIR\FileZilla Server.exe" 0
  goto done_service_startmenu
 shortcutcompat:
  ;Compat mode
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Start FileZilla Server.lnk" "$INSTDIR\FileZilla Server.exe" "/compat /start" "$INSTDIR\FileZilla Server.exe" 0
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Stop FileZilla Server.lnk" "$INSTDIR\FileZilla Server.exe" "/compat /stop" "$INSTDIR\FileZilla Server.exe" 0

 done_service_startmenu:

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 done_interface_startmenu

  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\FileZilla Server Interface.lnk" "$INSTDIR\FileZilla Server Interface.exe" "" "$INSTDIR\FileZilla Server Interface.exe" 0

 done_interface_startmenu:

  SectionGetFlags 3 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 done_source_startmenu

  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\FileZilla Server Source Project.lnk" "$INSTDIR\source\FileZilla Server.sln" "" "$INSTDIR\source\FileZilla Server.sln" 0

 done_source_startmenu:

SectionEnd

Section "Desktop Icon" SecDesktopIcon
SectionIn 1 2 4

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 noDesktopIcon

  CreateShortCut "$DESKTOP\FileZilla Server Interface.lnk" "$INSTDIR\FileZilla Server Interface.exe" "" "$INSTDIR\FileZilla Server Interface.exe" 0

 noDesktopIcon:

SectionEnd

Section "-PostInst"

  ; Write the installation path into the registry
  WriteRegStr HKCU "SOFTWARE\${PRODUCT_NAME}" "Install_Dir" "$INSTDIR"
  WriteRegStr HKLM "SOFTWARE\${PRODUCT_NAME}" "Install_Dir" "$INSTDIR"

  SectionGetFlags 1 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 NoSetAdminPort

  ;Set Adminport
  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "StartupOptions.ini" "Field 4" "State"
  ExecWait '"$INSTDIR\FileZilla Server.exe" /adminport $R0'

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 NoSetAdminPort

  ExecWait '"$INSTDIR\FileZilla Server Interface.exe" /adminport $R0'
 NoSetAdminPort:

  SectionGetFlags 1 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 done

  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "StartupOptions.ini" "Field 2" "State"
  StrCmp $R0 "Do not install as service, start server automatically (not recommended)" Install_Standard_Auto
  DetailPrint "Installing Service..."
  StrCmp $R0 "Install as service, started manually" Install_AsService_Manual

  ExecWait '"$INSTDIR\FileZilla Server.exe" /install auto'
  goto done
 Install_AsService_Manual:
  ExecWait '"$INSTDIR\FileZilla Server.exe" /install'
  goto done
 Install_Standard_Auto:
  DetailPrint "Put FileZilla Server into registry..."
  ClearErrors
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server" '"$INSTDIR\FileZilla Server.exe" /compat /start'
  IfErrors Install_Standard_Auto_CU
  goto done
 Install_Standard_Auto_CU:
  WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server" '"$INSTDIR\FileZilla Server.exe" /compat /start'
 done:

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 interface_done

  ;Write interface startup settings
  !insertmacro MUI_INSTALLOPTIONS_READ $R0 $3 "Field 2" "State"
  StrCmp $R0 "Start manually" interface_done
  DetailPrint "Put FileZilla Server Interface into registry..."
  StrCmp $R0 "Start if user logs on, apply only to current user" interface_cu
  ClearErrors
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server Interface" '"$INSTDIR\FileZilla Server Interface.exe"'
  IfErrors interface_cu
  goto interface_done
 interface_cu:
  WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server Interface" '"$INSTDIR\FileZilla Server Interface.exe"'
 interface_done:

SectionEnd

;--------------------------------
;Descriptions

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  !insertmacro MUI_DESCRIPTION_TEXT ${SecFileZillaServer} $(DESC_SecFileZillaServer)
  !insertmacro MUI_DESCRIPTION_TEXT ${SecFileZillaServerInterface} $(DESC_SecFileZillaServerInterface)
  !insertmacro MUI_DESCRIPTION_TEXT ${SecSourceCode} $(DESC_SecSourceCode)
  !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_SecStartMenu)
  !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(DESC_SecDesktopIcon)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

;--------------------------------
;Installer Functions

Function .onInit

  ;Detect Windows type (NT or 9x)

  ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
  StrCmp $R0 "" 0 detection_NT

  ; we are not NT.
  MessageBox MB_OK|MB_ICONSTOP "FileZilla Server does not support Windows 95/98/ME"
  Abort
  
 detection_NT:

  ;Extract InstallOptions INI Files
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "StartupOptions.ini"

  ;Extract InstallOptions INI Files
  !insertmacro MUI_INSTALLOPTIONS_EXTRACT "InterfaceOptions.ini"
  strcpy $3 "InterfaceOptions.ini"

FunctionEnd

LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Startup settings"
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Select startup behaviour for FileZilla Server"

Function StartOptions

  IfSilent DoneServerStartOptions

  SectionGetFlags 1 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 DoneServerStartOptions

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 1 ChangeNextTextToNext
  !insertmacro MUI_INSTALLOPTIONS_WRITE "StartupOptions.ini" "Settings" "NextButtonText" "&Install"
  goto DoneChangeNextText
 ChangeNextTextToNext:
  !insertmacro MUI_INSTALLOPTIONS_WRITE "StartupOptions.ini" "Settings" "NextButtonText" "&Next"
 DoneChangeNextText:


  !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "StartupOptions.ini"

 DoneServerStartOptions:

FunctionEnd

Function InterfaceOptions

  IfSilent DoneInterfaceStartOptions

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 DoneInterfaceStartOptions

  !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "InterfaceOptions.ini"

 DoneInterfaceStartOptions:

FunctionEnd

Function .onInstSuccess

  SectionGetFlags 1 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 startserverend

 !insertmacro MUI_INSTALLOPTIONS_READ $R0 "StartupOptions.ini" "Field 5" "State"

  strcmp $R0 "0" startserverend

  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "StartupOptions.ini" "Field 2" "State"
  StrCmp $R0 "Do not install as service, start server automatically (not recommended)" startservercompat

  Exec '"$INSTDIR\FileZilla Server.exe" /start'
  goto startserverend
 startservercompat:
  Exec '"$INSTDIR\FileZilla Server.exe" /compat /start'
 startserverend:

  SectionGetFlags 2 $R0
  IntOp $R0 $R0 & 1
  IntCmp $R0 0 NoStartInterface

  !insertmacro MUI_INSTALLOPTIONS_READ $R0 $3 "Field 3" "State"
  strcmp $R0 "0" NoStartInterface
  Exec '"$INSTDIR\FileZilla Server Interface.exe"'
 NoStartInterface:
FunctionEnd

Function CloseWindowByName
  Exch $R1
 closewindow_start:
  FindWindow $R0 $R1
  strcmp $R0 0 closewindow_end
  SendMessage $R0 ${WM_CLOSE} 0 0
  Sleep 500
  goto closewindow_start
 closewindow_end:
  Pop $R1
FunctionEnd

Var prevSel
Function .onSelChange

  SectionGetFlags 1 $R0
  SectionGetFlags 2 $R1

  IntOp $R2 $R0 & 1
  IntOp $R2 $R2 | $prevSel
  IntCmp $R2 1 +2
    IntOp $R1 $R1 | 1

  IntOp $R2 $R1 & 1
  IntCmp $R2 1 +2
    IntOp $R0 $R0 | 1

  SectionSetFlags 1 $R0
  SectionSetFlags 2 $R1

  IntOp $prevSel $R1 & 1

FunctionEnd

Function GetInstalledSize
  Push $0
  Push $1
  StrCpy $GetInstalledSize.total 0
  ${ForEach} $1 0 256 + 1
    ${if} ${SectionIsSelected} $1
      SectionGetSize $1 $0
      IntOp $GetInstalledSize.total $GetInstalledSize.total + $0
    ${Endif}
  ${Next}
  Pop $1
  Pop $0
  IntFmt $GetInstalledSize.total "0x%08X" $GetInstalledSize.total
  Push $GetInstalledSize.total
FunctionEnd

;--------------------------------
;Uninstaller Section

Section "Uninstall"
  SetShellvarContext all

  ; Stopping and uninstalling service
  DetailPrint "Stopping service..."
  ExecWait '"$INSTDIR\FileZilla Server.exe" /stop'
  Sleep 500
  Push "FileZilla Server Helper Window"
  Call un.CloseWindowByName
  DetailPrint "Uninstalling service..."
  ExecWait '"$INSTDIR\FileZilla Server.exe" /uninstall'
  Sleep 500

  ; Stopping interface
  DetailPrint "Closing interface..."
  Push "FileZilla Server Main Window"
  Call un.CloseWindowByName

  ; remove registry keys
  DeleteRegValue HKCU "Software\${PRODUCT_NAME}" "Install_Dir"
  DeleteRegValue HKLM "Software\${PRODUCT_NAME}" "Install_Dir"
  DeleteRegKey /ifempty HKCU "Software\${PRODUCT_NAME}"
  DeleteRegKey /ifempty HKLM "Software\${PRODUCT_NAME}"
  MessageBox MB_YESNO "Delete settings?" IDNO NoSettingsDelete
  Delete "$INSTDIR\FileZilla Server.xml"
  Delete "$INSTDIR\FileZilla Server Interface.xml"
 NoSettingsDelete:
  DeleteRegKey HKLM "${PRODUCT_UNINSTALL}"
  ; remove files
  Delete "$INSTDIR\FileZilla Server.exe"
  Delete "$INSTDIR\FileZilla Server Interface.exe"
  Delete "$INSTDIR\ssleay32.dll"
  Delete "$INSTDIR\libeay32.dll"
  Delete $INSTDIR\FzGss.dll
  Delete $INSTDIR\license.txt
  Delete $INSTDIR\readme.htm
  Delete $INSTDIR\legal.htm
  Delete $INSTDIR\source\*.cpp
  Delete $INSTDIR\source\*.h
  Delete "$INSTDIR\source\FileZilla Server.sln"
  Delete "$INSTDIR\source\FileZilla Server.vcproj"
  Delete "$INSTDIR\source\FileZilla Server.rc"
  Delete $INSTDIR\source\res\*.ico
  Delete $INSTDIR\source\res\*.bmp
  Delete $INSTDIR\source\res\*.rc2
  Delete $INSTDIR\source\misc\*.h
  Delete $INSTDIR\source\misc\*.cpp
  Delete $INSTDIR\source\hash_algorithms\*.h
  Delete $INSTDIR\source\hash_algorithms\*.c
  Delete $INSTDIR\source\interface\*.cpp
  Delete $INSTDIR\source\interface\*.h
  Delete "$INSTDIR\source\interface\FileZilla Server Interface.vcproj"
  Delete "$INSTDIR\source\interface\FileZilla Server.rc"
  Delete $INSTDIR\source\interface\res\*.ico
  Delete $INSTDIR\source\interface\res\*.bmp
  Delete $INSTDIR\source\interface\res\*.rc2
  Delete $INSTDIR\source\interface\res\manifest.xml
  Delete $INSTDIR\source\interface\misc\*.h
  Delete $INSTDIR\source\interface\misc\*.cpp
  Delete $INSTDIR\source\install\uninstall.ico
  Delete "$INSTDIR\source\install\FileZilla Server.nsi"
  Delete "$INSTDIR\source\install\StartupOptions.ini"
  Delete "$INSTDIR\source\install\InterfaceOptions.ini"
  Delete "$INSTDIR\source\includes\openssl\*.h"
  Delete "$INSTDIR\source\tinyxml\*.h"
  Delete "$INSTDIR\source\tinyxml\*.cpp"

  ; MUST REMOVE UNINSTALLER, too
  Delete $INSTDIR\uninstall.exe

  ; remove shortcuts, if any.
  Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
  Delete "$DESKTOP\FileZilla Server Interface.lnk"
  RMDir "$SMPROGRAMS\${PRODUCT_NAME}"

  ; remove directories used.

  RMDir "$INSTDIR\source\res"
  RMDir "$INSTDIR\source\misc"
  RMDir "$INSTDIR\source\hash_algorithms"
  RMDir "$INSTDIR\source\interface\res"
  RMDir "$INSTDIR\source\interface\misc"
  RMDir "$INSTDIR\source\interface"
  RMDir "$INSTDIR\source\install"
  RMDir "$INSTDIR\source\includes\openssl"
  RMDir "$INSTDIR\source\includes"
  RMDir "$INSTDIR\source\tinyxml"
  RMDir "$INSTDIR\source"
  RMDir "$INSTDIR"
  DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server"
  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server"
  DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server Interface"
  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "FileZilla Server Interface"

  RMDir "$INSTDIR"

SectionEnd

;--------------------------------
;Uninstaller Functions

Function un.CloseWindowByName
  Exch $R1
 unclosewindow_start:
  FindWindow $R0 $R1
  strcmp $R0 0 unclosewindow_end
  SendMessage $R0 ${WM_CLOSE} 0 0
  Sleep 500
  goto unclosewindow_start
  Pop $R1
 unclosewindow_end:
FunctionEnd