Setting up Ruby on Rails with IIS 7.0 and Vista SP1

I have an interoperability demo that I'm working on, so I'm setting up Ruby so that I can connect via WCF. It's not the normal demo I do.

I'm following the instructions from IIS 7.0 Server-Side : 10 steps to get Ruby on Rails running on Windows with IIS FastCGI. Err..scratch that--I'm using the instructions from wiki.rubyonrails.org/rails/pages/HowToConfigureIIS7 that are based on those instructions.  Rather than use the other FastCGI instructions, I used the instructions on <blog.caneja.com/archive/2007/10/26/install-fast-cgi-on-iis7.aspx>. The good news is that FastCGI is part of Vista SP1, so you don't need to download any of the preview versions.

Side note: When I was trying the outdated instructions, I did run into a "cannot find MSVCR71.dll" error when running Ruby on my machine. That DLL should be kept with the other executables that it's running with. I saw some advice on the web to copy it from your "java\bin" folder to your system32 folder, but that's not the recommended use of that library. the "R" means it's "not a known" DLL and doesn't belong in your system directories (msdn2.microsoft.com/en-us/library/abx4dbyh(vs.71).aspx). The MSVC libraries are part of the C++ redistributable libraries, and should be located with the binaries they're used by.  Part of that is because the "one click installer" uses an old version of Visual C++. I'd rather just recompile to use a newer version than use the one click installer, but I haven't gotten around to that.

So, here's a page served up by Rails on Vista SP1 + IIS7:

image

I know it's not the most interesting, but it's a start.

Update--the first trackback is a really good tutorial as well--I wish I'd written that much about the setup.

(And as yet another side note, I was a little paranoid about the setup of FastCGI. I already had CGI enabled before applying SP1. I had no idea whether applying SP1 would add FastCGI to IIS--I would expect it to, but I wasn't sure. So, I (1) SP1, (2) removed the CGI "subfeature" of IIS7, and (3) re-enabled CGI. That's my personal moment of overkill--you'll probably never need to do that).