如何诊断"Microsoft .NET ClickOnce启动实用程序已停止工作"?

Phi*_*ace 8 .net clickonce install launch

我们使用从文件路径安装的ClickOnce部署我们的应用程序.对于24个版本,它一直运行良好 - 现在,在版本25上,一旦应用程序安装并启动它,我会收到以下错误:

替代文字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>
Run Code Online (Sandbox Code Playgroud)

另一个关键点是我通过Visual Studio发布,没有手动清单编辑.

Phi*_*ace 9

我想我已经确定了问题,虽然我不知道它是怎么发生的.将当前项目文件与可显示的版本进行比较,除其他更改外,还显示以下差异:

由此:

<GenerateManifests>true</GenerateManifests>
Run Code Online (Sandbox Code Playgroud)

对此:

<GenerateManifests>false</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
Run Code Online (Sandbox Code Playgroud)

如果我删除TargetZone和ApplicationManifest,并将GenerateManifests设置为false - 它可以工作.

  • 为了帮助 Google 找到此答案:此类错误将在事件日志中显示为“事件名称/类型:clr20r3、P1 applaunch.exe、P2 &lt;.NET 2.0 运行时版本&gt;、P3 &lt;随机&gt;、P4 mscorlib、 P5 2.0.0.0、P6 &lt;随机&gt;、P7 &lt;随机&gt;、P8 0、P9 System.Security.Security、P10 NIL”。 (2认同)