It might be worth making a Process Monitor log of what happens. Maybe from that we can see where it's going wrong.