Most likely cause is that your PHP Temp folder doesn't have good permissions.
First locate your php.ini and then in it find the sys_temp_dir directive.
Alternatively you can create a test.php file and puit this in it: <?php phpinfo(); ?>
then you can browse to it. It will tell you a lot of information about your PHP configuration (including things like the location of your PHP temp folder.) Once you have found that information make sure that you delete the test.php.
To to the folder and check the permission on it. You might need to add IUSR to it. (of course your running an older version of IIS so it might be a different account... My memory is telling me that it used to be the IIS_IUSR account.) You want to give the account full control (read and write).
Then restart IIS and retest.