ClickOnce - ужасное решение, потому что оно не делает это в фоновом режиме, оно проверяет только при запуске и может значительно замедлить время запуска.
Chrome, с другой стороны, периодически проверяет во время работы приложения, загружает обновление в автоматическом режиме, а затем устанавливает его, когда вы говорите «ОК, почему бы и нет».
Существует очень небольшая задержка с точки зрения пользователя, и материал просто продолжает пыхтеть.
Shadow Copy будет вашим лучшим выбором. Вы захотите написать синхронизированное событие, которое периодически проверяет веб-сервер на наличие обновленных компонентов и загружает их по мере необходимости. Теневая копия - это способ заменить их.
Также поможет проектирование вашей системы для модульности - вместо того, чтобы загружать каждый отдельный файл, участвующий в выполнении вашего приложения, вы можете спроектировать его так, чтобы основные области могли обновляться независимо, уменьшая полезную нагрузку для конечного пользователя каждый раз они загружают ваши обновления.
Для более экстремального решения различные поставщики предоставляют службы обновлений, такие как InstallShield.