In update_external_font_keys(), remove the fonts from the registry immediately after we mark them for deletion, and then proceed to add or update values in the registry.
This prevents a font from being marked as deleted, then being updated in the registry, and then removed from the registry regardless. When this happened, the registry would not contain the value for this font that we intended to update it with. This function would need to run again for this value to be added to the registry, but since this function runs during initialization, this means that a subsequent launch of wine was necessary. By removing the old value from the registry first, and then adding the new one, the initialization process becomes idempotent starting from the first run.