2013-08-26 2 views
1

Мое приложение должно быть в состоянии обновить себя. Для этого, когда я нажимаю на обновление приложения, чтобы начать установку, он должен остановиться и перезагрузиться после завершения установки. Может ли Windows сделать это для меня каким-то образом?Как остановить приложение для самообновления?

ответ

2

Вы можете разбить приложение на 2 части: main application и updater. Вы можете вызвать программу обновления из основного приложения (и остановить основное приложение), сделать все обновления, затем перезапустить главное приложение из программы обновления.

+2

Вы не можете изменить исполняемый файл во время его работы (за исключением действительно старых версий Windows). Это по дизайну как функции безопасности. Вы можете поместить всю логику в основное приложение для загрузки новой версии или исправлений в основной исполняемый файл, но вы должны выполнить фактические изменения от другого. Я видел, что люди используют сценарий .CMD как отдельный исполняемый файл, который делает не что иное, как некоторые переименования, а затем перезапускает оригинальный исполняемый файл, поэтому я могу быть простым. –

+2

http://msdn.microsoft.com/en-us/library/system.deployment.application.applicationdeployment(v=vs.90).aspx - Просто вспомнил об этом. Сегодня утром мозг немного замедлился. –

+1

@Sergey Я подумал об этом, но я надеялся, что Windows уже реализовала какой-то механизм. Как проверить, завершил ли инсталлятор его выполнение или нет, чтобы перезапустить основное приложение? Спасибо :) Я думаю, что это решает мою проблему. – GreatDane

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