ClickOnce错误:值不在预期范围内

在所有ClickOnce应用程序上为某个用户启动此错误。 这开始发生在版本升级后(但没有其他人)。

我试过后来更改版本号,添加/删除,registry清理,清除本地设置\应用程序文件夹等…仍然没有运气。

本文指向用户configuration文件损坏,但我重新创build此用户不是一个选项。 还有其他的想法来清理这个吗?

PLATFORM VERSION INFO Windows : 5.1.2600.196608 (Win32NT) Common Language Runtime : 2.0.50727.3082 System.Deployment.dll : 2.0.50727.3053 (netfxsp.050727-3000) mscorwks.dll : 2.0.50727.3082 (QFE.050727-3000) dfdll.dll : 2.0.50727.3053 (netfxsp.050727-3000) dfshim.dll : 2.0.50727.3053 (netfxsp.050727-3000) SOURCES Deployment url : file:///C:/Documents%20and%20Settings/<username>/Start%20Menu/Programs/<programname>/<programname>.appref-ms%7C ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of \\NDP13\C\Documents and Settings\<username>\Start Menu\Programs\<programname>\<programname>.appref-ms| 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 * [7/22/2009 10:35:30 AM] : Activation of \\NDP13\C\Documents and Settings\<username>\Start Menu\Programs\<programname>\<programname>.appref-ms| has started. ERROR DETAILS Following errors were detected during this operation. * [7/22/2009 10:35:30 AM] System.ArgumentException - Value does not fall within the expected range. - Source: System.Deployment - Stack trace: at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore(UInt32 Flags, IntPtr hToken, Guid& riid) at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore() at System.Deployment.Application.ComponentStore..ctor(ComponentStoreType storeType, SubscriptionStore subStore) at System.Deployment.Application.SubscriptionStore..ctor(String deployPath, String tempPath, ComponentStoreType storeType) at System.Deployment.Application.SubscriptionStore.get_CurrentUser() 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. 

你可以试试这个:

 rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache 

我从控制面板中卸载了应用程序,然后重新安装,这为我解决了问题。

我也遇到了Windows 7 x64机器上的这个错误。 我终于可以通过完全删除registry中的任何引用(但还不够),然后清除%user%\AppData\Local\Apps来正确安装我的ClickOnce应用%user%\AppData\Local\Apps

反复删除该文件夹后,该问题神秘地消失,并试图重新安装。 也许是在那里重新启动了。

我意识到这是一个老问题,但我偶然发现了同样的问题,并find了不同的解决scheme:原因是ClickOncenetworking安装path中的“&”。 微软已经证实了这个问题,并表示他们不会修复它: 微软错误报告

我解决了我的例外

 System.ArgumentException - Value does not fall within the expected range. - Source: System.Deployment 

检查引用是否具有Copy Local= true 。 例如,我的问题是Office引用true。 当它试图复制它时,发生冲突,所以无法打开程序。 希望这可以解决你的问题。

简单的修复步骤:

1)从控制面板卸载

2)删除%user%\AppData\Local\Apps "2.0"文件夹。 您现在应该可以重新安装

奇怪的是,我有同样的问题,并通过简单地login为另一个用户和安装/运行应用程序解决。 当我注销,然后以原始用户login,它再次工作。

我的问题是由csproj文件中的更改造成的。 对组件的引用从以下变为:

HintPath> .. \文件\

HintPath> .. \ .. \ Files \

它在清单文件中添加了一个依赖xml元素。

编辑csproj文件并发布,修复了清单文件。

我一直在为这个问题寻找一个干净的解决scheme。 我可以通过反复试验来解决这个问题。 最后,我可以确定确切的问题。 我想在这里分享。

以上错误告诉它无法在部署文件夹中find匹配的文件。

如果您正在面对此问题进行更新检查。

  1. 从正在工作的部署中下载application.exe.manifest文件。
  2. 将当前版本的application.exe.manifest文件与旧版本进行比较。
  3. 查找添加/删除/更改的任何参考。 如果你看到任何可疑的东西,手动编辑/回滚清单的一部分,并尝试,大多数情况下,它将工作。

如果新上传

检查是否已将所有程序集标记为部署文件夹中的“copy local = true”,并在上载后检查其大小。

因为“ copy local = false”程序集将被视为clickonce引擎中的先决条件。 大部分应用程序启动问题从那里开始。

经过几个小时的故障排除后,我发现在我的情况下,是因为我试图从映射networking驱动器而不是UNCpath运行安装程序。 第一次运行安装程序,它工作正常。 但是,如果您再次运行它,则会出现以下错误:

无法启动应用程序

浏览错误的详细信息,你会发现高度模糊的错误:

在这里输入图像说明

如果我从UNCpath\\MyServer\MyShare\Deploy...运行应用程序\\MyServer\MyShare\Deploy...那么它运行的很好,一致。

经过进一步的调查,这听起来像是在这里发生的是,安装程序正在validation(出于安全原因),它正在从授权的部署url运行,如*.application部署清单中指定的。

在这里输入图像说明

由于当前path(映射驱动器)与UNCpath不同,因此安装失败,程序被删除。 请注意错误日志中的path之间的差异:

在这里输入图像说明

那么错误的真正含义是“警告!应用程序无法安装,因为部署URL与部署清单中指定的提供程序URL不匹配。

那么,这将节省我很多小时的排除故障! 🙂

删除%user%\AppData\Local\Apps\2.0\ ,然后运行。