Seria muito complexo garantir a correção, quando ocorrem instalações simultâneas - assumindo que elas compartilham alguns dos arquivos. Isso precisaria de alguma forma de transações.
- Você precisa bloquear arquivos
- Deve ser possível desfazer as alterações intermediárias, se a instalação falhar (não tenho certeza se isso é possível agora?)
Esses conceitos são conhecidos a partir de bancos de dados transacionais - mas o tópico não é trivial e, normalmente, você não encontra uma infraestrutura totalmente transacional em sistemas de arquivos (embora os sistemas de arquivos de registro em diário forneçam parte disso). Um problema é que vários bloqueios podem levar a um impasse - então você precisa de detecção de deadlock (ou ambos os instaladores ficarão suspensos para sempre) e uma maneira de tratar isso. Os deadlocks podem ser evitados (por exemplo, sempre bloqueando arquivos na mesma ordem), mas há outros problemas:
Se você bloquear todos os arquivos necessários na frente, você obtém efetivamente o que você tem: Um instalador deve esperar até que o outro seja concluído. Se você não bloquear todos os arquivos necessários e continuar, corre o risco de a "transação" falhar. Isso significaria que um dos instaladores teria que ser reiniciado.
Depois disso, talvez você tenha que pensar nos níveis de isolamento da transação. Para que as transações sejam totalmente corretas, elas devem ser "serializável" - mas isso não é fácil, mesmo para muitos bancos de dados.
Pode até haver estratégias alternativas para lidar com os problemas, que evitam o isolamento total, mas normalmente seria ainda mais difícil provar sua correção.
Acredito que, com a instalação simultânea, teríamos problemas de pós-instalação muito mais intratáveis - especialmente porque eu não acho que um fornecedor de SO (ou uma distribuição) enfrentaria todos os problemas para torná-lo 100% limpo . Então, eu preferiria não usá-lo, mesmo que fosse oferecido pelo SO.
Nota
Mas talvez o que você realmente queira não seja instalar "ao mesmo tempo". Talvez fosse suficiente, se você pudesse fazer fila nas instalações, que são executadas uma após a outra (idealmente sem fazer nenhuma pergunta entre elas). E isso é realmente algo, alguns outros sistemas operacionais (distribuições) lidam muito melhor.