2012-09-10 207 views
0

我試圖在另一臺計算機上啓動我的應用程序,但啓動時它立即崩潰。WPF啓動時應用程序崩潰

我的應用程序在啓動時不嘗試讀取文件,但它仍然與System.IO.FileNotFoundException崩潰。

我不知道該怎麼辦,任何人都可以借我一些幫助嗎?

該轉儲文件是由應用程序崩潰生成的。

<WERReportMetadata> 
<OSVersionInformation> 
    <WindowsNTVersion>6.1</WindowsNTVersion> 
    <Build>7600 </Build> 
    <Product>(0x3): Windows 7 Home Premium</Product> 
    <Edition>HomePremium</Edition> 
    <BuildString>7600.16917.amd64fre.win7_gdr.111118-2330</BuildString> 
    <Revision>1</Revision> 
    <Flavor>Multiprocessor Free</Flavor> 
    <Architecture>X64</Architecture> 
    <LCID>1043</LCID> 
</OSVersionInformation> 
<ProblemSignatures> 
    <EventType>CLR20r3</EventType> 
    <Parameter0>bw000.exe</Parameter0> 
    <Parameter1>0.9.1.0</Parameter1> 
    <Parameter2>50461072</Parameter2> 
    <Parameter3>PresentationFramework</Parameter3> 
    <Parameter4>4.0.0.0</Parameter4> 
    <Parameter5>4d930fa2</Parameter5> 
    <Parameter6>9ef</Parameter6> 
    <Parameter7>f</Parameter7> 
    <Parameter8>System.IO.FileNotFoundException</Parameter8> 
</ProblemSignatures> 
<DynamicSignatures> 
    <Parameter1>6.1.7600.2.0.0.768.3</Parameter1> 
    <Parameter2>1043</Parameter2> 
    <Parameter22>0a9e</Parameter22> 
    <Parameter23>0a9e372d3b4ad19135b953a78882e789</Parameter23> 
    <Parameter24>0a9e</Parameter24> 
    <Parameter25>0a9e372d3b4ad19135b953a78882e789</Parameter25> 
</DynamicSignatures> 
<SystemInformation> 
    <MID>4F696B6F-82CF-4635-A6C8-BA2F7C68C6CA</MID> 
    <SystemManufacturer>MICRO-STAR INTERNATIONAL CO., LTD</SystemManufacturer> 
    <SystemProductName>MS-6657</SystemProductName> 
    <BIOSVersion>V1.30</BIOSVersion> 
</SystemInformation> 

我檢查我的文件在發佈文件夾和PresentationFramework.dll是存在的。

更新:

我嘗試安裝.NET Framework 3.5的,它沒有運行。我認爲它是因爲我安裝了.NET 4。

我接受了Simon的建議,查看了Windows事件日誌並找到並堆棧了錯誤跟蹤。

這是現在的情況:

  • 我有一個64位Windows 7家庭高級版上運行應用程序。

  • 該應用程序被編譯爲32位應用程序。

  • 我有.Net 4擴展和客戶端安裝。

  • 我已經把我的主要項目和模組項目對.NET 4

  • 跑我已設置DispatcherUnhandledException,但它不會被調用,所以在這之前崩潰。

所以任何人都可以幫助我嗎?

這是從Windows事件日誌STRACK跟蹤:

Log Name: Application 
Source:. NET Runtime 
Date: 13/09/2012 9:12:51 
Event ID: 1026 
Task Category: None 
Level: Error 
Keywords: Classic 
User: NA 
Computer: PC-freedom 
Description: 
Application: BW000.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.FileNotFoundException 
Stack: 
   at BW000.App.OnStartup (System.Windows.StartupEventArgs) 
   ate System.Windows.Application. <. ctor> b__1 (System.Object) 
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) 
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
   at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System.Object) 
   at System.Threading.ExecutionContext.runTryCode (System.Object) 
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (TryCode, Cleanup code, System.Object) 
   at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
   at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
   at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
   at System.Windows.Threading.DispatcherOperation.Invoke() 
   at System.Windows.Threading.Dispatcher.ProcessQueue() 
   at System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
   at MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object) 
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) 
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
   at System.Windows.Threading.Dispatcher.InvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) 
   at MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) 
   at MS.Win32.UnsafeNativeMethods.DispatchMessage (System.Windows.Interop.MSG ByRef) 
   at System.Windows.Threading.Dispatcher.PushFrameImpl (System.Windows.Threading.DispatcherFrame) 
   at System.Windows.Threading.Dispatcher.PushFrame (System.Windows.Threading.DispatcherFrame) 
   at System.Windows.Threading.Dispatcher.Run() 
   at System.Windows.Application.RunDispatcher (System.Object) 
   at System.Windows.Application.RunInternal (System.Windows.Window) 
   at System.Windows.Application.Run (System.Windows.Window) 
   at BW000.App.Main() 
     
Event XML: 
 <event Xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
   <System> 
     <Provider Name=".NET Runtime" /> 
     <EventID Qualifiers="0"> 1026 </ EventID> 
     <level> 2 </ Level> 
     <Task> 0 </ Task> 
     <keywords> 0x80000000000000 </ Keywords> 
     <TimeCreated SystemTime="2012-09-13T07:12:51.000000000Z" /> 
     <EventRecordID> 525 </ EventRecordID> 
     <channel> Application </ Channel> 
     <computer> Freedom-PC </ Computer> 
     <Security /> 
   </ System> 
   <EventData> 
   <Data> Application: BW000.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.FileNotFoundException 
Stack: 
   at BW000.App.OnStartup (System.Windows.StartupEventArgs) 
   ate System.Windows.Application. <. ctor> b__1 (System.Object) 
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) 
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
   at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System.Object) 
   at System.Threading.ExecutionContext.runTryCode (System.Object) 
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (TryCode, Cleanup code, System.Object) 
   at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
   at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 
   at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 
   at System.Windows.Threading.DispatcherOperation.Invoke() 
   at System.Windows.Threading.Dispatcher.ProcessQueue() 
   at System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
   at MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object) 
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) 
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
   at System.Windows.Threading.Dispatcher.InvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) 
   at MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) 
   at MS.Win32.UnsafeNativeMethods.DispatchMessage (System.Windows.Interop.MSG ByRef) 
   at System.Windows.Threading.Dispatcher.PushFrameImpl (System.Windows.Threading.DispatcherFrame) 
   at System.Windows.Threading.Dispatcher.PushFrame (System.Windows.Threading.DispatcherFrame) 
   at System.Windows.Threading.Dispatcher.Run() 
   at System.Windows.Application.RunDispatcher (System.Object) 
   at System.Windows.Application.RunInternal (System.Windows.Window) 
   at System.Windows.Application.Run (System.Windows.Window) 
   at BW000.App.Main() 
</ Data> 
  </ Event Data> 
</ Event> 

這裏一些額外的信息,我發現:

Log Name: Application 
Source: Application Error 
Date: 13/09/2012 9:12:52 
Event ID: 1000 
Task Category: (100) 
Level: Error 
Keywords: Classic 
User: NA 
Computer: PC-freedom 
Description: 
Name of application with error: BW000.exe, version: 0.1.0.0, time stamp: 0x504dfc8f 
Name of module with error: KERNELBASE.dll, version: 6.1.7601.17514, time stamp: 0x4ce7bafa 
Exception code: 0xe0434352 
Fault offset: 0x0000b727 
ID of process error: 0xf90 
Start time of application with error: 0x01cd917f300ba4e0 
Path to application with error: C: \ Users \ freedom \ AppData \ Roaming \ Boomerweb \ Boomerweb Platform \ App \ BW000.exe 
Path to module with error: C: \ Windows \ syswow64 \ KERNELBASE.dll 
Report Id: 6e2030c0-fd72-11e1-9968-406186e5690b 
Event XML: 
<event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
   <System> 
     <Provider Name="Application Error" /> 
     <EventID Qualifiers="0"> 1000 </ EventID> 
     <level> 2 </ Level> 
     <Task> 100 </ Task> 
     <keywords> 0x80000000000000 </ Keywords> 
     <TimeCreated SystemTime="2012-09-13T07:12:52.000000000Z" /> 
     <EventRecordID> 526 </ EventRecordID> 
     <channel> Application </ Channel> 
     <computer> Freedom-PC </ Computer> 
     <Security /> 
   </ System> 
   <EventData> 
     <Data> BW000.exe </ Data> 
     <Data> 0.1.0.0 </ Data> 
     <Data> 504dfc8f </ Data> 
     <Data> KERNELBASE.dll </ Data> 
     <Data> 6.1.7601.17514 </ Data> 
     <Data> 4ce7bafa </ Data> 
     <Data> E0434352 </ Data> 
     <Data> 0000b727 </ Data> 
     <Data> F90 </ Data> 
     <Data> 01cd917f300ba4e0 </ Data> 
     <Data> C: \ Users \ freedom \ AppData \ Roaming \ Boomerweb \ Boomerweb Platform \ App \ BW000.exe </ Data> 
     <Data> C: \ Windows \ syswow64 \ KERNELBASE.dll </ Data> 
     <Data> 6e2030c0-fd72-11e1-9968-406186e5690b </ Data> 
   </ Event Data> 
</ Event> 
+0

「其他」計算機是否安裝了正確的.Net框架? – jrb

+0

Windows事件日誌顯示任何內容嗎?通常你會得到一個條目的堆棧跟蹤... – Simon

回答

3

對不起,這麼晚迴應,這個問題是不是在.NET中但尚未安裝的微軟再發行。

感謝您的回覆。

+0

哪些微軟可再發行? –

+1

Microsoft Visual C++ 2010 x86可再發行組件。 –

+0

對於安裝和部署項目,將合併模塊添加到依賴項,例如Microsoft_VC120_CRT_x86.msm – Sean

3

確保客戶端計算機有.NET的版本相同您用來創建應用程序的框架。