我想知道如何检测Windows平台应用程序(msi或exe)的安装文件中是否包含帮助文件。是否有任何方法可以在不先安装软件的情况下获取此信息?
当然,设置文件可以由许多设置工具创建,例如innosetup,installshield等。所以我想知道是否有一些通用的方法来解决这个问题。
答案 0 :(得分:1)
对于基于MSI的安装,这将非常简单。例如,您可以通过C#使用Microsoft.Deployment.WindowsInstaller interop将MSI作为InstallPackageClass打开,然后访问它的Files集合以查看它是否包含您关注的文件。
对于基于非MSI的安装,没有通用的方法,在大多数情况下,没有办法。看,这就是MSI的重点:拥有一个富含元数据的基于标准的软件包,以便能够看到它正在做什么。当您执行某些专有脚本驱动的安装程序时,您将失去这种开放性。
答案 1 :(得分:0)
如果是MSI文件,请使用Orca打开它,然后您可以查看文件名。
对于它们两者,您应该能够进行管理安装,这将提取文件,但不能注册任何内容。根据exe的来源,进行管理安装更改,因为每个供应商(installshield,innosetup等)都有自己的方式来运行管理安装。
对于MSI,它只是
msiexec /a <msi_filename>
对于exe,您必须查找如何传递/ a参数。