Я вспоминаю приложение, которое я унаследовал, которое столкнулось с подобной ситуацией, программист, который написал приложение, выделил два поля в базе данных, одно - номер текущей версии до запуска любого установщика, чтобы проверить номер версии, поэтому, если база данных имел более высокую версию, чем пытался установщик, во-вторых, установка прервалась, во-вторых, в той же таблице, в которой была сохранена версия / сборка, в другом столбце сохранено состояние базы данных, т. е. процесс / обновление выполняется и т. д., поэтому, если версия # была раньше, это была вторая проверка, если установка уже выполнялась, второй запуск установщика будет прерван. Даже в случае очень близких одновременных запусков один из установщиков сначала получит блокировку.
edit: при прерывании и т. Д. Я имею в виду, что db-часть обновления не запустится.