Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 创建MSI日志文件_Logging_Windows Installer - Fatal编程技术网

Logging 创建MSI日志文件

Logging 创建MSI日志文件,logging,windows-installer,Logging,Windows Installer,我一直在尝试使用以下命令为安装程序的问题创建日志文件: msiexec /i "installer.msi" /l*v "log.log" msiexec /i "installer.msi" /l*v msiexec /l*v /i "installer.msi" msiexec /l*v "log.log" /i "installer.msi" 以及该命令的其他几个变体,但它始终会弹出一个窗口,说明哪些命令行参数对msiexec有效。让msi文件创建日志的正确方法是什么?我有windows

我一直在尝试使用以下命令为安装程序的问题创建日志文件:

msiexec /i "installer.msi" /l*v "log.log"
msiexec /i "installer.msi" /l*v
msiexec /l*v /i "installer.msi"
msiexec /l*v "log.log" /i "installer.msi"

以及该命令的其他几个变体,但它始终会弹出一个窗口,说明哪些命令行参数对msiexec有效。让msi文件创建日志的正确方法是什么?我有windows installer 4.5。

第一个和最后一个命令行是正确的:

msiexec /i "installer.msi" /l*v "log.log"
msiexec /l*v "log.log" /i "installer.msi"

在这种情况下,您可以删除引号。

如果您使用的是Visual Studio 2008,请使用大写“
/L
”作为日志选项。忽略小写“
/l

msiexec /i "installer.msi" /L*v "log.log"

在以后版本的
msiexec

中,这似乎已被修复。选项不区分大小写;当然,大写字母
L
比小写字母
L
更有特色。说“命令行选项不区分大小写。”(页面上的第二句)。我一直使用小写的
/I
/l
选项。这可能取决于哪个版本。我写答案是因为在VisualStudio2008中需要大写字母L。似乎MS已经解决了这个问题,因为我刚刚在Visual Studio 2013中再次尝试,它接受小写L。我刚刚在重新启动后再次尝试,第一个命令立即生效。不知道出了什么问题,但它现在正在记录。可能是.log或.msi被进程锁定,但失败了。或者Windows Installer服务由于某种原因变得不稳定。我的经验是,最好始终指定MSI文件的完整路径。如果不知道msiexec命令的上下文,就无法判断这是否是问题所在。-包括如何使日志记录基于策略并始终可用。