When running /extract against the April 2013 Cumulative Update, it takes… hours. Using Process Monitor, it appears that the CU is going through the entire CU exe to identify and extract the files, in a one-by-one process. For example, we’ll look at the extraction of two files, edumui-es-es.msp and edumui-et-ee.msp.
First, the extraction process finds edumui-es-es.msp and creates a file as well as begins the extraction:
Next, the extraction finishes, and the extraction process starts parsing the ubersrv2013 executable from the beginning again:
Next, the extraction process, using 8KB to ~32KB reads, finds edumui-et-ee.msp in the ubersrv2013 executable some ways into it (about 663MB):
Finally, edumui-et-ee.msp is extracted and the read process of the ubersrv2013 executable begins again:
Compare to the March 2013 PU, which goes through the ubersrv2013 executable and picks out files as required: