“价值不在预期范围内”ClickOnce部署

我已经使用了几个月的ClickOnce应用程序,但最近开始在部署最新版本时遇到错误。 有了这个最新版本,我添加了一个我之前没用过的DLL的引用( FTD2XX_NET.dll,如果它是相关的),并怀疑这与问题有关,但我无法弄清楚如何解决它。

正在部署的实际项目引用了另一个库项目,该项目引用了DLL(它引用了其他DLL,但它已经工作了几个月但它们没有更改)。 在这些 线程之后,我尝试删除我的“Local Settings / Apps”文件夹并重新启动多次,以及重新创建项目并部署到其他位置。 多台计算机上存在错误,因此我不怀疑它的用户配置文件损坏。 这是我给出的完整错误:

PLATFORM VERSION INFO Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 4.0.30319.261 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.261 (RTMGDR.030319-2600) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000) SOURCES Deployment url : file://nt_server/prog/Publish/Digipot%20Utility/Digipot%20Utility.application Deployment Provider url : file://nt_server/Prog/Publish/Digipot%20Utility/Digipot%20Utility.application Application url : file://nt_server/prog/Publish/Digipot%20Utility/Application%20Files/Digipot%20Utility_1_0_0_72/Digipot%20Utility.exe.manifest IDENTITIES Deployment Identity : Digipot Utility.application, Version=1.0.0.72, Culture=neutral, PublicKeyToken=1e3769a7c667fbc1, processorArchitecture=msil Application Identity : Digipot Utility.exe, Version=1.0.0.72, Culture=neutral, PublicKeyToken=1e3769a7c667fbc1, processorArchitecture=msil, type=win32 APPLICATION SUMMARY * Installable application. ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of \\nt_server\prog\Publish\Digipot Utility\Digipot Utility.application resulted in exception. Following failure messages were detected: + Value does not fall within the expected range. COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected. WARNINGS There were no warnings during this operation. OPERATION PROGRESS STATUS * [3/14/2012 10:17:15 AM] : Activation of \\nt_server\prog\Publish\Digipot Utility\Digipot Utility.application has started. * [3/14/2012 10:17:15 AM] : Processing of deployment manifest has successfully completed. * [3/14/2012 10:17:15 AM] : Installation of the application has started. * [3/14/2012 10:17:15 AM] : Processing of application manifest has successfully completed. * [3/14/2012 10:17:17 AM] : Found compatible runtime version 2.0.50727. * [3/14/2012 10:17:17 AM] : Detecting dependent assembly Sentinel.v3.5Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=msil using Sentinel.v3.5Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=msil. * [3/14/2012 10:17:17 AM] : Detecting dependent assembly System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil using System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=msil. * [3/14/2012 10:17:17 AM] : Detecting dependent assembly NationalInstruments.Common.Native, Version=8.6.35.131, Culture=neutral, PublicKeyToken=18CBAE0F9955702A, processorArchitecture=x86 using NationalInstruments.Common.Native, Version=8.9.35.302, Culture=neutral, PublicKeyToken=18cbae0f9955702a, processorArchitecture=x86. * [3/14/2012 10:17:17 AM] : Detecting dependent assembly NationalInstruments.Common, Version=8.6.35.131, Culture=neutral, PublicKeyToken=18CBAE0F9955702A, processorArchitecture=msil using NationalInstruments.Common, Version=8.9.35.302, Culture=neutral, PublicKeyToken=18cbae0f9955702a, processorArchitecture=msil. * [3/14/2012 10:17:17 AM] : Request of trust and detection of platform is complete. ERROR DETAILS Following errors were detected during this operation. * [3/14/2012 10:17:18 AM] System.ArgumentException - Value does not fall within the expected range. - Source: System.Deployment - 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) COMPONENT STORE TRANSACTION DETAILS No transaction information is available. 

先谢谢,约瑟夫

编辑:似乎问题正在蔓延。 在第二台机器上,我清除了“本地设置/应用程序”中的所有ClickOnce文件,因此我不得不重新安装旧程序。 当我这样做时它给了我同样的错误。 该计划最后一次更新于二月份。 作为回应,我试图完全删除并重新安装.NET框架无济于事。

我的治疗方法有点不同。 我在工作场所的3台机器中只有一台遇到问题。 在尝试了大多数(如果不是全部)上述解决方案之后,我尝试了这个:

清除了我的AppData文件夹,但很难找到。 我的位于这里:

 C:\Users\%usernamefolder%\AppData\Local\Apps\2.0\PN1V0WLG.QB8\2RVAAAH2.PA9 

这部分“PN1V0WLG.QB8 \ 2RVAAAH2.PA9”可能是我的机器所独有的。 但是在2RVAAAH2.PA9中有一些文件夹,其名称以我的应用程序名称的前4个字母开头:

 Eg. "prog...exe_f9d3a3c4fe2dee3c_0001.0000_none_81c53bb624457ad3" 

我继续并实际删除了2RVAAAH2.PA9目录中的所有文件夹,因为它们似乎都与我的程序或程序中的引用有关。 我可以告诉他们其中一些与我使用的Telerik DLL有关,所以我也把它们丢弃了。

然后我重新安装了我的程序,它工作正常。

看起来可能有几个问题看看,看看是否有任何帮助

  • 检查并查看应用程序的路径中是否有&

http://connect.microsoft.com/VisualStudio/feedback/details/361607/clickonce-application-does-not-install-when-the-deployment-path-includes-ampersand

还看看这个

  • 我们曾经以“任何cpu”为目标,并且必须将其更改为x86才能使其在64位计算机上运行。 对我们来说,这是因为我们使用DirectX,它只支持32位机器。 因此,即使我们将所有DirectX代码放在其自己的针对x86的项目中,我们也必须让我们的启动项目也针对x86。

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/9e4b714e-bad4-4c62-a7ad-3c80e32d95eb/

  • 它似乎是由.vbproj文件中的未知更改引起的。 如果您有源代码控制或文件备份,则还原旧版本的.vbproj文件并重新发布似乎可以解决问题。 如果他们试图运行错误的发布,您可能需要或不必在目标计算机上卸载。

http://connect.microsoft.com/VisualStudio/feedback/details/437590/value-does-not-fall-within-the-expected-range-click-once-deployment-failure

  • 确保您在任何dll或任何循环引用上没有任何不匹配的版本号。

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/9e4b714e-bad4-4c62-a7ad-3c80e32d95eb/

所以我找到了一个解决方案,在这个线程的非“答案”解决方案的建议下,我关闭了自动版本递增并手动更新了“应用程序>assembly信息…”下项目设置中的assembly和文件版本工作。

如果文件夹名称中有任何&从文件夹名称中删除任何& 。 由于这个原因,我也遇到了同样的问题。

参考: 检查这里

解决方法是卸载并重新安装应用程序。 我还没有找到错误本身的解决方案,以及为什么它会随机发生。 我将发布一个新版本,它将发生在另一个人身上,而没有其他人。 我刚刚在几分钟前发布了一个新版本,它在我的机器上搞砸了我的版本,而没有别人的版本。 我还没有找到解决方案,因为当我发布它时,它适用于大多数机器,但不适用于一对。 这种方式已经持续了12年。

如果您尝试在UNC共享上运行clickonce,则可能无效。 我得到了与上面相同的结果,但我只是尝试部署到C:\而不是我们的共享,它运行得很好。 我知道这不是一个解决方案,但至少它是一个线索 – 不确定这是否与身份validation…或更深层次的事情有关。 伙计,我希望错误消息更有帮助。

平台目标:任何CPU(msil)对我来说都是最重要的问题:设置为x86解决了这个问题

我将发布位置切换到C:\ Temp。 安装失败,但这次告诉我,我从另一个位置安装了现有设备。 经过一番探索之后,我发现我可以通过以下方式解决问题:1。使用“控制面板”卸载我的应用程序。 2.删除发布文件夹内容。

我一直无法弄清楚实际产生问题的步骤,但目前暂时没有。

如果任何人遇到与WPF应用程序类似的问题,请在这里查看我的答案。