如果安装程序存储了安装过程的日志,我可以在哪里找到该日志?
如果安装程序没有记录安装过程,我该如何让它记录?
答案1
Windows 安装程序日志通常保存在临时文件夹中,您可以通过运行或资源管理器栏并键入位置来访问该文件夹%temp%
。
其默认文件夹是:
C:\Users\<username>\AppData\Local\Temp
要自行启用 Windows 安装程序日志记录,请使用 Regedit.exe 打开注册表并创建以下路径和键:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
Reg_SZ: Logging
Value: voicewarmupx
值字段中的字母可以按任意顺序排列。每个字母打开不同的日志记录模式。对于 MSI 版本 1.1,每个字母的实际功能如下:
v - 详细输出
o - 磁盘空间不足消息
i——状态消息
c - 初始 UI 参数
e - 所有错误消息
w——非致命警告
a-启动行动
r - 特定操作记录
m - 内存不足或致命退出信息
u - 用户请求
p - 终端属性
+ -
附加到现有文件!- 将每一行刷新到日志中
x - 额外的调试信息。“x”标志仅在 Windows Server 2003 及更高版本的操作系统、MSI 可再发行版本 3.0 以及更高版本的 MSI 可再发行版本上可用。
“" - 通配符,记录除 v 和 x 选项之外的所有信息。要包含 v 和 x 选项,请指定 "/l“vx”。
注意:该选项仅用于故障排除目的,不应保留,因为这会对系统性能和磁盘空间产生不利影响。每次使用控制面板中的“添加/删除程序”工具时,都会创建一个新的 Msi*.log 文件。
请注意,以上内容仅适用于利用 Windows Installer 的 MSI 文件或设置。其他一些系统还会在临时文件夹、应用程序目录或硬盘根目录中创建日志文件。没有一个答案可以解决所有问题。
答案2
您还可以让安装程序根据需要在任意位置写入安装日志,而无需修改注册表。msiexec
使用 /L 选项从命令行运行安装程序。例如,
msiexec /i C:\Users\myusername\Downloads\somepackage.msi /L*v install.txt
这将运行安装脚本并将所有日志信息(详细)写入文件install.txt
/L 标志的选项包括:
i : Logs status messages.
w : Logs nonfatal warnings.
e : Logs all error messages.
a : Logs startup of actions.
r : Logs action-specific records.
u : Logs user requests.
c : Logs initial user interface parameters.
m : Logs out-of-memory.
p : Logs terminal properties.
v : Logs verbose output. To use v, specify /L*v.
+ : Appends to existing file.
! : Flushes each line to the log.
* : Logs all information except for the v option. This is a wildcard.
来源: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/msiexec.mspx
尽管 Microsoft 支持页面引用的是 Windows XP,但我已确认这适用于 Windows 7。