【问题标题】:Generating DLLs from an MC file?从 MC 文件生成 DLL?
【发布时间】:2011-06-07 18:32:47
【问题描述】:

我正在接管一个遗留项目,但在将其安装到 Windows 7 中时遇到了问题。

该项目是用 VB 编码的,我们的 IDE 是带有 VSS 的 Visual Studio 2005(我知道这很有趣)。它最初是为 XP 创建的。最初的开发人员正在协调,但不在该项目的维护团队中,并承认代码格式很差,并评论说这是他的第一个大型项目。

当我在 Visual Studio 2005 中生成调试或发布版本时,该项目运行良好,并且我可以在构建它的 Windows 7 机器上运行它。但是,我生成的用于安装的 MSI 在 Windows 7 上运行时会失败。

这似乎是一个问题,即与项目打包的 DLL 对于 Windows 7 不正确,但它们是通过 MC 文件生成的。我有源 MC 文件,因此尝试使用 MS 的 mc.exe 工具及其对应工具来创建 dll,但没有看到任何输出。

我看到的关于使用 MC 文件的唯一演练并不是很有帮助:mc_tutorial MS mc.exe page

其他人可以指导我完成哪些步骤是必要的,或者向我指出一些更有用的资源吗?

mc.exe 的实际高质量手册页会非常好,而不是相当有限的 MS 文档,但也许这些天我被宠坏了。

【问题讨论】:

  • 据我所知,mc.exe 不会创建 .dll。它从您包含在项目中的清单生成资源文件。
  • @Michael Steel:我相信您可能是正确的,但我并不能真正理解此 DLL 生成所涉及的过程。我通常使用 Java 或 perl/python,所以这是一个完全不同的工作环境。如果你能指出我的概述,那就太好了。
  • 使用mc.exe 的一个地方是在使用 ETW(Windows 事件跟踪)时从事件提供程序清单生成资源文件。关于 ETW 的全部内容,有一个 Microsoft blog entry。编写和编译事件清单记录在MSDN

标签: windows-7 visual-studio-2005 mc


【解决方案1】:
  1. 在您的计算机中查找 mc.exe(mc.exe 是 windows sdk 的一部分,通常位于 C:\Program Files (x86)\Windows Kits\10\bin\10.0。.\ x64\mc.exe)。
  2. 在 windows 命令提示符下运行:“C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\mc.exe”-U sample.mc
  3. 以上命令运行后:"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\rc.exe" -r sample.rc
  4. 上述命令将在您的 sample.mc 文件位置生成标头。
  5. 运行此命令生成 dll:link -dll -noentry -out:sample.dll sample.res

【讨论】:

  • 这是十年后的事,我已经继续前进,所以不能尝试这个,但这看起来对以后的其他人来说是一个很好的参考,所以我将它标记为接受。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
  • 1970-01-01
相关资源
最近更新 更多