2010-02-27 33 views
0

我面临一些奇怪的情况,当我选择/取消选择功能定制向导中的功能时,它有时会使窗口崩溃。它根本没有提供任何线索。它也不会一直发生。有没有办法在MSI安装向导中处理catch异常?

你有什么想法或遇到过这样的问题吗?我甚至可以使用安装日志来追踪根本原因。

+0

它可能与您的MSI文件是巨大的事实有关,正如您在此问题中提到的:http://stackoverflow.com/questions/2344731/improving-performance-of-wix-msi-install-卸载 – 2010-02-27 21:54:04

回答

1

您可以,如果你打开来接近隔离问题调试策略。按照Windows Installer小组blog中所述,将HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\InstallerDebug值设置为(dword)7。然后,您需要使用诸如DebugView之类的工具来查看Windows Installer将生成的额外输出。请注意,您可能必须重新启动“msiserver”服务才能使策略生效。让它感觉到它所表现的最佳运气;通常它只是很多SQL查询转储。

1

你有时可以从事件日志中获取MSI异常,但它们不会总是告诉你很多。

取而代之的是打开MSI的日志记录,这可以通过注册表或通过命令行来完成。要了解注册表选项,请访问this MS Support article。要从命令行执行此操作,您可以使用相同的开关,但它们显然只会持续一次安装。这是从MSIEXEC聚集了快照:

Logging Options 
    /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile> 


    i - Status messages 

    w - Nonfatal warnings 

    e - All error messages 

    a - Start up of actions 


    r - Action-specific records 

    u - User requests 

    c - Initial UI parameters 

    m - Out-of-memory or fatal exit information 

    o - Out-of-disk-space messages 

    p - Terminal properties 

    v - Verbose output 

    x - Extra debugging information 

    + - Append to existing log file 

    ! - Flush each line to the log 

    * - Log all information, except for v and x options 

    /log <LogFile> 

      Equivalent of /l* <LogFile> 

为了利用这些选项的优势,MSIEXEC直接使用:

msiexec.exe [path to your msi] /l [your options] 
+0

我提到安装日志与您在上面的命令行开关中的建议相同。我也无法从Verbose日志中找到它。 – sankar 2010-02-27 08:34:34

相关问题