Visual studio 2010 Installshield MSI无法注册dll
我正在为我开发的解决方案构建一个安装程序。我的一个项目的输出是一个需要注册的dll。我正在用VisualStudio生成一个MSI,然后用InstallShield修改它。在visual studio中,我添加了一个需要管理员权限才能执行的自定义操作,并将dll的register属性设置为Visual studio 2010 Installshield MSI无法注册dll,visual-studio-2010,dll,windows-installer,installshield,Visual Studio 2010,Dll,Windows Installer,Installshield,我正在为我开发的解决方案构建一个安装程序。我的一个项目的输出是一个需要注册的dll。我正在用VisualStudio生成一个MSI,然后用InstallShield修改它。在visual studio中,我添加了一个需要管理员权限才能执行的自定义操作,并将dll的register属性设置为vsdrpCOMSelfReg。当我在没有管理员权限的情况下运行msi时,会显示一条消息,说明某个操作需要管理员角色,当我确认并更改用户帐户时,安装会顺利完成,但dll未注册。 我错过什么了吗?如何正确注册dl
vsdrpCOMSelfReg
。当我在没有管理员权限的情况下运行msi时,会显示一条消息,说明某个操作需要管理员角色,当我确认并更改用户帐户时,安装会顺利完成,但dll未注册。
我错过什么了吗?如何正确注册dll?
非常感谢您的帮助。自我注册不是Windows Installer的最佳做法。正确的方法是将COM元数据编写到MSI中,并允许MSI复制文件并应用注册表数据。在InstallShield中,可以通过为DLL创建组件、将DLL标记为密钥文件,然后右键单击该文件并选择Extract COM来实现此目的。然后InstallShield将模拟注册,并将该信息编入正确的表中。在干净的机器上构建和测试。不需要自定义操作,安装程序将正确支持回滚方案。自注册不是Windows安装程序的最佳做法。正确的方法是将COM元数据编写到MSI中,并允许MSI复制文件并应用注册表数据。在InstallShield中,可以通过为DLL创建组件、将DLL标记为密钥文件,然后右键单击该文件并选择Extract COM来实现此目的。然后InstallShield将模拟注册,并将该信息编入正确的表中。在干净的机器上构建和测试。不需要自定义操作,安装程序将正确支持回滚方案。即使是Visual Studio,也没有理由创建自定义操作来执行此操作。将文件标记为vsdrfCOM,类注册将在构建时提取到MSI的类表中。即使坚持自注册,也可以将其标记为vsdrfComSelfReg,并从MSI文件的SelfReg表中注册。完全没有自定义操作。无论如何,正如Christopher所说,由于许多原因,在安装时运行自注册是不好的做法,其中之一就是缺少依赖项 即使是Visual Studio,也没有理由创建自定义操作来执行此操作。将文件标记为vsdrfCOM,类注册将在构建时提取到MSI的类表中。即使坚持自注册,也可以将其标记为vsdrfComSelfReg,并从MSI文件的SelfReg表中注册。完全没有自定义操作。无论如何,正如Christopher所说,由于许多原因,在安装时运行自注册是不好的做法,其中之一就是缺少依赖项 为什么您要构建Visual Studio MSI,然后说InstallShield失败了?
我正在使用Visual Studio生成MSI,然后使用InstallShield进行修改。
这就是我说的为什么您要构建Visual Studio MSI,然后说InstallShield失败了?我正在使用Visual Studio生成MSI,然后使用InstallShield进行修改InstallShield。
这就是我说过的