Проблема в том, что на самом деле у вас нет одного унифицированного набора перегрузки, в котором изменчивый вариант был бы однозначно лучшим, но два различных набора перегрузки в A
и B
и компилятор не будет автоматически объединять их.
Положите
using A::get;
using B::get;
в C
, чтобы объединить наборы перегрузки и таким образом устранить неоднозначность.
Я никогда не использовал его, но WiX обеспечивает ClickThrough. Мог бы быть достойный внимания.
В целом не, окна отображает вещи как DLLs (или Ваше собственное или MFC) таким способом, которым Вы не можете заменить под управлением программу. msi установщик проверяет VERSIONINFO и не перезаписывает установленные файлы, которые имеют то же (или более новая версия), но необходимо было бы выйти из рабочего экземпляра.
Я предполагаю, что Вы уже знаете о ClickOnce? Я не был уверен, что это было совместимо с MFC, но затем я нашел эту статью, поэтому если бы это - вопрос, Вы спрашиваете, ClickOnce был бы чем-то для попытки.
AbstractSpoon использует "Мастер обновления программного обеспечения" "из здесь за их потрясающее приложение ToDoList MFC.
Я нашел еще два проекта, направленных на решение этой проблемы: http://sevenupdate.sourceforge.net/ и Google Omaha , но это тоже не ясно из них еще есть внешние пользователи, поэтому этот вопрос, по-видимому, все еще открыт. Я тоже ищу решение ....
Существует проект с открытым исходным кодом WIPT , вдохновленный APT Debian Linux. Однако проект, похоже, заброшен.
Я только что наткнулся на WinSparkle, который находится на ранней стадии, но выглядит очень многообещающим.