Есть ли способ изменить URL-адрес обновления для установленных один раз приложений - PullRequest
0 голосов
/ 09 апреля 2011

Мы использовали click один раз с 2006 года, и теперь у нас есть необходимость изменить местоположение обновления, это уже было однажды, но мы только что удалили и переустановили, теперь это будет проблематично.

Решение было представлено в Нажмите Once Migrate URL , однако, когда мы попробовали это несколько лет назад (.NET 2.0), произошел сбой приложения, указав, что URL-адрес обновления и URL-адрес клиента не совпадают, что повышает угрозу безопасности ипредотвратил запуск и запуск обновления по этому вопросу.

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

Я хочу использовать процесс, такой как следующий, при условии, что текущая версия равна 5, а местоположение развертывания - apps.mycompany.com, а новое местоположение - clickonce.mycompany.com

* 1012.* Публикация приложения на clickonce.mycompany.com с версией 5.2 Публикация приложения на apps.mycompany.comс версией 5.1, которая имеет код начальной загрузки, когда приложение запускается, чтобы изменить манифест приложения для изменения URL.

В этом процессе клиенты будут получать два новых обновления последовательно.Infect, если я опубликую 5.1 в обоих местах, это должно работать.

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Этот тип проблемы может быть решен путем удаления самого приложения, а затем переустановки самого себя. Я делал это раньше, хотя я устанавливал из сетевого расположения, а не с URL-адреса, но это должно быть то же самое.

Вот ссылка на msdn для этого решения. Перейдите в раздел «Как программно удалить приложение Click Once и установить новую версию».

Вы также можете проверить другую версию решения здесь .

Это работает, но это немного сложно. Хотя это единственный способ решить проблему такого типа.

РЕДАКТИРОВАТЬ Если вы используете информацию из этой статьи, вот две вещи, на которые стоит обратить внимание.

  1. Убедитесь, что обновление для удаляемого приложения не является обязательным. Необходимо сделать требуемую версию текущей развернутой версией. В противном случае опция восстановления доступна и используется по умолчанию для диалогового окна удаления, и приложение не удаляется само.
  2. Убедитесь, что в методе GetUninstallString класса DeploymentUtils измените искомое DisplayName с «TestCertExp_CSharp» на имя вашего приложения.
0 голосов
/ 12 сентября 2017

используйте эти командные строки

mage.exe -Update setuptest_1_0_0_2.application -ProviderUrl http://127.0.0.1/setuptest/setuptest.application

mage.exe -Update setuptest_1_0_0_2.application -AppManifest setuptest_1_0_0_2\setuptest.exe.manifest

mage.exe -Sign setuptest_1_0_0_2.application -CertFile setuptest_TemporaryKey.pfx -Password mypassword

mage.exe -Update setuptest.application  -ProviderUrl http://127.0.0.1/setuptest/setuptest.application

mage.exe -Update setuptest.application -AppManifest setuptest_1_0_0_2\setuptest.exe.manifest

mage.exe -Sign setuptest.application -CertFile setuptest_TemporaryKey.pfx -Password mypassword

Проверьте это: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2939893&SiteID=1

...