msiexec 覆盖命令行日志记录 [英] msiexec override command line logging

查看:56
本文介绍了msiexec 覆盖命令行日志记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些使用 exe 包装器安装的 msi 应用程序 exe 包装器似乎正在传递 msiexec/i (msifile)/L(一些日志记录路径和选项) 有没有办法覆盖这些日志记录选项,以便它记录到默认位置 C:\windows\temp 并生成完整的 voicewarmupx 日志.

I have some msi applications that are installed using a exe wrapper the exe wrapper appears to be passing in msiexec /i (msifile) /L(some logging path and options) is there a way to override these logging option so that it logs to the default location of C:\windows\temp and produce a full voicewarmupx log.

我已经尝试在注册表中将 DisableLoggingFromPackage 设置为 1,但没有看到任何效果.

I've tried setting DisableLoggingFromPackage to 1 in the registry but doesn't see to have any effect.

DisableLoggingFromPackage = 1

DisableLoggingFromPackage = 1

我想在默认日志记录位置接收完整的详细日志.

I want to receive a full verbose log in the default logging location.

推荐答案

总结:以下主要涉及以下潜在选项:

Summary: The below basically relates to the following, potential options:

  1. 组合多个日志记录策略(不一定能奏效).
  2. setup.exe 中提取 MSI,并按顺序为每个 MSI 使用您自己的命令行.

<小时>

1.记录

日志政策:抱歉,如果这已经完成,只需要确保:您可能想要启用全局日志政策(除非已经完成)结合 DisableLoggingFromPackage 然后重新启动?:


1. Logging

Logging Policies: Apologies if this is done already, just have to make sure: you might want to enable the global logging policy (unless it is done already) in combination with the DisableLoggingFromPackage and then reboot?:

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
"Logging"="voicewarmup"
"Debug"=dword:00000007
"DisableLoggingFromPackage"=dword:00000001

启用全局日志记录策略后,您无需为所有包重复日志记录命令,并且添加的 DisableLoggingFromPackage 策略应该使其适用于所有包.

With the global logging policy enabled you don't need to repeat logging commands for all packages, and the DisableLoggingFromPackage policy added as well should make it work for all packages.

有关日志记录的更多信息:关于一般日志记录的推荐答案:

More on Logging: Recommended answer on logging in general:

<小时>

启用策略后,请检查 64 位和 32 位注册表位置:


After enabling the policy, please check both the 64-bit and 32-bit registry locations:

HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer
HKLM\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\Installer

我相信这些位置指向相同的注册表数据,因此它们之间应该没有差异.请检查一下.

I believe these locations are pointing to the same registry data, so there should be no discrepancies between them. Please just check.

还要检查 HKCU 中的任何策略条目(如果可能的话 - 我认为不可能,每个用户的策略较少).

Also check for any policy entries in HKCU (if that is even possible - I don't think it is, there are fewer per-user policies).

Extract:您能否从 setup.exe 中提取 MSI 文件并按顺序运行它们- 使用您选择的确切命令行?我会这样做 - 特别是如果您使用分发系统并且您在公司环境中.

Extract: Can you extract the MSI files from the setup.exe and run them in sequence instead - with the exact command line of your choosing? I would do so - especially if you are using a distribution system and you are in a corporate environment.

旁注:有许多不同的 setup.exe 类型,每种类型都有自己的提取文件的方式.以下是有关此问题的答案:从 EXE 中提取 MSI.

WiX 捆绑包提取:从 WiX setup.exe 捆绑包中提取内容并不完全简单,因为您需要安装 WiX 工具集(除非最近发生了变化).首先下载并安装它.这是一个:WiX 快速入门 - 只是为了记录,但您只需要这个命令:

WiX Bundle Extraction: Extracting the content from a WiX setup.exe bundle is not entirely straightforward since you need the WiX toolset installed (unless this has changed recently). Download it and install it first. Here is a: WiX quick-start - just for the record, but all you need is this command:

"%WIX%bin\dark.exe" -x outputfolder setup.exe

更多在黑暗中(在第 4 节中).您应该将所有嵌入的内容提取到 "outputfolder".从那里拿走.许多嵌入式设置可以是标准运行时(JavaVC++ 运行时.NET 框架 等... - 您很少需要部署到托管公司系统的东西 - 它已经存在).

More on dark here (in section 4). You should get all embedded content extracted to "outputfolder". Take it from there. Many embedded setups could be standard runtimes (Java, VC++ runtimes, .NET framework, etc... - stuff you rarely need to deploy to a managed, corporate system - it is already there).

链接:

这篇关于msiexec 覆盖命令行日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆