如何跟踪 Windows 安装程序创建的所有文件和目录并将其重新打包为 ZIP?

如何跟踪 Windows 安装程序创建的所有文件和目录并将其重新打包为 ZIP?

我有很多以 Windows EXE 形式提供的旧版 Daz 3D 内容安装程序,我需要能够在 macOS 中安装它们。如今,Daz 以 ZIP 文件的形式提供所有内容以供跨平台使用,并且通常可以以这种较新的形式重新下载旧购买的内容。但是,Daz 不再提供其中的很多内容,因此我无法获得 ZIP 版本。我必须自己制作一个。

因此,我正在寻找某种方法来确定 EXE 在 Windows 中安装的具体内容和位置,并自动将其转换为 ZIP,或者至少生成一个列表,以便我可以手动压缩副本。Daz 使用非常复杂的目录结构,因此“只看”不是一个选项;任何给定的安装程序都可能将 100 多个文件安装到 20 多个子目录中,深度达十几个,包括一些可能覆盖旧文件的文件。

我认为这些安装程序都不会执行任何注册表操作,并且无论如何它都不适用于用例(最终适用于 macOS)。

我看到有人问过类似的问题(“如何跟踪安装程序所做的更改?”),但它是关于 macOS 安装程序的。“程序安装记录以供将来手动安装”是关于在多台机器上复制安装过程。“跟踪文件系统和注册表的更改”主要是关于注册表的内容,以及使用 VM 和 MS 应用程序认证套件。最后一个问题还提到了 Process Monitor(MS sysinternals 应用程序),它似乎可以做到这一点,但相当复杂。

我实际上只是在寻找可以指向目录的东西,以显示时间 X 和时间 Y 之间发生了什么变化(甚至在“5 分钟前运行”和“刚刚再次运行”之间)。我知道如何在 Unix/Linux 中使用脚本来执行此类操作,但不知道如何在 Windows 中执行此类操作(尽管可以采用类似的 [命令行] 解决方案;它不必是某个 GUI 应用程序)。

答案1

我会看看类似的东西Revo 卸载程序它将跟踪并记录安装,以便以后能够完全卸载它。

根据应用程序比较页面来看https://www.revouninstaller.com/products/revo-uninstaller-free/免费版本可能无法以易于访问的方式记录此信息,但专业版提供免费试用。如果您不想特别关注 sysinternals、procmon 或命令行内容,可能值得一看。

正如评论中提到的,许多(但不是全部).exe 安装程序都可以解压 - 甚至可以在 Mac 上解压,使用也许BetterZip(付费)或柯卡(捐赠软件,可免费下载或从 App Store 付费)
将任何东西打包回 zip 包中非常简单,只需右键单击 > 压缩即可,但要将其解压到 Mac 上的正确位置,您需要构建专用安装程序甚至 Applescript。使用类似 Mac 的文件夹引用将位置设置为“可识别”层次结构,然后将其用作记事本手动复制到真实位置,这可能要简单得多。

相关内容