У меня есть приложение .NET, которое используется примерно на 30 разных компьютерах (32-разрядные и 64-разрядные компьютеры).
При компиляции приложение настроено на «Любой ЦП»..
Работает нормально на всех машинах, за исключением 64-битной Windows 7.
Сообщение об ошибке:
Во время этой операции были обнаружены следующие ошибки.* [02.11.2011 8:59:40 AM] System.ArgumentException - значение не попадает в ожидаемый диапазон.- Источник: System.Deployment
После исследования я обнаружил, что если я переключу целевой ЦП на 64-разрядный, он будет работать нормально на проблемной машине, но не будет работать на 32-разрядных компьютерах.
Есть ли исправление для этого?
Трассировка стека:
- Stack trace:
at System.Deployment.Internal.Isolation.IStore.LockApplicationPath(UInt32 Flags, IDefinitionAppId ApId, IntPtr& Cookie)
at System.Deployment.Application.ComponentStore.LockApplicationPath(DefinitionAppId definitionAppId)
at System.Deployment.Application.SubscriptionStore.LockApplicationPath(DefinitionAppId definitionAppId)
at System.Deployment.Application.FileDownloader.PatchFiles(SubscriptionState subState)
at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)