我有一个VC ++(非托管)项目,我添加了performance counters using manifest method。一切都很好,我甚至有使用带有/ m:manifest开关的lodctr.exe工具显示编译和自动注册的构建步骤。
我遇到的问题是我现在需要安装程序(VS2008 Installer项目)在安装时进行注册(卸载时取消注册)。
我尝试通过自定义操作来设置它,该操作引用了CustomActionData
设置为/m:[TARGETDIR]PerfMon.manifest
的lodctr.exe工具,并使用unlodctr.exe进行自定义卸载操作的类似设置。
当安装程序运行时,我确实看到一个简短的cmd窗口闪存(没问题),但计数器没有注册。我运行了SysInternals的ProcMon工具,我甚至没有看到lodctr.exe进程。
我测试了在目标机器上手动运行lodctr.exe会注册计数器。
我用谷歌搜索了一个示例或解释如何使用Visual Studio安装程序项目,但是空了。它有一些面向.NET的示例,但对于非托管,硬件和冷VC ++都没有...
如何使用安装程序项目注册性能计数器清单?
答案 0 :(得分:1)
Visual Studio安装程序项目的功能非常有限。从Visual Studio 2012开始,不支持Visual Studio安装程序项目you should consider to use Windows Installer XML (WIX) instead。
将您的清单包含在WIX项目中,并使用WIX' PerfCounterManifest。