I had wordpress setup for one of my domains in a windows 2008 server with IIS7. All files uploads upto 30M was working fine, but more than that no luck. Then I read that IIS7 has a default upload limit of 30M. I had to do two things to get it working. Details given below.
Click Start -> Internet Information Services Manager
Click on the webserver name to highlight it(in order to make changes globally) or just click on your website name to enable changes for that site alone.
On features view, scroll down to IIS -> Request Filtering.
On the right pane, click on Edit Feature Settings
Look for the field “Maximum Allowed Content Length”. It will be the default value of 30000000
Change the value to 104857600 which is 100M.
Save the changes and restart IIS(usually a restart is not needed)
Now try uploading a file which is larger than 30M and see if the upload is successful.
If the upload still fails, check if urlscan is enabled. The configuration file for Urlscan is normally present at C:\Windows\System32\inetsrv\urlscan\urlscan.ini
It might sometimes contain the following.
Change that also to 104857600, save the file and restart IIS.
Try uploading a bigger file now. If it still fails, check the following.
Open the file C:\Windows\system32\inetsrv\config\applicationhost.config
Locate the <requestLimits>
Check if it contains a variable maxAllowedContentLength. If it is present, either remove it or modify its value to 104857600.
Save the file and try uploading again.
If it still fails, you need to check the logs and find if there is any other file which conflicts with this setting.