Getting Concrete to work on a Windows machine is easy.
1. Install MySQL
I downloaded and installed MySQL 5.1.30 as well as MySQL Tools for 5.0, and it works great. MySQL Tools is especially nice, since it gives you an interface for creating a new user and database for Concrete to use which is much nicer than a command-line or using PHP admin.
2. Install an HTTP server
Concrete isn't necessarily supported on IIS, but it should definitely work in Apache. I downloaded and installed Apache 2.2 on its default settings. I just changed the server and domain name values in the install to localhost, since I'm only using the server to develop locally.
3. Install PHP
I downloaded and installed PHP 5.2.8. You can install as an IIS ASAPI module if you're getting IIS to work, but I installed it as an Apache 2.2 module. When you install, make sure you install the GD and MySQL extensions, and any others you foresee wanting.
4. Update httpd.conf (Optional)
Optionally, you can edit Apache's config file to customize the server further. I would recommend finding the "DirectoryIndex" entry, and adding index.php as a directory index. Also, I don't like having my site files inside of Apache's directory, so you can also change "DocumentRoot" to a different directory on your system. If you do, there are two entries in the file where you should change the path, so make sure you update both. Also remember that you need to use forward slashes, so C:\Projects would need to be entered as "C:/Projects" in order for Apache to understand the path.
5. Create a MySQL user and database for Concrete to use
If you installed MySQL Tools, open MySQL Administrator. Go to Catalogs, then right-click in the list below and select "Create New Schema". This is the database you'll use for your Concrete install. Once you are finished creating the database, go to User Administration and click the "Add new user" button at the bottom. Give the user a name and password you can remember, then go to the Schema Privileges tab. Select the database you created for Concrete, and add the following permissions: INSERT, SELECT, UPDATE, DELETE, CREATE, DROP, ALTER and INDEX.
6. Restart your HTTP server
After installing editing your server configuration and installing PHP, make sure you stop and start your HTTP server. I would recommend that you don't "restart", but "stop" then "start" again. Apache didn't seem to fully reset itself when I chose a restart.
7. Copy and paste Concrete
Download the latest version of concrete, and extract the files to your system somewhere inside the directory you are using for your DocumentRoot. The default directory for Apache 2.2 is "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs". Concrete doesn't currently install correctly in a directory with spaces, so make sure you paste the files in a folder like "... \htdocs\concrete" and not "... \htdocs\concrete 5".
8. Install Concrete
Open your browser and go to the location of your Concrete install. I set my system to use localhost, so a system path of "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\concrete" would translate to
http://localhost/concrete/index.php.... Enter a name for the site, your email, localhost or whatever else you called your HTTP server, your database user name, password, and database name. Click install.
http://www.apachefriends.org/en/xampp-windows.html...
Just as a matter of preference, I like using virtual hosts with apache instead of messing with the apache document root. This will allow you to access your site as a domain, such ashttp://mySite/ instead ofhttp://localhost/mySite/
For information on virtual hosts, refer to this posting:
http://www.concrete5.org/index.php?cID=2578...