2015-09-14 3 views
0

В настоящее время у нас есть развертывание ClickOnce, которое заставляет пользователей загружать клиента из нашего местоположения публикации, если оно является новым, чем их клиент при запуске приложения. Мы хотим, чтобы это поведение приводило к тому, что пользовательское приложение использует пользователей. Однако были времена, когда нам нужно было откатить программное обеспечение. Когда это происходит, единственным решением, о котором мы знаем, является удаление приложения и его повторная установка из местоположения публикации.Может ли ClickOnce понизить приложение?

Есть ли способ заставить ClickOnce вытащить версию из местоположения публикации, если она отличается (а не только более новой), чем то, что они запускают?

+1

Серьезно, частая необходимость откат выпуска продукции делает ** не ** хорошо говорит о вашем QA программного обеспечения. Кроме того, очевидно, что понижение * является обновлением *. –

+0

@ MarcusMüller Фактически, откат не является откатом из-за дефектов/ошибок, поэтому он не говорит вообще о моем QA Software. – UnhandledExcepSean

+0

Есть ли что-то, препятствующее публикации публикации в качестве нового обновления? – codeConcussion

ответ

1

То, что вы хотите сделать, невозможно с помощью ClickOnce.

Ваш основной вариант - опубликовать ваш пониженный код с добавленным номером версии. Вы заявили, что не хотите этого делать, потому что это запутывает пользователей. Я склонен сохранить версию ClickOnce той, что использует только ClickOnce. Я поддерживаю свою собственную версию приложения отдельно, и это то, что я показываю пользователям в приложении. Да, версия ClickOnce по-прежнему отображается в «Установка и удаление программ», но я думаю, что это очень незначительно.

Другим вариантом было бы изменить развертывание ClickOnce, чтобы не навязывать минимальную требуемую версию. Затем он включает опцию в диалоговом окне удаления для отката к предыдущей версии. Мне это совсем не нравится, но это единственный вариант отката ClickOnce.

Единственный другой вариант, который я вижу, - попытаться что-то сделать с помощью кода. Определите в своем приложении, что требуется понижение. Как-то выложите скрипт или exe вне своего приложения, которое удалит его (возможно, с this) и откройте ссылку на ваш файл .plplication, чтобы переустановить последнюю версию. Это общая спекуляция. Я не уверен, что это возможно.

0

Предполагая, что у вас нет минимальной версии, попробуйте скопировать файл .application для предыдущей версии поверх той, которая находится в каталоге верхнего уровня, где вы выполняете развертывание. Файл .application в этом каталоге сообщает приложению, которое нужно установить. Предполагая, что это указывает на нужную папку развертывания (соответствующую ее версии), и у вас есть эта папка на вашем сервере развертывания, она должна понизить версию, установленную пользователем.

Другой способ сделать это - скопировать все файлы из предыдущей версии. Измените имя папки на более новую. Затем используйте mageui, чтобы обновить и подписать два манифеста, и скопировать все на сервер. Это будет автоматически установлено, поскольку версия более новая.

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

  • Нет связанных вопросов^_^