Как двоичный файл C ++ может заменить себя?

Я задавал этот вопрос в более общем контексте дизайна раньше. Теперь я хотел бы поговорить о деталях.

Представьте, что у меня запущен app.exe . Он загружает update.exe в ту же папку. Как app.exe скопирует update.exe поверх содержимого app.exe ? Я спрашиваю конкретно в контексте C ++. Мне нужно какое-то третье приложение-посредник? Мне нужно беспокоиться о блокировке файлов? Каков наиболее надежный подход к самому бинарному обновлению (запрещающий раздражающему ИТ-персоналу иметь чрезмерные права доступа к файлам)? В идеале я бы хотел видеть портативные решения (Linux + OSX), но Windows - это основная цель.

28
задан Community 23 May 2017 в 11:47
поделиться