2010-02-10 90 views
7

我们使用ClickOnce从文件路径安装我们的应用程序。对于24个版本已经可以正常使用 - 现在,25版本我得到一次应用以下错误已经安装并启动:如何诊断“Microsoft .NET ClickOnce启动实用程序已停止工作”?

alt text http://i49.tinypic.com/zk4krl.png

如果我测试在同一台机器上先前的部署,它的工作原理。

我哪里可以开始寻找导致这个错误的原因?我已经检查了Windows事件日志 - 什么都没有。

编辑:我注意到,虽然显示对话框,临时文件夹中生成一个临时xml文件'WER561D.tmp.WERInternalMetadata.xml'。以下是内容(可能含有线索,帮助那些在这方面比我更了解):

<?xml version="1.0" encoding="UTF-16"?> 
<WERReportMetadata> 
    <OSVersionInformation> 
     <WindowsNTVersion>6.1</WindowsNTVersion> 
     <Build>7600 </Build> 
     <Product>(0x4): Windows 7 Enterprise</Product> 
     <Edition>Enterprise</Edition> 
     <BuildString>7600.16385.x86fre.win7_rtm.090713-1255</BuildString> 
     <Revision>1</Revision> 
     <Flavor>Multiprocessor Free</Flavor> 
     <Architecture>X86</Architecture> 
     <LCID>1033</LCID> 
    </OSVersionInformation> 
    <ProblemSignatures> 
     <EventType>CLR20r3</EventType> 
     <Parameter0>applaunch.exe</Parameter0> 
     <Parameter1>2.0.50727.4927</Parameter1> 
     <Parameter2>4a275abe</Parameter2> 
     <Parameter3>mscorlib</Parameter3> 
     <Parameter4>2.0.0.0</Parameter4> 
     <Parameter5>4a275af7</Parameter5> 
     <Parameter6>4f3</Parameter6> 
     <Parameter7>0</Parameter7> 
     <Parameter8>System.Security.Security</Parameter8> 
    </ProblemSignatures> 
    <DynamicSignatures> 
     <Parameter1>6.1.7600.2.0.0.256.4</Parameter1> 
     <Parameter2>1033</Parameter2> 
    </DynamicSignatures> 
    <SystemInformation> 
     -- removed for privacy reasons -- 
    </SystemInformation> 
</WERReportMetadata> 

另一个关键的一点是,我通过Visual Studio的发布,也没有明显的人工编辑回事。

+1

查看Windows事件日志。 – 2010-02-10 16:06:08

+0

我做的第一件事 - 我应该提到这一点。 (还是)感谢你的建议。 – 2010-02-10 16:10:46

回答

8

我想我已经发现了这个问题,虽然我不知道它是如何发生的。当前的项目文件与一个版本比较奏效显示,除其他变化,这些差异:

从这个:

<GenerateManifests>true</GenerateManifests> 

这样:

<GenerateManifests>false</GenerateManifests> 
<TargetZone>LocalIntranet</TargetZone> 
<ApplicationManifest>Properties\app.manifest</ApplicationManifest> 

如果我删除TargetZone和ApplicationManifest,和将GenerateManifests设置为false - 它有效。

+1

经过这个问题摔跤超过2小时后,删除标签整理了一切。谢谢! – 2012-03-24 16:18:18

+1

为了帮助Google找到答案:此类错误将在事件日志中显示为“Event Name/Type:clr20r3,P1 applaunch.exe,P2 <.NET 2.0 runtime version>,P3 ,P4 mscorlib,P5 2.0.0.0,P6 ,P7 ,P8 0,P9 System.Security.Security,P10 NIL“。 – 2012-03-24 16:33:51

0

根据MSDN,您可以查看日志文件以帮助您。 还有一个Troubleshooting ClickOnce Deployments页面可以帮助你。

+0

谢谢马塞尔 - 我根据MSDN链接生成了一个日志文件,但一切都很干净。安装完成没有问题 - 它是失败的应用程序。我会看看故障排除链接。 – 2010-02-10 16:28:17

+0

故障排除指南中没有用。我没有从网上安装,我也没有手动生成清单文件。 – 2010-02-10 16:49:11

0

它看起来像它时,它去检查新版本的崩溃,因为你说的更新后可以出现

  • 你试图重新发布和删除现有版本,如ApplicationFiles \ App_1_0_0_1 .. 25?
  • 您是否已经向MS报告过有关C1的MSDN Forums
  • 在代码中发生了什么变化(新的引用等?)

很难说,因为窗口错误报告的东西似乎从来没有给有用的信息,但我敢打赌,你有好运气那里。我通常这样做。

另外,我知道这是不太可能的,因为它引用了system.security是否更改过任何内容,这个版本的网络文件夹中的perms是否相同,并且是否添加了任何安全要求?

0

ClickOnce只有在应用程序是TRUSTED APPLICATION(s。属性 - >安全性)和清单不包括任何更高的UAC安全性的要求就像在以下manfest文件:

<?xml version="1.0" encoding="utf-8"?> 
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <assemblyIdentity version="1.0.0.0" name="MaxLine5651v1" type="win32" /> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel level="requireAdministrator"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</asmv1:assembly> 

当你有一个清单,要求更高的权限,的ClickOnce不会接受发布项目。

我也在这方面苦苦挣扎。我需要一个应用程序来访问注册表,日志和防火墙设置;我希望它可以在线更新。不幸的是,它不适用于ClickOnce。任何想法都欢迎。

--Gokhan

+1

正如您已经发现的(只是为了验证它) - 您无法提升ClickOnce应用程序的权限。如果你想这样做,你将不得不寻找另一种解决方案。 – RobinDotNet 2010-05-06 05:57:11

2

您是否将应用程序从完全信任更改为部分信任?这就是它的样子。 Intranet区域是部分信任安全的一部分。查看项目属性页面的安全选项卡。

其次,在“图标和清单”项目属性页面的“应用程序”选项卡中 - 清单字段的值是什么?它是否创建没有清单的应用程序?尝试将其设置为“用默认设置嵌入清单”,看看是否有帮助。

+0

是的(第一个)是我的解决方案。非常感谢你 – Rapunzo 2013-01-15 07:40:45

-1

我们对我们的应用程序进行了一些小改动,我们不知道该应用程序是否停止运行应用程序。花了很多时间尝试调试ClickOnce问题后,我最终试图自行运行该应用程序并发现了问题。

在这种情况下,错误消息是误导性的。