我正在尝试修复已发布的基于 Windows Installer 的设置。该修复是针对卸载软件包时发生的错误。为此,我想提供一个在卸载之前应用的 .mst 转换文件。安装产品后是否可以使用转换?或者可以在开始卸载之前将转换应用于已安装的 .msi 文件吗?我使用的命令行是这样的:
msiexec.exe /x {Product-Code} TRANSFORMS={Path-To}\bugfix.mst
我正在尝试修复已发布的基于 Windows Installer 的设置。该修复是针对卸载软件包时发生的错误。为此,我想提供一个在卸载之前应用的 .mst 转换文件。安装产品后是否可以使用转换?或者可以在开始卸载之前将转换应用于已安装的 .msi 文件吗?我使用的命令行是这样的:
msiexec.exe /x {Product-Code} TRANSFORMS={Path-To}\bugfix.mst
转换仅在首次安装时应用,或作为补丁的一部分在内部应用。要解决此类问题,您应该考虑应用次要升级(尽管如果大小是一个主要问题,您应该能够将次要升级打包为补丁)。确保v
作为REINSTALLMODE
属性的一部分传递,以便新包替换旧包;通常vomus
对于该属性来说是一个很好的价值。
您可以通过编辑应用程序的 HKEY_CLASSES_ROOT\Installer\Products 条目来应用转换。
找到您的产品,添加一个名为 TRANSFORMS 的值并将其指向您的新转换。然后,当卸载开始时,它将使用该转换。
好的。我知道这是一个旧帖子。但除了上述内容之外,还有一些内容。
Vividos 有点幸运,可以使用 REINSTALLMODE=VOMUS 将错误修复应用于 MSI,其中现有缓存 MSI 使用新安装程序“重新缓存”。
但是,如果错误出现在 MSI 安装期间应用的转换中,则“v”会失败。'v' 重新缓存 MSI,但不重新缓存应用到它的转换。
在这种情况下,用户必须手动从“C:\windows\installer[ProductCodeOfTheMsi]”重新缓存 MST(使用 VBScript 或其他)。您将在此处找到旧 MST,并且您的 BUFIX.MST 应与上述位置中的旧 MST 名称相同并将其替换。
如果您想像 Brian 提到的那样通过注册表路由;将 MST 名称更改为您的新 MST 名称及其位置。