The most common scenario is for bundles with a managed BA, where the prereq BA installs .NET and then has to reboot in order to load the MBA. See WIP 4822 for why the ARP entry is required.
Add new concept of an In-Progress ARP
DisplayName. Burn creates the ARP entry just as it does today, with the exception that this alternate
DisplayName is used. When Burn has installed a non-permanent package, it updates the ARP entry with the normal
InProgressRegistrationName attribute to the
<xs:attribute name="InProgressRegistrationName" type="xs:string"> <xs:annotation> <xs:documentation> The Bundle creates an ARP entry at the beginning of installation to allow clean uninstallation even if things go wrong. This name is used as the display name for the ARP entry until a non-permanent package is installed. Specifying this name is strongly recommended for Bundles that can reboot in the middle of installation so that the user can tell that installation hasn't completed. </xs:documentation> </xs:annotation> </xs:attribute>
Some people may want the
InProgressRegistrationName to be used whenever an installation is happening, whether or non a non-permanent package has been installed.