Not so long time ago Microsoft have released a new version of their FTP Publishing Service - FTP 7. It is a long waited update to the aging FTP6 service that shipped with Windows Server 2003 and Windows XP RTM. A lot have changed and in fact it is a complete rewrite introducing many things like IIS7 integration, integrating FTP into a Web site, virtual host name support, user isolation, SSL , IPv6 and UTF8 support to name a few. For more go to the features overview or the detailed What's New page.
Unfortunately FTP7 requires Windows Server 2008 to be installed. That is not a big deal but knowing that Windows Server and Windows Vista share the same code base, a question raises can it be deployed on Windows Vista machine? The answer is yes and in the following lines I will show you how. Keep in mind that this is not officially supported and the license requires a valid Windows Server 2008 license.
First you need to download the installation file from the official IIS.NET site. It is an msi file. Running it directly will show you a not supported OS message and will exit. Now you immediately realize that there is a Launch Condition not satisfying the installation and you know that this is not a problem. You need to open ORCA and delete that custom launch condition so the installation can proceed without checking the NT version number.
That's exactly what I did trying to install FTP7 rc1 on Vista RTM. And it failed "gracefully" with the message "Configuration error: Unrecognized configuration path MACHINE/REDIRECTION"
This was on Vista RTM which had problems with HTTP redirection so I gave up till Vista SP1. Now when all the failing factors are removed - SP1 shipped and the final FTP7 version is alive I decided to try again. I did the same procedure but logged the installation using msiexec /L ftp7.log /I ftp7_x86_rtw.msi command line and to my surprise it failed again with another strange message:
DEBUG: Error 2356: Couldn't locate cabinet in stream: _91EE006EA23648B6D8093FEC97F98FC7.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2356. The arguments are: _91EE006EA23648B6D8093FEC97F98FC7, ,
MSI (s) (A0:BC) [15:31:03:795]: Product: Microsoft FTP Service for IIS 7.0 -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2356. The arguments are: _91EE006EA23648B6D8093FEC97F98FC7, ,
Well not that strange since this service is not supported on Vista may be there is dependency on specific Windows Server 2008 API's. After inspecting the log I found that the setup fails after it can't locate a specific MEDIA stream in the msi file. That was strange since I haven't modified anything in it just a launch condition that have nothing to do with included msi streams. What was wrong was the fact that after deleting the launch condition I did a "Save As" and it happens that ORCA doesn't preserve all information from the original msi to the new one. (That's not so strange I know at least one other Microsoft tool that does the same thing - EntlibConfig.exe). After that I did a "Save" over the original file. This allows the setup to succeed.
Now you are free to setup your FTP through IIS Manager
I guess I could have written this in couple of lines huh!