【发布时间】:2013-02-01 18:11:39
【问题描述】:
我有一个需要在安装时注册的 .NET 程序集。我注意到直接使用regasm 与通过regasm 的注册表脚本安装时注册表存在细微差别。
这是我的测试:
我导出原来的 HKCR hive,然后运行:regasm my.dll
从那里,我导出后续的 HKCR 配置单元并执行差异。
然后我将该差异与regasm my.dll /regfile 的输出进行比较
有几个非常重要的条目是通过regasm my.dll 添加的,它们永远不会与regasm 命令的注册表文件输出一起添加。 为什么?
从安装的角度来看,我非常讨厌在安装过程中致电regasm。我宁愿只运行这个 .reg 脚本。我现在正在使用 InstallShield,它在后台也缺少额外的注册表项(它似乎嵌入了使用 /regfile 标志输出的注册表更改)。
【问题讨论】:
-
缺少哪些条目?
-
这是非常特定于应用程序的(GUID 不是“我们的”之一,但可能是由依赖项引入的?):
[HKEY_CLASSES_ROOT\CLSID\{xxxx}\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-080009B6F22B}] -
谷歌搜索似乎与 ESRI Mx 命令有关 - 您想知道什么问题的答案?
-
是的,与此有关。我的问题:为什么
regasm /regfile的输出不生成这个条目?此注册表项仅在直接执行regasm后才会出现在系统上。
标签: .net registry installshield