2017-03-29 175 views
0

我在WPF中創建了一個應用程序,它只是輪詢應用程序。現在我想在Windows啓動時啓動該應用程序(用戶登錄後)。我還使用Wix Toolset創建了一個安裝程序包,它將一個註冊表鍵添加到Software \ Microsoft \ Windows \ CurrentVersion \ Run。程序實際上試圖運行,但沒有發生錯誤。我可以從Windows獲得錯誤事件查看器,我無法理解此錯誤產生的位置。Wpf應用程序不在啓動時啓動,而是手動運行?

堆棧跟蹤:

Application: icBlync.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.DirectoryNotFoundException 
    at System.IO.__Error.WinIOError(Int32, System.String) 
    at System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean) 
    at System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare) 
    at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(System.Uri, System.IO.Stream, System.Windows.Media.Imaging.BitmapCacheOption, System.Guid ByRef, Boolean ByRef, System.IO.Stream ByRef, System.IO.UnmanagedMemoryStream ByRef, Microsoft.Win32.SafeHandles.SafeFileHandle ByRef) 
    at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(System.Uri, System.Uri, System.IO.Stream, System.Windows.Media.Imaging.BitmapCreateOptions, System.Windows.Media.Imaging.BitmapCacheOption, System.Net.Cache.RequestCachePolicy, Boolean) 
    at System.Windows.Media.Imaging.BitmapFrame.CreateFromUriOrStream(System.Uri, System.Uri, System.IO.Stream, System.Windows.Media.Imaging.BitmapCreateOptions, System.Windows.Media.Imaging.BitmapCacheOption, System.Net.Cache.RequestCachePolicy) 
    at System.Windows.Media.Imaging.BitmapFrame.Create(System.Uri, System.Net.Cache.RequestCachePolicy) 
    at System.Windows.Media.Imaging.BitmapFrame.Create(System.Uri) 
    at icBlync.Windows.SettingWindow..ctor() 
    at icBlync.App..ctor() 
    at icBlync.App.Main() 

請幫助。

+0

好了,對我來說,它看起來像應用程序(icBlync.exe)開始。當試圖訪問某個文件或目錄(讀/寫)時,它會因爲目錄尚未創建而中斷。你有沒有執行文件系統操作的代碼,或者你是否確定你的安裝程序創建了所有必需的路徑? –

+2

請注意,您的工作目錄可能不一樣,所以如果您使用相對路徑,它可能是一個問題。 –

+0

應用程序運行完美,如果我手動運行它。自動啓動時發生此錯誤。 –

回答

0

當應用程序從啓動啓動時,工作目錄不是安裝的目錄。所以當應用程序嘗試加載圖標時,它會給出System.IO.DirectoryNotFoundException

我剛換了工作目錄使用所安裝的目錄:

Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); 
相關問題