问题标签 [regsvr32]
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.
windows - DLL 在机器上工作,而在另一台机器上则不行。相同的配置
我有一个需要在 Java 应用程序中使用的 DLL。这已经使用 Windows 32 位服务包 3 制作,因此 DLL 可以正常工作。现在我有另一台具有相同配置的机器需要使用它。
当我尝试在 java 中加载 lib 时,会出现以下错误:
当我在第一台机器上用Dependency Walker打开 DLL 时,没有问题发生,但是当我在机器上打开 DLL 时,它不起作用
这意味着什么?我尝试使用命令Regsvr32注册 dll,但显示了相同的错误。
windows - 64位资源管理器插件注册问题
我为资源管理器编写了一个 COM Dll,它扩展了 Windows 上下文菜单,通过 regsvr32 注册在 32 位 Windows 上可以正常工作,但在 64 位上它在没有任何线索的情况下无法工作。regsvr32 报告注册成功,尽管 Dll 不工作。我试图从 SysWow64 目录以及从 system32 调用 regsvr32,据我所知,这不是原因。检查注册表 - 当然,所有内容都写入注册表到 wow3264Node(因为安装是在 64 位操作系统上)。仍然没有任何反应。目前很难提供任何具体信息。任何人都可以建议或指出此类行为的其他可能原因。提前致谢。
c++ - 一个 C++ 客户端无法加载我们新注册的 COM 注册的 .NET .dll,另一个可以正常工作
我们有一个客户通过 COM 访问的旧 C/C++ .dll。
我们已经尝试用 i .NET 编写的新 .dll 替换旧的 .dll。
客户无法重新编译他们的客户端,因此旧的 .dll 可以简单地通过 COM 取消注册/注册新(使用 regsvr32 / regasm)替换,这一点很重要。
我们相信我们已经构建了具有与旧 COM 接口相同的 COM 接口的 .NET .dll;GUID、名称、dispid 等都匹配。我们已经通过编写自己的 C++ 测试应用程序验证了这一点,当我们取消注册旧的 .dll / 注册新的 .dll 时,它会继续工作。
问题是客户的客户端无法启动。
奇怪的是,如果我们保留旧的 .dll 注册(例如,两个 .dll 都已注册)它可以工作;客户的应用程序启动并调用我们新的 .dll 中的方法。但是,一旦我们取消注册旧的 .dll,应用程序就无法再次启动。
我们尝试了不同的方法来注册新的.dll;将 regasm 与 /codebase 选项、/tbl 等一起使用。
如果我使用 OLE/COM 查看器进行检查,我可以看到新旧 .dll 之间的一些细微差别,例如类型库“名称”不同。但我想既然我们自己的 C++ 测试客户端可以与任何一个 .dll 一起使用,那么 COM 接口是否足够相似?
请问,有人知道吗?一个 C++ 客户端如何加载我们的新 .dll 而另一个失败?如果我们让旧的 .dll 与新的 .dll 并行注册,为什么两者都可以工作?有什么解释为什么两个 C++ 客户端的行为不同吗?
更新:客户端中的错误消息说:
“运行时失败:CLSIDFromProgID。检查 [myDll].dll 是否已注册。”
亲切的问候 PT
azure - Windows azure 虚拟机中的并行配置问题
我正在做一个实验,目的是让可执行程序在 Windows azure 上运行。
首先,我尝试使用具有 Windows azure 角色的远程桌面使其工作(参考http://msdn.microsoft.com/en-us/library/windowsazure/gg443832.aspx),我将我的 exe 复制到远程桌面,并且一些dll,然后我使用“regsvr32.exe”注册这些dll,然后问题来了:“并排配置不正确”。
我知道当它在我自己的计算机上时如何解决这个问题(只需确保正确的依赖项位于“winsxs”目录中),但现在它在使用 Windows azure 角色的远程桌面中,我无权添加正确的依赖项到 winsxs 目录中。所以我来这里寻求帮助,在此先感谢!
PS:我无法更改我的 exe 引用的这些 dll。
winapi - 如何在没有 UAC 的情况下覆盖 windows 资源管理器的复制处理程序
我已经看到 Teracopy 和 CopyHandler,通过覆盖复制处理程序拦截副本。但就我而言,这唤醒了 UAC。
使用的代码:https://github.com/alphaonex86/Ultracopier/blob/master/plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp 到 PluginLoader::RegisterShellExtDll()
其他接缝也一样。主要是我使用 regsvr32 my_dll.dll 加载到资源管理器中。有些人有提示不要打开UAC?
谢谢。
command-line - BATCH/CMD:将 .txt 的每一行打印到一个变量中
目标:将计算机中的每个 dll 文件都传递到 regsvr32.exe
已完成: cd\
::REM 将每个文件和目录 (/s) 导出到 c: 根目录下的一个文件中,名为 dir.txt,只有文件名 (/b)
dir /s /b>>dir.txt
::REM Now ,这将包含每个扩展类型。我们只想要 dll,所以我们在 dll.txt 中找到它:
findstr ".dll$" dir.txt>>dll.txt
扭结:
现在,如果我想 regsvr32.exe “归档”现在在 dll.txt 中的每个文件,我需要以某种方式取出每行单独的每个文件名。我想知道是否有第三方命令行工具可以将文件的每一行导出到变量中。这样,我可以:
==========
::REM 假设这个工具有开关 /l 用于行号,和 /v:"" 用于变量使用,并在最后使用“文件”:
========================
然后该工具将处理文件每一行的每个路径,直到它自动退出,因为不会有更多的行。请注意,在循环之后我将 dll 设置为空,以便“如果未定义”每次都可以工作。
如果这种类型的第三方工具做不到,有没有办法用for?? 老实说,我从来没有学习过,也尝试过,但永远无法弄清楚。
任何帮助是极大的赞赏!
抱歉,如果这已经得到回答。
编辑/更新: 我发现了我将如何完成这项工作。
感谢: http: //pyrocam.com/re-register-all-dlls-to-fix-no-such-interface-supported-error-in-windows-7-after-installing-ie7-standalone/
和:阅读批处理文件中逐行的txt
第一个链接显示手动将开头替换为 regsvr32.exe
第二个显示如何在这种情况下使用 for {也感谢 craig65535 的帮助:)}
代码:
dll - 尝试注册 dll,但出现错误 DllRegisterServer entry point was not found
我有一个 .net 程序集 dll,我正在尝试使用 regsvr32 进行注册,但出现以下错误:
“已加载 dll 但未找到 DllRegisterServer 入口点”
在注册其他 dll 时也出现此错误。
dll - LoadLibrary project.dll 失败。指定的模块无法找到
当我尝试注册我的 C++/ATL 项目的 32 位版本时
我收到此错误:
project.dll 是我在 Visual Studio 10 上使用 ATL 构建的 dll。
64 位版本注册良好。
我错过了什么?
c# - 单击菜单项...没有反应
这是一个完全新手的问题,因为我的领域是 Java 而不是 C#,但我得到了构建 BHO 的任务,并且已经到了需要一个菜单项(在工具菜单内)来调用我的代码中的函数的地步。
我读到我必须声明并实现 IOleCommandTarget 接口,我这样做了。现在我需要将同一个类注册为 COM 对象。
显然要做到这一点,我需要用 [ComRegisterFunction] 声明几个函数,但即使这样做了,我也无法用 regsvr32 注册它们。并且在使用 DLL 导出查看器进行进一步检查时,这些功能似乎不存在 :(
我究竟做错了什么?
先感谢您
编辑:
好的,从我得到的评论来看,我认为我的 COM 对象已正确注册,但我的问题仍然存在:当我单击新创建的菜单项时,我没有反应或调试真正发生的事情的方法。
到目前为止,这是我的代码:
java - 在 Java 中使用 RegSvr32 注册 DLL - 如何隐藏警报出现
我在 RegSvr32 注册 dll 时遇到问题。在应用程序启动之前,一切都在 Java 下以编程方式完成。我的问题是:
是否有任何解决方案可以禁用显示 DLL 注册结果的警报?这是一个带有“确定”按钮的提示。
感谢您的任何建议。