Нет. Вы не можете заменить исполняемый файл. Вы получите нарушение доступа.
Лучший вариант - создать отдельный маленький исполняемый файл, который заменит вас. Ваше приложение может вызвать его, закрыть самостоятельно, а второй исполняемый файл может выполнить загрузку / замену / перезапуск для вас.
Это также имеет то преимущество, что позволяет вам настроить «обновленный», требуя повышенные разрешения, которые могут потребоваться в зависимости от того, где установлено заменяемое приложение.