2012-05-11 23 views
3

Можно создать дубликат:
Overwrite executable in C:\Program\MyProg on Windows VistaКак перезаписать исполняемый файл?

У меня есть приложение, написанное на C++. Он работает. как я могу заставить его перезаписать свой собственный файл exe, чтобы при следующем запуске это было бы новым exe?

Как автоматическое обновление?

+0

Независимо от того, что повторное открытие его не так много, поскольку уже есть много дубликатов, охватывающих как Windows, так и Linux. –

+4

@PaulR: Но закрытие как дубликат даст указатель на те, которые (IMO) стоит того. –

ответ

2

Это не делается на практике. То, что обычно делается это:

Оригинальная программа:

  1. Launch небольшая программа "обновления"
  2. Прекратить

Updater программа:

  1. Дождитесь оригинала прекратить ,
  2. Переместите оригинал в сторону (например, переименуйте в «.old»).
  3. Переместите новую версию на место.
  4. Запустите новую версию.
  5. Terminate.

Это далеко, гораздо безопаснее, поскольку вы не сдуваете старую версию до тех пор, пока новая не будет на месте.

0
  1. скопируйте его.
  2. перезаписать копию.
  3. перед запуском prog exit, создайте процесс с низким приоритетом, который может использовать копию для повторного заполнения оригинала. например, «auto delete».

Это решение, во всяком случае. Надеюсь, это поможет.

0

Если у вас есть контроль над запущенным процессом (это ваша программа, и вы можете сообщить об этом), вы должны иметь возможность разблокировать его, чтобы его можно было перезаписать, если это не лучший выбор - прекратить и перезапустить он, как сказано выше,

Смежные вопросы