3

我正在尝试为我的应用程序创建一个补丁。实现此处描述的示例按预期工作。但是,每个版本的文件都存储在不同的目录中。1.0 版文件位于 c:sample\1.0 中,1.1 版文件位于 c:sample\1.1 中。如果我将文件移动到一个位置,请创建 1.0 安装程序,修改文件,然后创建 1.1 安装程序;火炬的 wixmst 输出没有差异。当我运行 pyro 时,我得到:

警告 PYRO1079:文件柜“media1.cab”不包含任何文件。如果此补丁不包含任何文件,则可以安全地忽略此警告。否则,请在首次构建转换时尝试将 -p 传递给 torch.exe,或者将 ComponentRef 添加到您的 PatchFamily 创作中以将更改的文件拉入文件柜。

这对我来说是个问题,因为我的项目文件保存在单个 git 存储库中。我们使用分支和标记来描述版本。因此,我只有一个文件目录。

我有两个版本的 .msi 和 .wixpdb。

在这种情况下如何创建补丁?

4

1 回答 1

3

Pyro 需要访问 .wixmst 以及新旧文件。如果您只有一组文件(新的或旧的),那么补丁显然不会发现文件差异。这就是为什么你从 Pyro 那里得到错误的原因。

如果您使用 bindpaths 创建原始 .msi 文件(及其 .wixpdbs),那么您可以使用-btswitch 提供旧路径到 pyro 和新路径到-buswitch。如果您没有使用 bindpaths 并且您需要为旧文件重新创建旧目录结构并为新文件创建新目录结构。

如果您无法找到旧文件和新文件(绑定路径效果最好),那么您将不得不进行管理图像类型修补。

于 2013-04-16T20:19:36.047 回答