The 0x8007000d =invalid data indicating perhaps there is some corruption in your config system.
If you check in %windir%\System32\inetsrv\config\Applicationhost.Config do you have an entry for "system.ftpserver" with "providerdefinitons" listed below ?
Also in your message you have "provider definitons" with a space this should be "providerdefintions" with no space.Is this was you see in your error ?
You can test enumeration of the config with the following command "C:\Windows\System32\inetsrv>appcmd list config"