使用WiX注册ActiveX exe服务器 [英] Register ActiveX exe server using WiX
问题描述
我有几个VB6 ActiveX服务器exe文件,需要在安装之前注册才能使用。
I have several VB6 ActiveX server exe files which need to be registered on install before they can be used.
我已经尝试使用Heat提取信息,但它
I have tried using Heat to extract the information but it only generates a file element.
这些文件可以通过使用/ regserver开关调用来注册,并通过使用/ unregserver开关调用它们来取消注册。我明白这不是正确的方法。
These files can be registered by calling them with the /regserver switch and unregister by calling them with the /unregserver switch. I understand this is not the correct way to this. Instead I should add the registry keys and other required elements to my wix source.
我的问题是我如何找到注册表项和其他元素我需要注册这些ActiveX exe文件。
My question is how do I find out what registry keys and other element I require to register these ActiveX exe files. Seeing as Heat seems unable to harvest this information.
推荐答案
我有与WiX 2.0 tallow相同的问题,不得不实现注册表收获外部服务器。以下是 patched tallow 。
I had the same problem with tallow from WiX 2.0 and had to implement registry harvesting for out-of-proc servers. Here is the patched tallow. Would be nice to merge the ProcessWithInjectedDll class to Heat and probably converge to the main trunk at some point.
请注意,VB6运行时的大量cruft会在生成的注册表项中获得。生成的输出不可用,没有一些调整。这是CleanupRegInclude.vbs可以是有用的。
Beware that lots of cruft from VB6 runtime gets in the generated registry keys. The generated output is unusable without some tweaking. That's when CleanupRegInclude.vbs can be useful.
最后但并非最不重要的是,绝对文件名和路径是无用的。您必须改用#YourComponent和$ YourComponent(查看MSI文档)。
Last but not least, absolute filenames and paths are useless. You have to use #YourComponent and $YourComponent instead (check the MSI documentation).
这篇关于使用WiX注册ActiveX exe服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!