2009-03-30 3 views
2

Я пытаюсь развернуть приложение ClickOnce. Ранее он работал, когда сервер просто сидел с установленным .Net 2.0 (без SP). В последнее время сервер был 3.5SP1 установлен на нем и теперь ClickOnce не удается с ошибкой:Ошибки развертывания ClickOnce

Значение не попадает в ожидаемый диапазон внутри System.Deployment.

Вот информация, размещенная на форумах MSDN (ответы там, как правило, хит или пропустить для меня) со стеком вызовов:

Это было в VS 2005 Вт/SP1 и я попытался изменить путь я опубликовать в , изменение URL-адреса установки, изменение имени сборки, ручное управление версиями, запуск mage -cc, ручное удаление всех данных приложения в% userprofile% \ AppData \ Local \ Apps и даже изменение серверов развертывания, но все равно получить ту же ошибку:

ДЕТАЛИ ОШИБОК В ходе этой операции были обнаружены следующие ошибки. * [3/30/2009 5:35:37 PM] System.ArgumentException - Значение не входит в ожидаемый диапазон. - Источник: System.Deployment - Стек след: в System.Deployment.Internal.Isolation.IStore.LockApplicationPath (UInt32 Флаги, IDefinitionAppId APid, IntPtr & Cookie) в System.Deployment.Application.ComponentStore.LockApplicationPath (DefinitionAppId definitionAppId) на System.Deployment.Application.SubscriptionStore.LockApplicationPath (definitionAppId definitionAppId) в System.Deployment.Application.FileDownloader.PatchFiles (SubscriptionState субсостояние) на System.Deployment.Application.FileDownloader.Download (SubscriptionState субсостояние) в системе. Deployment.Application.DownloadManager.DownloadDependencies (SubsStationState subState, AssemblyManifest deployManifest, AssemblyManifest ap pManifest, Uri sourceUriBase, String Целевой_каталог, String группа, уведомление IDownloadNotification, опции DownloadOptions) на System.Deployment.Application.ApplicationActivator.DownloadApplication (SubscriptionState субсостояние, ActivationDescription actDesc, Int64 TransactionID, TempDirectory & downloadTemp) в System.Deployment.Application. ApplicationActivator.InstallApplication (SubscriptionState & подсосто, ActivationDescription actDesc) на System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation (Uri activationUri, булева IsShortCut, String textualSubId, Строка deploymentProviderUrlFromExtension, browserSettings browserSettings, Строка & errorPageUrl) на System.Deployment.Application. ApplicationActivator.ActivateDeploymentWorker (Состояние объекта)

Любая помощь на всех была бы оценена ..

ссылаются, форум here

+0

Предыдущие версии находятся в папке публикации? у вас есть ключ clickOnce? –

+0

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

ответ

2

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

Jonez: К сожалению, мой профиль пользователя был бы большой проблемой, и мне показалось, что это было бы серьезным излишеством, чтобы исправить проблему публикации.

Gregory: установка завершится с ошибкой. Я попытался опубликовать новое место (другой физический сервер), и проблема все еще присутствовала, и я подтвердил, что амперсанды не использовались ни в одном из путей.

1

Если вы ищете быстрый и грязный решение, которое работает 95% времени для системы . Проблемы с развертыванием, удалить и создать новый профиль пользователя. Обязательно создайте резервные копии любых ценных данных, прежде чем делать это, например, рабочий стол, избранное, «Мои документы», «Мои рисунки», файлы Outlook и т. Д.

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

Будьте осведомлены о том, что вы можете выполнять другие приложения, выполняя эти исправления и что эффекты иногда невосприимчивы. Эти решения, очевидно, не идеальны, но это решения, которые Microsoft предоставила мне.

Удачи.

+0

Это чисто предположение, но я уверен, что удаление всего профиля пользователя эффективно, потому что оно вызывает какой-то «перезагрузку» в реестре, и я считаю, что многие аспекты System.Deployment привязаны к информации профиля пользователя в реестра. –

+0

В редких случаях сброс региональных настроек Windows устраняет проблемы с развертыванием. Сделайте это, переключив региональные настройки на панели управления, нажав «Применить» между каждым переключением. –

3

У меня была аналогичная проблема.

Решение для меня состояло в том, что ClickOnce дергается, если в пути публикации есть амперсанд. Будучи тем, что я публиковал в папку для нашего отдела исследований и разработок, то есть «\ serverName \ r & d \», это вызывало у меня печаль и давало мне то же самое некоммуникативное «Значение не попадает в ожидаемый диапазон», вы видите.

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

+0

Просто хотел добавить, что через Googling я нашел эту ветку, поскольку у меня была такая же проблема, и ClickOnce бомбил для меня, потому что у установочной директории был амперсанд. Очень раздражает, но, по крайней мере, я знаю, что это такое. – Tom

1

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

+1

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

0

Вы изменили целевую платформу для самого приложения? Что еще более важно, установлен ли на вашем компьютере разработки .NET 3.5 SP-1?

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

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