如何提取exe文件的componentId

时间:2015-07-07 17:13:39

标签: visual-studio-2013 windows-installer orca

我正在尝试为Windows窗体应用程序创建msi设置。只有在本地系统上安装了Access数据库引擎12.0时才应安装此msi。

所以我试着在visual studio安装程序中添加午餐条件。现在,如果我想将此驱动程序作为新应用程序安装的先决条件,我需要此驱动程序的COMPONENETID以便我可以在启动条件中设置条件。

我有和Access数据库引擎12.0的exe,但无法弄清楚它的组件。我尝试使用ORCA工具来处理这个问题但是ORCA工具只能使用.msi而不能使用.exe。有人可以帮我解决这个问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果你有一个像WinZip这样的工具(在写这篇文章的时候有一个免费的eval版本)你可以打开那个exe文件,WinZip将为你提取文件而不安装它。将有一个MSI文件(上次我看上去称为AceRedist.msi),然后您可以按照您描述的方式使用Orca。

答案 1 :(得分:0)

您是否有任何理由采用这种方法来检测是否存在先决条件?在您的情况下,此处的先决条件似乎是Access数据库引擎12.0。

恕我直言,肯定有标准方法来检测Access数据库引擎12.0的存在。一个简单的谷歌带我到以下链接:

https://community.flexerasoftware.com/showthread.php?201524-Determine-Microsoft-Database-Access-Engine-Version

依赖第三方供应商的特定组件GUID肯定存在风险,可能会导致不必要的维护。

此致 Kiran Hegde