1. A computer implemented method for generating customized program logic, the method comprising: determining, by a reporting unit of at least one of a plurality of target systems, the one or more hardware devices operatively connected with the at least one target system; sending, by the reporting unit, a first list of identifiers of the determined hardware devices to a server system; receiving, by the server system, the first list of device identifiers; analyzing, by the server system, a predefined program logic for determining device drivers contained in said predefined program logic; removing all determined device drivers which are not identified by any one of the device identifiers contained in the received first list from said predefined program logic; automatically selecting from a set of drivers, by the server system, for each of the device identifiers in the received first list, at least one driver operable to control the identified device, thereby generating a sub-set of said set of drivers; retrieving, by the server system, a core program logic being free of any drivers of any of the plurality of target systems; automatically complementing the core program logic with said driver sub-set to generate the customized program logic; triggering the sending of the customized program logic from the server system to the at least one target system by a driver-download-command submitted by the reporting unit of the at least one target system to the server system; and deploying the customized program logic to the at least one target system and loading the customized program logic into a memory of the at least one target system, the customized program logic using the sub-set of drivers for downloading an operating system to the at least one target system.