2016-11-18 2 views
0

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

Ситуация следующая:

На работе мы собираемся перестраивать наше приложение из не .net приложения, основанного на применении .net на основе, в качестве приложения WPF с помощью ClickOnce для целей установки и обновления. Это решение для руководства, которое не может быть изменено, поэтому предложения, рекомендующие другое, не помогут решить проблему.

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

На мой взгляд, я хотел бы решение несколько так:

создать сайт для приложения/продукта, например, myproductsite.com с URL-адресом, например myproductsite.com/application/install, для первоначальной установки, независимо от того, кем является клиент, и URL-адрес, например myproductsite.com/application/update/somecustomerid, для целей обновления. У каждого клиента будет своя собственная папка/URL-адрес обновления, идентифицированный somecustomerid, для которого обновление будет опубликовано всякий раз, когда обновление должно быть доступно для конкретного клиента. Затем я создаю административный инструмент, который должен облегчить процесс обновления обновлений в конкретной папке/URL-адресе клиента.

Для того чтобы это сделать, URL-адрес обновлений должен быть конкретным для каждого клиента из-за части somecustomerid URL-адреса, и я понимаю, что это невозможно сделать, например. Файл app.config и объединился в URL-адрес, когда программа искала обновления. Я надеюсь, что есть кто-то, кто знает иначе.

Если я прав, есть способ сделать файлы манифеста в виде пакета, чтобы администратор мог делать эти файлы манифеста и/или распространять их в папке somecustomerid всякий раз, когда обновление должно быть доступно одному или больше клиентов?

Также я понимаю, что после установки на клиента очень сложно, если не почти невозможно, изменить URL-адрес установки и обновления с моей стороны и по-прежнему обеспечить, чтобы clickonce будет работать.

Возможно, я полностью не понял концепцию clickonce, и поэтому задаю очень глупые вопросы, но мне все еще нужно обновлять некоторые клиенты, не обновляя другие, и я до сих пор не могу понять, как реализовать/решить проблему ,

Другие могут иметь схожие проблемы. Я не могу быть первым, кто нуждается в обновлении клиентов самостоятельно, поэтому, пожалуйста, поделитесь своими впечатлениями, делайте и не делайте.

С уважением Morten

ответ

0

ClickOnce по умолчанию предполагает, что всех клиентов будут устанавливать приложения из того же места и будут получать обновления, предлагаемые в то же время. Я не знаю, как это изменить, используя средства по умолчанию (кроме создания разных развертываний для каждого клиента).

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

Однако вы можете попробовать сценарий процесса развертывания ClickOnce. I found this link (я не прочитал все это, однако), который описывает, как построить развертывание ClickOnce за пределами Visual Studio. Возможно, это поможет вам развернуть для каждого клиента, особенно. так как есть раздел об InstallURL, SupportUrl, PublishURL и UpdateURL?

+0

Thanks Thorsten Я сам искал одну и ту же ссылку, но был уверен, что это правильный путь из-за недостатка знаний о clickonce. Я сейчас погружусь в него глубже и надеюсь, что решит мою проблему. Еще раз спасибо /Morten – Morny

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

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