Some printers include a CD which is able to detect a device without an IP address assigned or with an invalid IP in the LAN.
We are developing an appliance whishing to be able for the user act in the same way: they connect the appliance on network and from the client side a tiny software detects configuration, launch wizard, ...
How can I do this? How can I write some software to detect my devices on network and configure it? Any guidelines?
Sounds like you want to have your hardware support Universal Plug and Play (or similar) technology. Check here: http://www.upnp.org/resources/default.asp
Universal Plug and Play is effectively the scenario you are describing: the hardware can get itself onto the network and announce itself. If your configuration software is running, that announcement is seen and you can complete the configuration from that point. In most cases this involves grabbing a DHCP address if possible (and broadcasting on the subnet it joins) or an autoconfiguration address (169.254.x.x) if DHCP rejects the new hardware or isn't present.
I highly recommend reading the documents at the URL I provided, if only to give you an idea of how to do things, even if you don't implement the full UPnP protocol.