There are several ways to shrink a windows Vista partition. First try the routine that's included in Vista itself. it works very quickly and returns no errors at all.
But sometimes it doesn't shrink enough.
This tutorial might give you the solution:
But at my system it didn't work until I installed the defragmenter Perfectdisk8 at a separate winXP partition and runned it from there. Now Vista allowed me to shrink it's partition with 50%. But no further. Even after repeating this procedure.
So there are other ways to shrink the partition. Use a copy of the Linux Gparted program. You can use any LiveCD of any linux distro as described here. But first take care you downloaded this ISO to be able to recover a disturbed vista installation. Then use this tutorial.