2

是否可以检查现有安装程序并确定它是否是 WIX / WISE / OtherTechnology 安装程序?

4

2 回答 2

1

Windows 安装程序规范涵盖了这一点:

创建应用程序摘要属性

出于某种原因,ORCA 没有显示此字段,但一小段代码显示了它:

using Microsoft.Deployment.WindowsInstaller;
foreach (string file in Directory.GetFiles(@"C:\windows\installer", "*.msi", SearchOption.TopDirectoryOnly))
{
  using (Database database = new Database(file, DatabaseOpenMode.ReadOnly))
  {
    Console.WriteLine("{0} : {1}", database.ExecutePropertyQuery("ProductName"), database.SummaryInfo.CreatingApp);
  }                
}

返回有趣的结果...

于 2013-08-06T04:15:31.320 回答
0

可以使用 Windows 资源管理器检查所有文件:右键单击 » 属性,然后选择 Verison 或 Details。它可能不是结论性的。默认情况下,使用 WiX 构建的 Windows Installer 程序包会在可使用 Windows 资源管理器查看的属性中指出这一点。要完全访问 Windows Installer 程序包,您可以使用 Windows SDK 或 InstMSI 中的 Orca 等。如果有自定义操作二进制文件,您也可以提取它们(作为 DLL)并检查它们。自定义操作也可以对属性或自定义表使用某些命名约定。例如,WiX 使用 WIX_... 作为某些属性名称。同样,对话框可能具有可识别的名称或控件布局。

对于可执行文件,请尝试 CFF Explorer 或 UniExtractor。另外,the.exe /?可能只是告诉你。

但是,一般来说,没有规范或实际要求安装程序构建器或运行时应该是可识别的。

于 2013-08-06T03:04:00.387 回答