ClickOnce deployment error on upgraded .NET application

隐身守侯 提交于 2019-12-07 19:44:31

问题


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)

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.

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.

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.

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


回答1:


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

Project Settings -> Publish -> Prerequisites



来源:https://stackoverflow.com/questions/760920/clickonce-deployment-error-on-upgraded-net-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!