【问题标题】:GetModuleFileName from MSI来自 MSI 的 GetModuleFileName
【发布时间】:2010-11-16 00:48:22
【问题描述】:

我尝试使用“GetModuleFileName”获取当前“setup.msi”位置,在 setup.msi 安装程序中使用 mydll.dll。

但总是给我“c:\windows\system\setup.msi”。 有没有人知道为什么?请帮忙。

【问题讨论】:

  • GetModuleFileName 只返回当前进程中加载​​的模块(即可执行文件或 DLL)的名称。你能解释一下你到底需要什么吗?
  • 谢谢。我真正的问题是如何使用自定义操作 DLL 从 MSI 中提取或打开单个文件。
  • MSI 文件与 .CAB 存档基本相同。
  • 非常感谢。我用另一种方式解决了我的问题。

标签: c++ windows-installer installation


【解决方案1】:

您提到了 C++,所以我假设您正在创建一个类型 1 自定义操作,如 here 所述。如果是这样,我猜您正试图找出安装发生的位置,以便您可以引用文件或其他内容。如果是这样,请查看 MsiGetProperty 函数和 OriginalDatabase 属性。如果这不能满足您的需求,请查看以 MsiSourceListGetInfo 开头的 MsiSourceList* 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多