2013-12-11 72 views
1

當缺少依賴項的EXE從批處理中運行時,能否捕獲錯誤? 在這種情況下,EXE加載失敗和我們的應用程序日誌爲空從批處理文件中捕獲缺失依賴項(dll)

我嘗試使用工具的Depends.exe檢查 的錯誤級別,甚至試圖預先檢查EXE但是他們的非工作

即mybat名.exe

運行這個-APP.EXE 做一些檢查..做一些事情

+0

您可以捕獲應用程序輸出。那是你需要的嗎? –

+0

如果應用程序由於缺少依賴關係而未加載,則沒有輸出。這正是我的問題 – Nir

+0

通常,如果可執行文件未找到依賴項,則會在Error out中引發異常。所以它可以被捕獲。這主要適用於控制檯應用程序,UI可以在MessageBox中引發錯誤。 –

回答

0

假設你知道什麼是依賴關係和位置,然後就可以查詢到。

if not exist "%windir%\system32\dependency1" goto :msg 
if not exist "%windir%\system32\dependency2" goto :msg 
if not exist "%windir%\system32\dependency3" goto :msg 
if not exist "%windir%\system32\dependency4" goto :msg 

:: batch code here 

goto :EOF  
:msg 
echo you need the extra xyz filez... 
+1

以這種方式,我將不得不爲每個應用程序或版本更新我的腳本。我正在尋找更通用的解決方案。我正在尋找一種方法來識別此錯誤,而不顯式檢查每個依賴項。 – Nir