17370845950

如何手动创建config.msi配置文件 config.msi自定义设置的实用指南

手动创建 config.msi 文件是为了定制 msi 安装包的行为,通过预设安装路径、功能选择等属性实现自动化部署;2. 需使用 orca 编辑器查看 msi 文件结构,定位 property、feature 和 component 表以确定需修改的属性;3. config.msi 为文本文件,格式包括 [productcode]value=、[property]、[feature] 等字段,分别填入正确的 productcode、安装路径、功能名称及安装状态;4. 必须将 config.msi 转换为 .mst 文件,因为 msiexec 的 transforms 参数仅支持 mst 格式的 transform 补丁文件;5. 使用 msiexec /i 安装时需附加 /qn 静默参数、/l*v 输出详细日志,并通过 transforms 指定生成的 .mst 文件;6. 调试时应检查 productcode 是否匹配、属性与功能名称是否准确、路径是否有效,并利用 orca 的 validate 功能验证 .mst 文件,结合安装日志逐步排查问题,最终在测试环境中确认配置无误后完成静默安装。

手动创建

config.msi
文件,实际上就是为你即将安装的 MSI 包定制安装行为。它允许你预先设定一些安装选项,比如安装路径、功能选择等等,避免安装过程中频繁的人工干预。这在批量部署软件或者需要高度定制化安装时非常有用。

解决方案:

  1. 理解 MSI 文件的结构: MSI 文件本质上是一个数据库,包含了安装程序的所有信息。而

    config.msi
    则是用来修改这个数据库的。

  2. 使用 Orca 编辑器: Orca 是微软提供的一个免费 MSI 编辑器,可以用来查看和修改 MSI 文件。你可以在 Windows SDK 中找到它。安装 Orca 后,右键点击 MSI 文件,选择 "Edit with Orca"。

  3. 定位需要修改的属性: 在 Orca 中,你可以查看 MSI 文件的所有表。通常,你需要关注以下几个表:

    • Property
      :包含了安装程序使用的各种属性,比如
      INSTALLDIR
      (安装路径)。
    • Feature
      :定义了安装程序包含的各个功能模块。
    • Component
      :定义了组成功能的各个组件。
  4. 创建

    config.msi
    文件:
    config.msi
    文件是一个文本文件,使用特定的格式来修改 MSI 数据库。基本的格式是:

    [ProductCode]
    value=<你的 MSI 文件的 ProductCode>
    
    [Property]
    INSTALLDIR=<新的安装路径>
    
    [Feature]
    =
    • <你的 MSI 文件的 ProductCode>
      :可以在 Orca 的
      Property
      表中找到。
    • <新的安装路径>
      :你想要设置的安装路径,比如
      C:\MyApplication
    • :功能名称,可以在 Orca 的
      Feature
      表中找到。
    • :功能的安装状态,可以是
      Local
      (安装到本地),
      Absent
      (不安装),
      Advertise
      (仅做广告)。

    例如,你想把安装路径设置为

    D:\Program Files\MyApplication
    ,并且只安装 "Core" 功能,不安装 "Optional" 功能,你的
    config.msi
    文件可能如下所示:

    [ProductCode]
    value={12345678-1234-1234-1234-1234567890AB}
    
    [Property]
    INSTALLDIR=D:\Program Files\MyApplication
    
    [Feature]
    Core=Local
    Optional=Absent
  5. 使用

    msiexec
    命令安装: 使用
    msiexec
    命令来安装 MSI 文件,并指定
    config.msi
    文件。

    msiexec /i <你的 MSI 文件名>.msi /qn /L*v install.log TRANSFORMS=<你的 config.msi 文件名>.mst
    • /i
      :指定要安装的 MSI 文件。
    • /qn
      :指定静默安装,不显示任何界面。
    • /L*v install.log
      :指定安装日志文件。
    • TRANSFORMS=<你的 config.msi 文件名>.mst
      :指定使用
      config.msi
      文件。 注意,这里需要将
      config.msi
      转换为
      .mst
      文件。可以使用 Orca 打开
      config.msi
      文件,然后选择 "Transform" -> "Generate Transform",保存为
      .mst
      文件。

如何找到MSI文件的ProductCode?

ProductCode 是 MSI 文件的一个重要标识符,它唯一地标识了你的应用程序。找到它的方法很简单:

  1. 使用 Orca 编辑器: 打开你的 MSI 文件。
  2. 查看 Property 表: 在 Orca 的左侧面板中,找到 "Property" 表,点击它。
  3. 查找 ProductCode 属性: 在 "Property" 表的右侧,你会看到一个名为 "ProductCode" 的属性,它的值就是你需要的 ProductCode。 通常是一个 GUID 格式的字符串,例如
    {12345678-1234-1234-1234-1234567890AB}

为什么要将config.msi转换为MST文件?

实际上,

TRANSFORMS
参数期望的是一个
.mst
文件,也就是 Transform 文件。 Transform 文件是 MSI 的一种补丁机制,它可以用来修改 MSI 数据库,而无需直接修改原始的 MSI 文件。 虽然
config.msi
文件包含了修改 MSI 数据库的信息,但
msiexec
命令并不直接支持使用
config.msi
文件。所以,你需要使用 Orca 将
config.msi
文件转换为
.mst
文件,才能通过
TRANSFORMS
参数来应用这些修改。

静默安装时如何调试config.msi配置?

静默安装的好处是自动化,坏处是出问题了不容易发现。调试

config.msi
配置,尤其是在静默安装模式下,需要一些技巧:

  1. 详细的安装日志:

    msiexec
    命令中使用
    /L*v install.log
    参数,生成详细的安装日志。打开
    install.log
    文件,仔细查看是否有错误或警告信息。

  2. 逐步调试: 如果安装失败,可以尝试逐步调试。

    • 先不使用
      config.msi
      文件,直接安装 MSI 文件,看看是否能正常安装。
    • 如果直接安装没问题,再尝试使用
      config.msi
      文件,但不要使用静默安装,而是显示安装界面,看看是否有错误提示。
    • 最后,再使用静默安装,并结合安装日志来排查问题。
  3. 检查 ProductCode: 确保

    config.msi
    文件中的 ProductCode 与 MSI 文件的 ProductCode 完全一致。

  4. 检查属性名称和值: 确保

    config.msi
    文件中的属性名称和值是正确的。特别是安装路径,要确保路径是有效的。

  5. 检查功能名称和安装状态: 确保

    config.msi
    文件中的功能名称和安装状态是正确的。功能名称必须与 MSI 文件中的功能名称完全一致。

  6. 使用 Orca 验证 Transform 文件: 使用 Orca 打开

    .mst
    文件,然后选择 "Tools" -> "Validate"。Orca 会检查 Transform 文件是否有错误。

  7. 测试环境: 最好在一个测试环境中进行调试,避免影响生产环境。

通过这些方法,你应该能够找到

config.msi
配置中的问题,并成功地进行静默安装。