On Windows 10 when I click on an ftp link in an email it asks "How do you want to open this?" and gives a list of choices: Firefox, Chrome, Internet Explorer, WinSCP and 'look for app in store'. I have FileZilla installed but it's not offered as a choice. How do I register Filezilla as a client for Windows 10 to open ftp links?
asked Oct 24, 2018 at 16:18 matt wilkie matt wilkie 5,174 23 23 gold badges 61 61 silver badges 89 89 bronze badgesOr, seeing that you have WinSCP installed, check what WinSCP does to register itself as ftp:// handler:
[HKEY_CLASSES_ROOT\WinSCP.Url] @="WinSCP URL" "URL Protocol"="" "EditFlags"=dword:00000002 "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\WinSCP.Url\DefaultIcon] @="\"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe\",0" [HKEY_CLASSES_ROOT\WinSCP.Url\shell] [HKEY_CLASSES_ROOT\WinSCP.Url\shell\open] [HKEY_CLASSES_ROOT\WinSCP.Url\shell\open\command] @="\"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe\" /Unsafe \"%1\"" [HKEY_LOCAL_MACHINE\SOFTWARE\Martin Prikryl\WinSCPCapabilities] "ApplicationDescription"="WinSCP is a popular free SFTP and FTP client for Windows, a powerful file manager that will improve your productivity. It supports also Amazon S3, FTPS, SCP and WebDAV protocols. Power users can automate WinSCP using .NET assembly." [HKEY_LOCAL_MACHINE\SOFTWARE\Martin Prikryl\WinSCPCapabilities\UrlAssociations] "ftp"="WinSCP.Url" [HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications] "WinSCP"="Software\\Martin Prikryl\\WinSCPCapabilities"
And do a similar thing for FileZilla.
For the above to work, you still need to have ftp protocol registered in HKEY_CLASSES_ROOT\ftp . But you have that already.
Note that FileZilla does not support URLs pointing to a file. Only URLs pointing to a directory. WinSCP supports both.
answered Oct 24, 2018 at 19:27 Martin Prikryl Martin Prikryl 22.8k 10 10 gold badges 83 83 silver badges 164 164 bronze badgesYou need to register the protocol. Here is a link explaining how to make things such as "asdf://" or "ftp://" or "ssh://" open applications: Link
answered Oct 24, 2018 at 16:39 382 5 5 silver badges 15 15 bronze badgesThanks! With 3 major OSes covered that looks like a useful page but it's not quite on point. The "URL:ftp" protocol itself is already registered (that's how it knows to offer available apps). The Q is about how to add a client to the protocol handlers list.
Commented Oct 24, 2018 at 17:14The linked article shows an old-style registration that is being suppressed in recent versions of Windows, as it does not allow multiple applications to be registered for the same protocol - What is particularly important for such a widely used protocol as ftp:// .
Commented Oct 24, 2018 at 19:29So you need to create a Registry Key to under HKEY_CLASSES_ROOT as due to Win32 OLE, URL's are objects too:
[HKEY_CLASSES_ROOT\sftp] @="URL:Secure File Transfer Protocol" "URL Protocol"=""
Then it helps to attribute the URL to an application or action to "do" something. Such as:
[HKEY_CLASSES_ROOT\sftp\DefaultIcon] @="C:\\Program Files\\FileZilla FTP Client\\filezilla.exe,0" [HKEY_CLASSES_ROOT\sftp\shell\open\command] @="\"C:\\Program Files\\FileZilla FTP Client\\filezilla.exe\" \"%1\""
Of course, it can also work in reverse to describe the powers an application can do so that it's "suggested" when trying to open a particular URL or file type:
[HKEY_LOCAL_MACHINE\Software\FileZilla\Capabilities\URLAssociations] "sftp"="FileZillaURL"
But make sure the application is fully registered into the Windows Registry because as you can see, it's not just enough to add the URL association for an application, it actually must be registered and linked for the OS to be considered the application "embedded" (OLE).
[HKEY_CLASSES_ROOT\sftp] @="URL:FTP Secure" "URL Protocol"="" [HKEY_CLASSES_ROOT\sftp\DefaultIcon] @="C:\\Program Files\\FileZilla FTP Client\\filezilla.exe,0" [HKEY_CLASSES_ROOT\sftp\shell\open\command] @="\"C:\\Program Files\\FileZilla FTP Client\\filezilla.exe\" \"%1\"" [HKEY_LOCAL_MACHINE\Software\FileZilla] @="FileZilla FTP Client" [HKEY_LOCAL_MACHINE\Software\FileZilla] "ApplicationDescription"="FileZilla is open source software distributed free of charge under the terms of the GNU General Public License." "ApplicationIcon"="C:\\Program Files\\FileZilla FTP Client\\filezilla.exe,0" "ApplicationName"="FileZilla FTP Client" [HKEY_LOCAL_MACHINE\Software\FileZilla\Capabilities\URLAssociations] "sftp"="FileZillaURL" [HKEY_LOCAL_MACHINE\Software\FileZilla\DefaultIcon] @="C:\\Program Files\\FileZilla FTP Client\\filezilla.exe,0" [HKEY_LOCAL_MACHINE\Software\RegisteredApplications] "FileZillaFTPClient"="SOFTWARE\\FileZilla\\Capabilities"