У меня есть приложение Windows Forms, которое я недавно переписал в WPF, и я должен выпустить его к своим конечным пользователям. Я хотел бы смочь сделать, чтобы пользователи перешли к точке установки ClickOnce для приложения WPF и удалили свое приложение Windows Forms, таким образом, у них нет обоих на их машине.
Что является лучшим способом (чтение: самый легкий для пользователей) выполнения этого?
Я думал о создании необходимой как условие командной строки обнаруживать старую версию и удаление, но я хотел бы избежать необходимости писать что-то как этот, куда это только выполняется однажды.
Я думаю, что вы действительно ДОЛЖНЫ иметь возможность развернуть версию WPF как новую версию приложения Windows Forms.
На какую версию .NET Framework ориентировано каждое из приложений?
Одинаково ли имя сборки в обоих проектах, и одинаков ли URL установки? (Для ClickOnce это не имеет никакого отношения к projectGUID.)
.Я не пробовал, но не могли бы вы сделать так, чтобы ваше WPF приложение напрямую заменило ваше WinForms приложение? Если вы опубликуете в той же папке, скопируете правильные GUID из старого проекта в новый проект, он может просто установиться без проблем.
Это не удалит старые версии, но каждое обновление приложения ClickOnce оставляет старые версии на месте.
В качестве альтернативы, можете ли вы преобразовать существующий проект WinForms в проект WPF? Это просто другой набор ссылок на сборку? Я никогда не писал WPF-приложений, поэтому простите меня, если это явно неправильно.
Почему бы просто не дать новому WPF-приложению те же
,
и т.д. и более высокий основной номер версии?
ClickOnce даже не узнает, что вы перешли с WinForms на WPF.
Обычная функциональность обновления версии ClickOnce автоматически заменит старый код на новый при следующем обновлении приложения (которое можно настроить на автоматическое выполнение при желании).