Could be any one of those three, plus a couple other things. To me it sounds like either a weak battery or bad electrical connection. First, make sure the battery is both good and fully charged. Second, check every electrical connection you can find, you must make sure each one is clean and tight. First one I would check is the ground cable to chassis connection and then if you have a three post solenoid, I would remove it and clean the base of the solenoid and where it is mounted. This type of solenoid uses the mounting flanges to complete the ground circuit.