2012-05-30 50 views
0

嘗試使用CDB調試msi安裝程序的安裝過程時, cdb -g -G -logo c:\ log.log c:\ temp \ abc.msi I得到以下錯誤,說 「無法執行abc.msi」,Win32錯誤On193 「%1不是有效的Win32應用程序」。 調試對象初始化失敗,Win32錯誤On193 「%1不是有效的Win32應用程序」 安裝程序路徑中沒有空格。錯誤193使用cdb調試msi安裝程序

+1

msi不是可執行文件;它是由安裝程序子系統(msiexec.exe)處理的軟件包。不過,我真的不知道如何去調試它。 – Luke

回答

1

您可以使用映像文件執行選項(IFEO)讓OS啓動調試器,然後讓調試器啓動調試對象。在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下創建一個名爲msiexec.exe的密鑰。在該新密鑰中創建一個名爲Debugger的REG_SZ值,並將其設置爲<path_to_cdb> -g -G -logo c:\log.log c:\temp\abc.msi

注意:我通常將此與windbg.exe而不是cdb.exe一起使用。我認爲cdb.exe可能需要一個命令提示符,所以試試windbg.exe或ntsd.exe。

注意2:您可能需要刪除-g選項,以便在開始執行之前有機會設置一些斷點。

您可以在調試工具for Windows附帶的debugger.chm幫助文件中找到關於IFEO的更多信息。