To access personalized software applications on demand is an attractive usage mode of software. This paper presents such a solution based on lightweight virtualization technologies, which can convert the enormous existing desktop software into on-demand software across the Internet without any modification of source code. First, a construction and runtime model of software is proposed. It regards software as an entity containing three parts: Part1 includes all resources provided by the OS; Part2 contains what is created by the installation process; and Part3 is the data produced/modified during the runtime. Moreover, the software is executed in a lightweight virtualization environment where the APIs accessing Parts 2 and 3 are intercepted and redirected to the real storage positions (like the network and the portable storage device) as needed. In addition, a network-resource access protocol is developed for the software on demand, which implements content-addressable storage, p2p (peer-to-peer) transfer acceleration, content integrity check, and the prevention of illegal copy. From the viewpoint of the user, he/she can run his/her personalized software on any compatible computer although it does not exist on the host. Finally, its performance analysis and tests show that this proposed solution can be efficient in the performance.