使用/ qn(静默模式)执行MSI时如何找出默认值?

时间:2009-10-28 00:09:35

标签: installer windows-installer

当我运行MSI(没有参数)时,我通常必须通过对话框单击我的方式并选择是否要安装到当前用户/所有用户,目标目录等。 使用/ qn(静音模式)运行MSI时会发生什么。如何找到所有这些对话框自动选择的答案?

2 个答案:

答案 0 :(得分:6)

MSI基本上是一个数据库。您可以使用Orca打开它并查看/更改设置。

  • 可以找到有关Orca的信息 here
  • 如何快速演练 使用Orca可以找到here
  • 有点与你有关 问题,您可以编辑哪些用户 安装程序将以静默方式安装 模式。信息为here

我希望这至少使你朝着正确的方向发展。

编辑:

例如,下载WiX 3.0安装程序并在Orca中打开它。

  1. 转到属性表,您将看到公共(大写)和私有属性的列表。
  2. 请注意,WIXUI_INSTALLDIR属性设置为APPLICATIONFOLDER
  3. 转到目录表,您会看到APPLICATIONFOLDER设置为默认值为“vqee3ld3|Windows Installer XML v3”或类似内容。
  4. 要查找哪个对话框设置此属性,请转到ControlEvent表。在这里,当用户单击Next控件时,您会看到InstallDirDlg触发事件SetTargetPath。此事件设置的参数为WIXUI_INSTALLDIR,后者又设置APPLICATIONFOLDER
  5. 您可以尝试编辑这些属性并运行安装程序以查看属性的更改方式。如果您有要设置的默认属性,则可以运行。例如,关闭Orca以释放msi文件上的锁并运行:

    msiexec /i Wix3.msi APPLICATIONFOLDER="C:\Program Files\WiX" /qn
    

    有关this powerpoint

    中MSI表结构的更多信息

答案 1 :(得分:1)

您可以通过命令行设置PUBLIC属性是正确的。这些属性始终为大写,并且通常始终列在“属性”表中,但不保证是这种情况。通过查看Property表,您应该能够解码每个公共财产的功能。如果没有,通常会有PDF或readme.txt形式的MSI文档,可以提供帮助。

使用正确的工具,您还可以查看每个MSI对话框的详细信息,并检查已定义的事件以设置它们。这需要一个工具,如Installshield或Wise。

静默安装的另一个可能选项是我刚才意识到的内置MSI功能:AdminProperties属性。请参阅此处的信息:http://msdn.microsoft.com/en-us/library/aa367542(v=vs.85).aspx