我们最近将.NET应用程序(包含infragistics控件的C#,Visual Studio 2010,Click Once部署)从.NET 2.0运行时更新到.NET 4.0运行时。为此,我们将所有项目属性从2.0更新为4.0,因此不是客户端配置文件。我们还将相应的先决条件从2.0更改为4.0。现在,我们在向客户推出应用程序时遇到了一些问题。
我们有两种安装应用程序的方法: 1)使用部署服务器的URL:这里没问题。 2)使用当前的应用程序快捷方式 - 大多数用户都这样做。这个选项给出了问题。
在首次安装运行期间,安装失败。以下是clickonce日志的摘录。奇怪的是平台版本信息中有2.0个引用,但是,.NET 4.0运行时已在安装点预先安装。不知道这是否与问题有关。第二个奇怪的是错误:“从文件Progress.Messages.dll加载清单时发生异常:清单可能无效或文件无法打开。”也许并不重要,但这个DLL已签名。
PLATFORM VERSION INFO
Windows : 5.1.2600.196608 (Win32NT)
Common Language Runtime : 2.0.50727.3649
System.Deployment.dll : 2.0.50727.3053 (netfxsp.050727-3000)
mscorwks.dll : 2.0.50727.3649 (GDR.050727-3600)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)
....
ERROR DETAILS
Following errors were detected during this operation.
* [10/12/2013 15:22:11] System.Deployment.Application.InvalidDeploymentException (ManifestLoad)
- Exception occurred loading manifest from file Progress.Messages.dll: the manifest may not be valid or the file could not be opened.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.Manifest.AssemblyManifest.ManifestLoadExceptionHelper(Exception exception, String filePath)
at System.Deployment.Application.Manifest.AssemblyManifest.LoadFromInternalManifestFile(String filePath)
at System.Deployment.Application.Manifest.AssemblyManifest..ctor(String filePath)
at System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
at System.Deployment.Application.FileDownloader.OnModified()
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
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.DeploymentManager.SynchronizeCore(Boolean blocking)
--- Inner Exception ---
System.Deployment.Application.DeploymentException (InvalidManifest)
- Cannot load internal manifest from component file.
- Source:
- Stack trace:
第二次,安装在同一台客户机上执行,安装成功。下面再次是该点的clickonce日志的摘录。
PLATFORM VERSION INFO
Windows : 5.1.2600.196608 (Win32NT)
Common Language Runtime : 4.0.30319.1008
System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100)
clr.dll : 4.0.30319.1008 (RTMGDR.030319-1000)
dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)
....
我们正试图找到这个问题的解决方案好几天,没有结果......欢迎任何答案或推动正确的方向!
提前致谢!