2010-02-10 88 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問題後,我最終試圖自行運行該應用程序並發現了問題。

在這種情況下,錯誤消息是誤導性的。