Product software is constantly evolving through extensions, maintenance, changing requirements, changes in configuration settings, and changing licensing information. Managing evolution of released and deployed product software is a complex and often underestimated problem that has been the cause of many difficulties for both software vendors and customers. This paper presents a process model and typology to characterize techniques that support product software update methods. Also, this paper assesses and surveys a variety of existing techniques against the characterization framework and lists unsolved problems related to software product updaters.