在升级的.NET应用程序ClickOnce部署错误 [英] ClickOnce deployment error on upgraded .NET application

查看:473
本文介绍了在升级的.NET应用程序ClickOnce部署错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Windows窗体开发的Visual Studio 2005和部署通过ClickOnce的IIS服务器应用程序。我已经升级到VS2008,所以我决定升级和重新部署应用程序(测试)。我跑了升级向导,手动更改项目的目标运行时为3.5,删除了所有旧发布从部署服务器的文件和发布的应用程序。

I have a Windows forms application that was developed in Visual Studio 2005 and deployed to an IIS server via ClickOnce. I've upgraded to VS2008 so I decided to upgrade and redeploy the application (in test). I ran the upgrade wizard, manually changed the project's target runtime to 3.5, removed all of the old publish files from the deployment server, and published the application.

我可以不带(即作品在我的机器)的问题启动它,但是当别人推出来,他们得到一个错误。

I can launch it with no problem (i.e., "works on my machine"), but when others launch it they get an error.

无法继续。该应用程序的格式不正确。联系以获得帮助的应用程序供应商。

Cannot continue. The application is improperly formatted. Contact the application vendor for assistance.

有错误对话框上的详细信息...按钮。下面是一些内容。

There's a Details... button on the error dialog. Here are some of the contents.

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。

Note that the CLR is 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运行时。

I didn't sign the application. It's a completely internal departmental application. I suspect that the problem isn't the lack of a signature, it's that .NET is using the wrong runtime, and that the 2.0 runtime can't handle the 3.5 manifest. But if that's the case, I can't figure out how to get it to use the 3.5 runtime.

我想,也许老版本被缓存,所以我不得不在用户运行 RUNDLL32%WINDIR%\ SYSTEM32 \ dfshim.dll CleanOnlineAppCache 。这清除缓存(应用程序做了全面的重装下一次),但它并没有解决问题。

I thought maybe the older version was cached, so I had the user run rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache. That cleared the cache (the application did a full reload the next time), but it didn't solve the problem.

有没有人有问题,这样的升级,从2.0的ClickOnce应用程序,以3.5?任何想法我的问题可能是什么?

Has anybody had a problem like this upgrading a ClickOnce app from 2.0 to 3.5? Any idea what my problem could be?

推荐答案

请确认您有.NET框架3.5设置为prerequisite。

Please verify that you have .NET Framework 3.5 set as a prerequisite.

项目设置 - >发布 - > prerequisites

Project Settings -> Publish -> Prerequisites

这篇关于在升级的.NET应用程序ClickOnce部署错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆