问题标签 [dllregistration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2349 浏览

64-bit - Win2008 R2 x64 中 DllRegisterServer 上的 E_FAIL

我们在 Windows Server 2008 R2 x64 上调用 c:\windows\syswow64\regsvr32.exe 时收到以下错误。这在 Win2003 x64 上使用我们的 32 位 COM DLL 可以正常工作,因此我们可以在 32 位进程中使用它们。

它发生在我们的所有 ATL COM DLL 上,并且似乎与 DLL 加载依赖项无关。(尝试使用depends.exe,没有什么明显的。)

> 模块“.\foo_com.dll”已加载,但对 DllRegisterServer 的调用失败,错误代码为 0x80070005。<<<

这些 DLL 是用 VS2008、ATL (UNICODE) 构建的。

有任何想法吗?

谢谢,柯克

0 投票
2 回答
9478 浏览

.net - 如何在没有 RegAsm.exe 的情况下注册类型库

我想知道是否可以在不使用RegAsm 工具的情况下注册类型库。这是我的情况,希望能解释我为什么要这样做:

我正在.NET 中开发一个程序集,它将为我们较旧的 VB6 应用程序提供一些现代功能。我已经使用 RegAsm 在我的开发机器上成功注册了程序集和类型库,如下所示:

上面的命令生成类型库 (MyAssembly.tlb) 并注册它以及注册程序集。我需要注册类型库,以便我可以在 VB6 中使用 Intellisense。

我对这种方法的问题 是,在生成类型库文件时我没有与TlbExp.exe相同的控制级别。特别是,我需要使用 TlbExp 的 /names 标志来指定我的属性名称的正确大小写(RegAsm 屠宰它们)。所以如果我使用 TlbExp 来生成我的 tlb 文件,有没有什么方法可以将它与程序集注册过程分开注册?

编辑: da_m_n 的回答对于我提出的问题是正确的。但是,我错误地假设,仅仅因为 RegAsm 可以注册一个类型库,就必须注册 tlb 以便在 VB6 中引用它。所以现在我正在注册程序集并使用固定名称引用未注册的 TlbExp 生成的 tlb。

0 投票
3 回答
2675 浏览

c++ - DllRegisterServer 错误 0xc0000005,(C++ COM Dll)。如何在 Visual Studio 2008 中调试我的 DllRegisterServer 函数?

我写了一个 COM dll,并希望使用

我收到一个错误:

我想调试我的 DllRegsiterServer 函数,但我不知道如何设置 Visual Studio 2008 以在调试模式下运行 regsvr32...

谢谢

罗伊

0 投票
1 回答
915 浏览

c# - 使用 C# 安装项目取消注册 COM dll

我已经坚持了一段时间了。我将尽我所能用最简单的术语进行解释。我会尊重任何帮助。

我有一个 C# 项目,它使用我不断更新的 VB6 编译的 ActiveX DLL。我编译设置项目,将其发送给客户端,然后他们运行设置。在构建更新的安装项目时,我会增加安装项目的“版本”,这样它就不会因为“已安装另一个版本”而烦恼。

几次更新后开始发生的事情我开始注意到 DLL 不会在安装程序中更新到新版本。客户端计算机已安装并注册了原始 DLL。第一个症状:从客户端 C# 代码中找不到方法异常。

这不是一个共享的 DLL,只有这个应用程序需要它。

我注意到在卸载应用程序时(通过常规过程),DLL 也不会从应用程序文件夹中删除,尽管我会将此文件的属性“永久”设置为 false。注册表中的注册条目也被维护。

我会在 VS6.0 中更新 DLL 的版本(通常会增加内部版本号),然后再构建它。然后在 VS2008 中,我将其从“参考”中删除,然后从“浏览选项卡”中再次添加,而无需在我的开发机器上重新注册并从 COM 选项卡中添加它。

我已经想到了这些选项。

  • 安装项目中的自定义步骤到 regsvr32.exe /u '我的 dll 的硬编码路径' 在卸载时(丑陋)
  • 以某种方式找出“隔离”属性如何在不注册的情况下为我工作
  • 了解如何执行实际检查库版本并在每次安装时相应地更新文件的安装项目“条件”)

任何帮助都会非常受欢迎。

0 投票
4 回答
3910 浏览

visual-c++ - 无法使用 regsvr32 注册 .dll - 仅在发布版本中

我在尝试注册使用 regsvr32 创建的 .dll 时遇到了一个奇怪的问题。

在开发过程中一切顺利,调试版本注册并正常工作。现在我想创建一个发布版本,但该版本不再注册。

regsvr32 出现以下错误:

一些研究将我带到了依赖步行者,它确实告诉了我这一点

它还显示了对调试版本所没有的“crtdll.dll”的依赖(函数视图显示了通常应该在 ole32.dll 中的 soem 函数),其颜色为红色。

到目前为止一切都很好,我猜它与依赖行者在那里显示的内容有某种关系。

但我从这里去哪里?我如何解决它?任何帮助将不胜感激,这已经让我忙了几个小时。

谢谢!

0 投票
1 回答
3676 浏览

setup-deployment - 为什么在 VB 部署包中使用“DLLSelfRegister”?

为什么要DLLSelfRegister在 VB 部署包中使用?

我正在尝试使用日历控件解决可能的冲突问题:msacal70.ocx. 显然与较新的 Office 日历控件存在冲突。这可能是Automation Error在将包部署到某些机器后显示的原因。

我注意到用于此控件setup.lst的 VB 部署包。DLLSelfRegister允许 DLL 自行注册会产生什么影响,并且在安装包期间删除DLLSelfRegister会导致注册?ocx

0 投票
3 回答
2268 浏览

c# - 如何检查 .NET DLL 是否已注册?

我有 .NET 解决方案(一个项目用 C++ COM 编写,其他项目用 C# 编写)及其库。

我想制作一些 starttest-tool 来测试所有 C#、C++ 库是否已正确注册。我怎样才能做到这一点?如果某些 C# 或 C++ COM 库被 regitered,我如何询问 .NET?br

0 投票
2 回答
3782 浏览

.net - 注册 .NET COM 互操作 dll 可以从项目构建中使用,但不能从 regasm 中使用

我正在尝试为 Web 应用程序部署 .NET COM 互操作 dll。在开发过程中,对于需要注册 COM 互操作的程序集,我在构建属性下选中了“注册 COM 互操作”选项。在这种方法中,一切正常。

但是,当我部署 ASP.NET 应用程序并尝试使用 regasm 工具手动注册程序集时,它不起作用。:(

我的最终目标是这样的:

一旦用户来到站点并且没有注册对象,用户可以使用 ClickOnce 注册 dll。此后,用户不应该收到任何提示,一切都应该正常工作!

先感谢您。

0 投票
1 回答
1379 浏览

.net - 为什么我的 .NET ActiveX 控件无法在 Internet Explorer 中注册?

我正在编写一个在 Internet Explorer 中运行的 ActiveX 控件。我正在使用 C# 和 System.Runtime.InteropServices 命名空间。

当我使用 手动在我的开发机器上注册控件时regasm,控件可以工作,我可以使用 Javascript 的new ActiveXObject(..)功能在其上调用方法。

但是,对于生产,我想使用标签将对象嵌入到我的页面中<OBJECT>,这就是我遇到问题的地方。

ActiveX DLL 注册失败,当我检查 ActiveX 注册错误消息(使用代码下载错误日志查看器)时,我看到以下内容:

OCX 注册:(我的 control.dll 的路径)中没有 DllRegisterServer 入口点。跳过注册。

任何人都可以帮助我了解这一点吗?我的 C# 代码是否需要方法来执行DllRegisterServer操作?.NET开发的ActiveX控件可以这样使用吗?

非常感谢。

0 投票
0 回答
161 浏览

.net - .net系统中所有注册的dll

.NET 中是否可以获取 Windows 操作系统中所有已注册 dll 的列表。谁能给我提供 C# 代码。

谢谢。