Программа установки ClickOnce CD пытается подключиться к Интернету

StackOverflow https://stackoverflow.com/questions/1679889

  •  16-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь развернуть приложение, созданное с помощью VS2008 Express.Идея состоит в том, чтобы загрузить файлы на веб-сервер (установка через веб-сайт) и в то же время предложить автономную (CD) установку некоторым пользователям, у которых нет подключения к Интернету.

В параметрах публикации я оставил Installation Folder URL пусто, я снял флажок с этой опции The application should check for updates (поскольку я проверяю обновления вручную) и я заполнил опцию Update location (if different than publish location).

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

  • Активация C: install myapp.application привела к исключению.Были обнаружены следующие сообщения о неудаче:
    • Загрузка http://myserver.com/myapp.applicationне удалось.
    • Невозможно подключиться к удаленному серверу
    • Операция сокета была предпринята попытка недоступной сети 195.42.142.11:80

Почему, хотя все файлы присутствуют, установка пытается загрузить файлы из Интернета?

Наконец, когда я удаляю URL-адрес сервера из Update location, все нормально.Нужно ли мне создавать две разные настройки каждый раз, когда мне нужно обновить приложение?Или есть другое решение?


Редактировать:

Дальнейшие тесты показали, что автономная установка нормально работает в Windows XP, но не работает в Windows 7.В последнем случае, используя те же установочные файлы, установщик пытается загрузить приложение из Интернета вместо использования локальных файлов .deploy.

Нет специалистов по ClickOnce?

Это было полезно?

Решение

Средство запуска ClickOnce попытается подключиться к указанному URL-адресу независимо от того, присутствуют ли файлы локально или нет.Вам потребуются две конфигурации сборки для поддержки развертываний как с компакт-диска, так и через Интернет.Вот соответствующая информация от документация Microsoft.

Чтобы включить эту стратегию развертывания в Visual Studio, нажмите с CD-ROM или DVD-ROM на том, как установленная страница мастера публикации.

Чтобы разрешить эту стратегию развертывания вручную, измените тег DeploymentProvider в манифесте развертывания, чтобы его значение было пустым.В Visual Studio это свойство отображается как URL-адрес установки на странице публикации в конструкторе проектов..В Mage.exe это начальная позиция.

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

Значение, которое вам нужно переопределить, — это InstallUrl.Для установочной сборки с компакт-диска оно должно быть пустым.Затем вашей сборке потребуется собрать обе конфигурации.На этом сайте и на других сайтах есть множество примеров с инструкциями, как это сделать.

Другие советы

У меня была похожая проблема, за исключением того, что я публиковал приложение для более свежего проекта в VS2015.Мои настройки публикации были:

  • Как пользователи будут устанавливать приложение - «С CD-ROM или DVD-ROM»
  • Приложение не будет проверять наличие обновлений

Я бы опубликовал это со своей машины разработчика (например. mymachine01), а файл .application, который он связывает с файлом Setup.exe, всегда будет содержать подобную строку:

<deploymentProvider codebase="http://mymachine01/Application20Name/Application20Name.application" />

Я заархивировал бы это, затем перекинул на другую машину, чтобы протестировать установщик, и получил бы Application cannot be started. Contact the application vendor. ошибка.При нажатии на кнопку «Подробнее» откроется The remote name could not be resolved ошибка, из-за которой приложение пыталось получить доступ mymachine01.Чтобы исправить это, я использовал следующие шаги:

  1. Щелкните правой кнопкой мыши проект в VS и выберите свойства.
  2. Перейдите на вкладку «Опубликовать».
  3. Нажмите «Параметры».
  4. Выберите «Манифесты».
  5. Установите флажок «Исключить URL-адрес поставщика развертывания».
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top