首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未注册installshield light ActiveX dll

未注册installshield light ActiveX dll
EN

Stack Overflow用户
提问于 2012-07-31 22:14:42
回答 1查看 781关注 0票数 0

我使用的是Visual Studio2010和免费版本的Installshield。该应用程序包括一个从Excel调用的ActiveX组件。在项目生成属性页上选中“注册COM Interop”选项。当我在XP计算机上运行安装时,dll没有注册。如果我手动运行regasm /tlb:命令,应用程序将正常工作。

问题: 1.如何通过installshield日志文件验证注册已经运行? 2.如果注册失败,日志会显示什么样的错误消息? 2. installshield是否要求dll必须是强名称的?(不是) 3.是否有其他故障排除建议?

提前谢谢你,

柯里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-01 00:01:57

下面是我处理这种情况的方法:

1)建立干净的操作系统。

2)安装您的软件。

3)使用注册表比较实用程序,如InstallWatch专业版来快照注册表。

4)调用Regasm。

5)再次捕获注册表并创建增量。过滤掉不相关的更改。

6)将这些更改重新创作到InstallShield项目中。重建并重复该过程以验证是否成功。

那么为什么这个坏了呢?我通常会发现这是由于Regasm中的一个已知行为造成的。

当您设置COM = true时,您就是在告诉InstallShield调用regasm /regfile,然后在构建过程中收集数据并将其写入安装程序。但这里有个问题:

(已添加强调)

您可以使用/regfile选项生成包含注册表项的.reg文件,而不是直接对注册表进行更改。您可以通过使用注册表编辑器工具(Regedit.exe)导入.reg文件来更新计算机上的注册表。请注意,.reg文件不包含可由用户定义的寄存器函数进行的任何注册表更新。请注意,/regfile选项仅发出托管类的注册表项。此选项不发出TypeLibID或InterfaceID的条目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11742185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档