我有一个C++ activex控件,我需要为它制作一个安装程序。它需要删除dll并创建一些注册表项。
我有大约6个.RGS文件,我通过regsvr32做了自我注册,这是可行的。
为了安装程序,我手动将RGS脚本移植到visual studio 2008 windows安装程序注册表GUI中。我觉得不可能做一个确切的端口(例如像ForceRemove这样的RGS关键字)。
没有从IDL文件生成这些文件的方法吗?我做错了吗?
发布于 2010-08-26 06:53:41
SelfReg不是微系统互连安装的最佳实践,因为它在进程外并且很脆弱。Visual Studio2008安装程序是有限的,但您应该能够将Register属性设置为vsdrfCOM而不是vsdrfCOMSelfReg。这将导致从您的DLL中获取COM元数据,并在MSI中进行本机创作。
在构建您的MSI之后,您应该注意到SelfReg表是空的,并且注册表中有一系列自动为您的COM数据编写的行。
注意: VDPROJ在提取这个COM时有点古怪,所以它可能无法工作。您可能需要考虑使用更强大的工具,如InstallShield或Windows Installer XML。
发布于 2010-08-26 00:59:29
你做错了。.rgs文件在那里,这样组件就可以自行安装。任何安装程序都支持让组件自行安装。例如,在Visual Studio安装项目中设置Register属性。
https://stackoverflow.com/questions/3568253
复制相似问题