0

在我们的组织中,每次成功构建后,自动脚本都会将所有 MSI 从构建位置复制到共享文件夹内的新文件夹。有150多个项目。我面临的问题是,即使只更改了 20 个项目,自动脚本也会将所有 150 个 MSI 复制并粘贴到新文件夹中。因此,我无法确定哪个项目的 MSI 在最近的构建中经历了变化。如果我看到时间戳,则新文件夹中的所有 MSI 都是相同的。

任何人都可以建议任何方法来通过程序或使用任何工具手动识别修改后的 MSI 列表吗?如果是手动的,它不应该是一个一个的文件比较。

基本上,我想比较两个共享文件夹以生成修改后的 MSI 列表。

请注意:我们无权访问构建位置,也没有更改现有自动化脚本的范围。但我可以写新的。

4

1 回答 1

1

Windows 安装程序包有一个摘要信息流,其中包括上次保存时间/日期摘要属性。当您单击文件上的属性并转到详细信息页面(来源 | 内容创建属性)时,您可以在资源管理器中看到这一点。您可以使用任意数量的语言以编程方式访问它。如果使用 C#,请查看 Windows Installer XML 的 (WiX) 部署工具基础 (DTF) Microsoft.Deployment.WindowsInstaller 互操作程序集。它有一个 SummaryInfo 类,该类具有如下构造函数:

public SummaryInfo(
    string packagePath,
    bool enableWrite
)

从那里它有一个属性:

public DateTime LastSaveTime { get; set; }
于 2015-02-17T14:05:01.053 回答