如何在VisualStudio中为MFCActiveX创建MSI

如何在VisualStudio中为MFCActiveX创建MSI,mfc,windows-installer,Mfc,Windows Installer,有人能给我解释一下为MFC Active X控件创建MSI的简单方法吗?如果可能的话,它可以在工作站上注册控件 谢谢,Windows Installer(.MSI)是一个SDK。通常,最佳做法是使用COM/注册表表,而不是通过SelfReg表或调用DllRegisterServer()的任何其他技术(例如Regsvr32)退出进程 但是,如果不了解用于生成MSI数据库的创作工具,则无法确切地告诉您如何执行此操作。在包含ActiveX控件项目的解决方案中: 右键单击解决方案,选择添加->新建项目。

有人能给我解释一下为MFC Active X控件创建MSI的简单方法吗?如果可能的话,它可以在工作站上注册控件

谢谢,Windows Installer(.MSI)是一个SDK。通常,最佳做法是使用COM/注册表表,而不是通过SelfReg表或调用DllRegisterServer()的任何其他技术(例如Regsvr32)退出进程


但是,如果不了解用于生成MSI数据库的创作工具,则无法确切地告诉您如何执行此操作。

在包含ActiveX控件项目的解决方案中:

  • 右键单击解决方案,选择添加->新建项目。选择“安装项目”
  • 右键单击新的安装项目,选择“添加”,然后选择“项目输出”。
  • 从ActiveX控件项目中选择主输出。
  • 在安装项目下,右键单击“主要输出自…”并选择“属性”
  • 寄存器属性设置为vsdrpCOMSelfReg


    (使用Visual Studio 2010进行测试)

    我从未使用过MSI,但这不只是将DLL放入目录并调用REGSVR32的问题吗?它应该很简单,实际上MSI采用了相反的方法,因为它是一种声明式编程语言,而不是命令式的。调用DllRegisterServer()被认为是进程外的,而且很脆弱。