This document provides information on using CarProg BMW key programmer software to program immobilizers and generate transponder keys for various BMW models from 1996 to 2004. It supports EWS1, EWS2, EWS3, and EWS3+ immobilizer systems. The software allows users to read and write key and immobilizer data, add new keys, restore lost keys, block or unblock key access, and change settings like VIN and mileage. Instructions are provided on connecting CarProg to different immobilizer types and programming keys by selecting the key number and transponder. Potential issues like erasing EWS3 memory during reading and replacing faulty ELMOS circuits are also noted.