【发布时间】:2010-10-20 03:25:00
【问题描述】:
我有一个在 Visual Studio 2005 中开发并通过 ClickOnce 部署到 IIS 服务器的 Windows 窗体应用程序。我已经升级到 VS2008,所以我决定升级并重新部署应用程序(在测试中)。我运行了升级向导,手动将项目的目标运行时更改为 3.5,从部署服务器中删除了所有旧的发布文件,并发布了应用程序。
我可以毫无问题地启动它(即“在我的机器上工作”),但是当其他人启动它时,他们会收到错误。
无法继续。应用程序格式不正确。请联系应用程序供应商寻求帮助。
错误对话框上有一个详细信息...按钮。以下是部分内容。
PLATFORM VERSION INFO
Windows : 5.1.2600.131072 (Win32NT)
Common Language Runtime : 2.0.50727.1433
System.Deployment.dll : 2.0.50727.1433 (REDBITS.050727-1400)
mscorwks.dll : 2.0.50727.1433 (REDBITS.050727-1400)
dfdll.dll : 2.0.50727.1433 (REDBITS.050727-1400)
dfshim.dll : 2.0.50727.1433 (REDBITS.050727-1400)
请注意,CLR 是 2.0。
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://{deployment host name}/ resulted in exception. Following failure messages were detected:
+ Exception reading manifest from http://{deployment host name}/{application name}.application: the manifest may not be valid or the file could not be opened.
+ Manifest XML signature is not valid.
+ No signature was present in the subject.
我没有签署申请。这是一个完全内部的部门应用程序。我怀疑问题不在于缺少签名,而是.NET 使用了错误的运行时,并且 2.0 运行时无法处理 3.5 清单。但如果是这样的话,我不知道如何让它使用 3.5 运行时。
我想可能是旧版本被缓存了,所以我让用户运行rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache。这清除了缓存(应用程序在下一次完全重新加载),但它并没有解决问题。
有没有人在将 ClickOnce 应用程序从 2.0 升级到 3.5 时遇到过这样的问题?知道我的问题可能是什么吗?
【问题讨论】:
标签: .net .net-3.5 deployment clickonce