Пользователь не может установить Нажмите один раз приложение - PullRequest
2 голосов
/ 21 августа 2009

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

Я предполагаю, что он все еще называется Click-Once. Я использую вкладку публикации свойств проекта в VS2008.

Несколько пользователей смогли перейти по ссылке, загрузить и запустить приложение.

Один конкретный пользователь не может.

У него установлен .Net 3.5 SP1, и он действительно достигает страницы публикации, где ему предлагается возможность установить. при нажатии на него он получает сообщение об ошибке

Сообщение об ошибке содержит следующие фразы

  • Невозможно запустить приложение
  • Загрузка приложения не удалась
  • проверьте подключение к сети или обратитесь к системному администратору. Поставщик сетевых услуг
  • Невозможно установить соединение, так как целевой компьютер активно отказал в этом

Я хотел бы знать, что может быть причиной этого ...

Я не могу понять, почему сервер, на котором я опубликовал, будет относиться к этому пользователю иначе.

Есть идеи?

Ответы [ 5 ]

4 голосов
/ 18 сентября 2009

Попросите своего пользователя нажать на кнопку Подробнее ... и отправить вам все содержимое по электронной почте. В разделе ОБЩАЯ ОШИБКА вы, вероятно, увидите что-то вроде следующего:

СЛУЧАЙ 1: Обнаружены следующие сообщения об ошибках:

  1. Загрузка APPLICATION_FILE_URL не удалась.
  2. Удаленный сервер возвратил ошибку: (407) Требуется проверка подлинности прокси.

Пользователь должен был получить запрос в диалоговом окне «Требуется проверка подлинности прокси-сервера», но если он его не увидел, значит, ваш прокси-сервер возвращает НЕСТАНДАРТНЫЕ ответы. По сути, вам нужно утомить поставщика прокси-сервера, чтобы исправить его неработающее программное обеспечение, но вы можете решить проблему, предложив пользователям отредактировать файл MACHINE.CONFIG на своей рабочей станции, включив в него следующее:

<configuration>
    <system.net>
        <settings>
            <httpWebRequest useUnsafeHeaderParsing="true" />
        </settings>
    </system.web>
</configuration>

Случай 2: Обнаружены следующие сообщения об ошибках:

  1. Загрузка APPLICATION_FILE_URL не удалась.
  2. Удаленный сервер возвратил ошибку: (403) Запрещено.

Обычно это означает, что исходный сервер ( ваш веб-сервер, на котором размещено приложение ) активно отказывает вам в доступе. Это связано с:

  1. ОГРАНИЧЕНИЯ IP-АДРЕСА - если это внутренний корпоративный веб-сервер, это вероятно. Если у вас есть веб-сайт с ограниченным IP-адресом, выясните IP-адрес вашего пользователя (при условии, что он статический) и добавьте его в список доступа.

  2. РАЗРЕШЕНИЯ НА ФАЙЛЬНУЮ СИСТЕМУ - еще один распространенный способ на внутренних корпоративных серверах. Узнайте, с каким (group /) именем пользователя ваш пользователь проходит аутентификацию на вашем сервере, и убедитесь, что файл .application и все содержимое этого каталога (включая сам каталог) имеют правильные разрешения для своей учетной записи.

Надеюсь, это поможет!

1 голос
/ 21 августа 2009

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

Для Vista кэш приложения находится в C: \ Users \\ AppData \ Local \ Apps \ 2.0 . После этого он становится кучей случайных имен папок (например, NXJW1HVZ.DQH). Мне повезло, просто удалив каталог 2.0. Любые установленные приложения будут переустановлены в следующий раз, когда пользователь откроет их из Интернета.

ПРЕДУПРЕЖДЕНИЕ! Удаление всего может привести к удалению данных, связанных с установленным приложением, поэтому вам может потребоваться более хирургический подход, чем просто удаление всего (если вы немного покопаетесь в папках, вы найдете свое приложение).

1 голос
/ 21 августа 2009

Он даже не до того места, где он устанавливает приложение. Что стоит попробовать:

  1. Дайте пользователю ссылку на файл .application вместо файла setup.exe и посмотрите, поможет ли это вообще (возможно, нет).
  2. Выключите брандмауэр пользователя и попробуйте снова. Если это работает, вам нужно выяснить, как пройти через брандмауэр.
  3. Защищаете ли вы файлы развертывания ClickOnce на сервере, предоставляя конкретным пользователям доступ к нему? Если так, то у этого парня его нет.
  4. Создайте другую учетную запись пользователя на том же компьютере и попробуйте установить приложение. Это работает? Тогда это что-то напуганное в профиле этого парня.
0 голосов
/ 18 мая 2019

У меня были плохие разрешения, но потом я их исправил. Таким образом, Clickonce говорил 403 запрещено для файлов, которые были доступны в другом браузере. Тогда в один прекрасный момент это просто волшебно сработало. Это всего лишь теория, но я думаю, что Clickonce использует свое собственное местоположение в кеше, что, если ранее произошел сбой, он продолжит говорить 403, когда разрешения будут исправлены.

0 голосов
/ 04 января 2012

Может быть, уже слишком поздно:)

Моя проблема как у тебя. Я просто открываю [Program-Name].Application в корневом каталоге файлов в редакторе NotePad и затем изменяю этот тег:

<deploymentProvider codebase="file://server-name/Setup-directory/[P-N].application" />

Server-Name и Setup-Directory должны совпадать с тем, где вы разделяете ClickOnce-Setup-File and Directory.

Просто попробуйте, может быть, вам помогут.

...