Переместите репозиторий ClickOnce без переустановки на клиентских компьютерах. Является ли это возможным? - PullRequest
2 голосов
/ 01 апреля 2009

У меня есть приложение C # (WinForms) (ClickOnce), репозиторий которого установлен на сервере, который вот-вот потерпит крах, поэтому мой начальник попросил меня переместить репозиторий, но есть около 300 клиентских компьютеров, на которых установлено приложение.

ClickOnce подписан с тестовым сертификатом.

Можно ли переместить хранилище без переустановки на клиентских компьютерах?

Заранее спасибо

[EDIT]

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

Ответы [ 3 ]

2 голосов
/ 24 августа 2009

Вот что я сделал для людей, у которых может быть такая же проблема.

  • Настройка нового сервера в пакете публикации. (Свойства проекта, вкладка «Опубликовать»)
  • Публикация на новом сервере
  • Скопируйте опубликованные файлы на старый сервер. (Включите файл приложения и папку)

Когда клиенты достигают старого сервера, они обновляются, но местоположение сервера на клиенте обновляется до нового имени сервера.

2 голосов
/ 19 января 2012

Ответ, предоставленный Джонни, показался мне многообещающим, и я столкнулся с ошибкой, когда попытался, и мне пришлось ее решить. Это было связано с сертификатами.

После его установки, когда я запускаю приложение ClickOnce на клиентском компьютере, я получаю диалоговое окно с сообщением об ошибке: «Не удается запустить приложение».

Когда я нажимаю кнопку Подробнее ... в диалоговом окне ошибки, открывающийся текстовый файл показывает, что приложение пытается выполнить обновление с URL-адреса поставщика развертывания нового сервера, но выдает эту ошибку:

«Идентификатор развертывания не соответствует подписке.»

Проблема заключалась в том, что срок действия сертификата, использованного для публикации приложения на старом сервере, и я обновил сертификат в приложении, опубликованном на новом сервере. Сертификаты не совпадают.

Решение заключалось в том, чтобы сначала опубликовать приложение на старом сервере с новым сертификатом, попросить пользователей открыть приложение, чтобы получить это обновление, а затем опубликовать еще одну новую версию с URL-адресом развертывания нового сервера и скопировать файлы в оба сервера. Когда пользователи обновили в следующий раз, они получили версию приложения со старого сервера с манифестом, указывающим на новый сервер, а затем все обновления последующих запросов были получены с нового сервера.

1 голос
/ 01 апреля 2009

Вы можете попытаться изменить псевдоним DNS, чтобы он перенаправлял на ваш новый сервер.

Тот факт, что код, подписанный с использованием сертификата, не имеет значения, поскольку сертификаты для подписи кода не привязаны к конкретному репозиторию (в отличие от сертификатов SSL)

Кстати, почему вы не хотите переустанавливать? Весь смысл clickonce в том, чтобы облегчить такой вид обновления программного обеспечения !!

...