State estimation has always been important in discrete-event systems. There are two types of state estimation problems in discrete-event systems: one is to determine the initial state of the system and the other is to determine the current state of the system. In this paper, we investigate the initial state estimation problem. We formulate initial state estimation problem as I-detectability. A discrete-event system is strongly I-detectable if we can determine the initial state of the system after a finite number of event observations for all trajectories of the system. It is weakly I-detectable if we can determine the initial state of the system for some trajectories of the system. We construct I-observer to analyze strong and weak I-detectability and construct I-detector to check strong I-detectability. For some applications, strong I-detectability is required but not satisfied; hence we investigated how to control a system to achieve strong I-detectability if needed. If there exists a controllable, observable, and strongly I-detectable sublanguage, then we say the system is closed-loop strongly I-detectable. We derive an effective algorithm to check whether a system is closed-loop strongly I-detectable. The algorithm can also calculate a controllable, observable, and strongly I-detectable sublanguage if the system is closed-loop strongly I-detectable.