a generic installer written in java