How to enable long filenames in CompleteFTP

Windows has restricted the length of filenames to 26o characters for many years. For most CompleteFTP users, this isn't an issue, but occasionally other applications generate ridiculously long filenames that they then need to send to CompleteFTP.

With Windows 10 and Windows Server 2016, this restriction finally has a workaround (although it is not the default behavior yet). Here's how to enable long filenames in CompleteFTP:

Requirements

  1. Windows 10 or Windows Server 2016
  2. .NET Framework 4.6.2 or higher (prefer 4.7)

Steps

  1. Enable the "Enable Win32 long paths" group policy (see how to below).
  2. Add the line below to the <runtime> element in CompleteFTPService.config.exe:
    <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;
     Switch.System.IO.BlockLongPaths=false" />

How to set the group policy

To do this go to "Edit group policy" in the Start search bar or run "gpedit.msc" from the Run command (Windows-R).

In the Local Group Policy Editor navigate to "Local Computer Policy > Computer Configuration > Administrative Templates > All Settings". In this location you can find "Enable Win32 long paths", as shown below:

Long path policy