msiexec覆盖命令行日志记录

时间:2019-08-03 15:44:57

标签: windows-installer msiexec

我有一些使用exe包装程序安装的msi应用程序,该exe包装程序似乎是通过msiexec / i(msifile)/ L(某些日志记录路径和选项)传递的,有一种方法可以覆盖这些日志记录选项,以便它记录到C:\ windows \ temp的默认位置,并生成完整的voicewarmupx日志。

我尝试在注册表中将DisableLoggingFromPackage设置为1,但没有效果。

DisableLoggingFromPackage = 1

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

1 个答案:

答案 0 :(得分:1)

  

摘要 :以下内容基本上涉及以下潜在选项:

     
      
  1. 合并几个 logging policies (不是肯定的,这可以工作)。
  2.   
  3. setup.exe 中提取MSI,并依次对每个MSI使用您自己的命令行。
  4.   

1。记录

日志记录策略 :抱歉,如果已经完成,只需确保:您可能希望在以下位置启用全局日志记录策略(除非已完成)。与 DisableLoggingFromPackage 组合,然后重新启动?:

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

启用了全局日志记录策略后,您无需对所有软件包重复执行日志记录命令,并且添加的 DisableLoggingFromPackage 策略也应使其对所有软件包都有效。

有关日志记录的更多信息 :有关常规日志记录的建议答案:

  

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

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

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

还要检查HKCU中是否有任何策略条目(如果可能的话-我认为不是,每个用户的策略会更少)。


2。 MSI提取

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

边注 :有许多不同的 setup.exe 类型,每种类型都有其自己的提取文件的方式。这是有关此问题的答案:Extract MSI from EXE

WiX捆绑包提取 :从WiX setup.exe 捆绑包中提取内容并不完全简单,因为您需要{{ 3}}已安装(除非最近已更改)。下载并首先安装。这是一个:WiX toolset-仅用于记录,但您只需要此命令:

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

WiX quick-start(在第4节中)。您应该将所有嵌入的内容提取到 "outputfolder" 。从那里拿走。许多嵌入式设置可以是标准运行时( Java VC++ runtimes .NET framework etc... -您几乎不需要将它们部署到托管的公司系统中的东西-它已经存在)。


链接