Ответ 1
Я просто набросился на WinSparkle, что является ранней стадией, но выглядит очень многообещающе.
Я решил добавить функции автоматического обновления в одно из моих приложений и искал любые существующие решения, которые сравнивают текущую текущую версию с последней версией, которая затем загружается из Интернета.
Я знаю Sparkle на Mac OSX, который очень приятный и мощный, но задавался вопросом, есть ли что-то подобное для Win32/MFC
Я просто набросился на WinSparkle, что является ранней стадией, но выглядит очень многообещающе.
Я нашел еще два проекта, направленных на решение этого: http://sevenupdate.sourceforge.net/ и Google Omaha, но неясно, есть ли у них какие-либо внешние пользователи, поэтому этот вопрос, по-видимому, все еще открыт. Я тоже ищу решение....
Я никогда не использовал его, но WiX предоставляет ClickThrough. Возможно, стоит посмотреть.
Существует проект с открытым исходным кодом WIPT, основанный на APT Debian Linux. Однако проект, похоже, заброшен.
Я предполагаю, что вы уже знаете о ClickOnce? Я не был уверен, что он совместим с MFC, но затем я нашел эту статью, поэтому, если этот вопрос вы задаете, ClickOnce будет быть чем-то попробовать.
AbstractSpoon использует "Мастер обновления программного обеспечения" из здесь для своего удивительного приложения ToDoList MFC.
Еще один .NET: SparkleDotNet
В общем случае нет, окна сопоставляют такие вещи, как библиотеки DLL (ваш собственный или MFC) таким образом, что вы не можете заменить запущенную программу. Установщик MSI проверяет VERSIONINFO и не перезаписывает установленные файлы с той же (или более новой версией), но вам придется закрыть экземпляр runnign.