免注册 COM - COM dll 相对于客户端 exe 的位置

2024-05-08

我想使用免注册 com,这样我就不必注册我的旧 com 组件。但是,我希望能够将 com dll 放在不在客户端 exe 目录中或之下的位置,例如....\lib。我无法在服务器清单文件中执行此操作,因为它不允许相对或绝对路径。

有谁知道是否有办法解决这个问题?


更新: 我只找到了在 XP 上工作的相对路径。不过,我可以使用激活上下文 API 在 Windows Server 2008 上使用绝对路径,这很酷。我现在的问题是我的 COM 组件对托管数据库驱动程序有静态依赖项,但目前找不到它。根据我读到的有关清单文件的内容,我希望可以简单地将另一个元素添加到指向此 dll 的 COM 无注册表清单中,因为它与 COM dll 位于同一目录中,但我无法让它工作。因此,总而言之,我在一个目录中有一个 exe,它使用激活上下文 API 来引用另一个目录(不是 exe 目录的子目录)中的 COM 清单/dll,它可以正确找到并加载该目录。但我在与 COM dll 相同的目录中还有一个托管数据库驱动程序 dll,我想知道如何使用清单文件加载它 - 如果可能的话。


我通过将父目录作为当前目录运行 exe 来实现这一点。 即具有此文件夹结构

  • 父目录/
  • 父目录/myapp/
  • 父目录/一些依赖/

然后使用“parentdir”作为当前目录,您可以运行您的exe “.\myapp\myapp.exe” 并且 myapp.exe.manifest 可以包含对“somedependency”中某些内容的引用,如下所示

<file name=".\somedependency\somecomassembly.dll" />

这适用于 Windows Server

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

免注册 COM - COM dll 相对于客户端 exe 的位置 的相关文章

  • Delphi 导入组件 - 类型库与 ActiveX

    我正在尝试在 Delphi 中使用 Microsoft 终端服务主动客户端 我发现我可以通过 创建 COM tlb 文件 导入ActiveX控件 or 导入类型库 他们似乎都提供了相同的 tlb 源文件 两种方法之间有区别吗 Delphi
  • PHP 中的类未注册错误

    我们创建了一个 C 类库程序集 并将其设置为 COM 可见 以便能够从 PHP 调用其方法 这曾经运行良好 但现在我们想将其安装在 Windows Server 2008 服务器上 并且不断遇到 类未注册 错误 为了排除任何依赖性问题 我用
  • 引用参数返回未知大小的数组。如何处理?

    COM 组件公开一个 API 该 API 需要对象类型的 ref 参数 根据此 API 的文档 它将用值数组填充 ref 对象 现在我的问题是在产品环境中 我无法预测我将返回的元素数量 以下代码将起作用 COMClass objCOM ne
  • Mac OS 中的 COM 相当于什么?

    我是 Mac 编程领域的新手 有人可以告诉我 Mac 中可重用 COM 组件的等效项是什么 以及一些入门资源的链接 创建可重用的类似 COM 的组件并从调用应用程序引用这些组件 吗 谢谢 澄清 我想知道是否存在类似的技术 在操作系统级别受支
  • 如何在管理控制台中打开所选对象的属性对话框?

    我正在寻找为特定 Windows 对象打开默认属性对话框的可能性 例如 services msc 中特定服务的属性对话 taskschd msc 中特定计划任务的属性对话 etc 我不想与该对话交互或更改任何属性 我只想打开它们 让用户直接
  • 为什么 COM 忽略我的 DllSurrogate 条目?

    我知道这个问题 https stackoverflow com questions 1706429 how exactly do i config dcom to load my dll into a separate process 但我
  • 选择com的理由

    我想知道为什么人们会选择 Com 作为他的软件开发 技术 我的第一个想法是机器 编程语言的独立性 你的是啥呢 COM 是 Windows 上自动化和 IPC 的事实上的标准 尽管 Net 已经开始转移焦点 因此有些领域您根本没有 或没有 选
  • 如何使 SendKeys 在 IBM Host Access Library 中同步动作

    我用用于 COM 自动化的 IBM 主机访问类库 https www 01 ibm com support knowledgecenter SSEQ5Y 6 0 0 com ibm pcomm doc books html host acc
  • AxInterop 和 Interop 有什么区别?

    我已将 ocx 添加到 VS 的工具箱中 创建了两个 dll Interop NNN dll AxInterop NNN dll 每一个是什么 两者都需要吗 Interop xxx dll 和 AxInterop xxx dll 分别是引用
  • 如何使 .NET COM 对象成为单元线程?

    NET 对象默认是自由线程的 如果通过 COM 编组到另一个线程 它们总是会编组到自己 无论创建者线程是否为 STA 也无论它们的线程如何ThreadingModel注册表值 我怀疑 他们汇总了免费线程封送拆收器 http support
  • 使用 script/api 更改组件服务 > COM 安全中的访问权限?

    是否有一个 api 可以更改 COM 安全的访问权限 我需要将新值写入 编辑限制 和 编辑默认值 这些是普通的注册表设置吗 找不到如何设置这些条目 快速答案是是 它们是注册表设置 长答案是否 它们不是simple注册表设置 这些值是二进制的
  • 如何从 C# 等托管代码中使用 ActiveX 组件的嵌入式免注册清单?

    我想使用未在系统或用户范围内注册的特定版本的 ActiveX 组件 如果我使用清单文件 一切都会按预期工作 但是 嵌入式清单仅适用于 C 客户端代码 这是依赖声明
  • C# 如何获取 COM 接口的实例

    我做了很多谷歌搜索 试图找到获取 COM 接口实例的标准方法 微软在他们的文章中提供了一个例子COM 互操作第 1 部分 客户端教程 https msdn microsoft com en us library aa645736 v vs
  • Delphi COM 对象中的早期绑定和后期绑定在性能方面哪个更好

    在delphi中 如果要创建COM对象 可以通过两种方式来完成 第一个是早期绑定 例如 uses MSScriptControl TLB MS Script Control var obj IScriptControl begin obj
  • 如何使用 ClickOnce 安装 COM

    我已经安装了使用 TeeChart ActiveX COM 使用 ClickOnce 绘制图表的组件 如果我使用 regsvr32 teechart8 ocx 手动注册 TeeChart 我的 应用程序工作正常 但我想要并且需要使用安装应用
  • C# - 检索 COM+ 组件的属性?

    我的服务器 Windows Server 2003 上有一个 COM 组件 有什么方法可以以编程方式检索该组件的属性 例如使用的构造函数字符串 当我转到管理工具 gt 组件服务 gt COM 应用程序并右键单击我的组件时 这些是我希望能够检
  • 无法访问 VBA 中的 COM 公开方法

    我正在尝试在 VBA 中访问 COM 公开的方法 Problem 我看到所有默认方法 例如GetHashCode GetType and ToString 在 VBA 中但是not那些是 COM 接口的一部分并且专门编写为 COM 可见的
  • 为什么我不能在 Python 的新线程中创建 COM 对象?

    我正在尝试在 Python 的新线程中从 dll 创建 COM 对象 这样我就可以在该线程中运行消息泵 from comtypes client import CreateObject import threading class Mess
  • tlb 文件是否具有关联架构?

    我有一个 32 位 DLL 旨在通过 com 模型和关联的 tlb 文件进行访问 该 DLL 似乎是 x86 有没有办法从 x64 程序访问这种 DLL tlb 文件与 x86 x64 无关吗 我问这个问题是因为有些功能似乎可以工作 其他功
  • 我应该选择哪个 VC++ 运行时版本 - 静态还是动态?

    我正在开发一个 64 位进程内 VC ATL COM 服务器 它基本上只是将所有调用重定向到进程外 COM 服务器 所以我的COM服务器基本上什么都不做 最初它在 DLL 中使用 C 运行时 MD编译器开关 我注意到当我在干净的 64 位

随机推荐

  • PHP:测试三个变量是否相等

    我以前从未遇到过这种情况 但是如何测试三个变量是否相同 以下内容显然不起作用 但我想不出一种优雅 且正确 的方式来编写以下内容 if select above average select average select below aver
  • 从 MySQL 列创建 PHP 数组

    mysql fetch array会给我一个获取行的数组 从一列中所有行的值生成数组的最佳方法是什么 您可以循环遍历数组并创建一个新数组 如下所示 column array while row mysql fetch array info
  • 打字时使用 Roslyn 的 CompletionSevice 最有效的方法是什么?

    我在看罗斯林的CompletionService http source roslyn io Microsoft CodeAnalysis Features Completion CompletionService cs 53 and Sh
  • Dialogflow Google Assistant Alpha 版本始终失败,并显示以下消息:“For en:您的示例发音结构不正确。”

    Google Assistant Alpha 版本无法正常工作 它总是显示消息 对于 en 您的示例发音结构不正确 当您在操作发布后对其进行重命名时 就会发生这种情况 转到部署 gt 目录信息 gt 其他调用短语 并将调用短语替换为更新的操
  • GCC 对潜在有效的代码抛出 init-list-lifetime 警告?

    我在 Debian不稳定的GCC 9 3 0上运行 我从事的一个项目最近发生了变化 引入了类似于下面的代码 include
  • 如何为我的数独游戏制作 GUI? (摇摆)

    到目前为止 我已经编写了生成随机 9x9 数独网格的代码 我是Java的初学者 所以我有一些关于如何做UI的问题 显示数字的最佳方式是什么 我尝试创建 81 个 JTextFields 这非常乏味 而且我确信有一种有效的方法可以做到这一点
  • iPhone NSDateFormatter 时区转换

    我正在尝试创建一个格式化程序 将显示的日期格式转换为 NSDate 对象 NSString dateStr 2010 06 21T19 00 00 05 00 NSDateFormatter dateFormat NSDateFormatt
  • MySQL将多个表中的记录插入到新表中

    我正在尝试使用另外 2 个表中的记录填充一个新表 period states 是新的 空的 period states id period id sla id period 包含 15 条记录 periods id slas 包含 84 条
  • Maven 在 POM 中使用加密密码

    如何在 maven 3 中使用 pom xml 中的加密密码 我有一些使用对我们来说非常敏感的密码的pom 例如我们有POM要部署在Weblogic等应用程序服务器中或在数据库中运行脚本 并且我们不喜欢只按原样输入密码 我已经拥有部署工件的
  • 将 JAR 文件打包为 WAR 文件

    我有一系列依赖的Java项目 我想将它们打包成一个 JAR 文件 以便在我的 WAR 文件中使用 这些项目依赖于大量的外部库和项目 如log4j apache commons等 我选择 Eclipse 中的所有项目并导出为 JAR 文件 然
  • 是否可以在 RealmSwift 中使用枚举?

    我想做这样的事情 enum WeekDay case Monday Tuesday Wednesday Thursday Friday Saturday Sunday class Person Object dynamic var birt
  • 添加反斜杠而不转义[重复]

    这个问题在这里已经有答案了 我需要逃离 字符串中的 字符 问题是每当我string string replace 结果是 添加额外的反斜杠来转义原始反斜杠 如何删除这个多余的反斜杠 结果 仅显示 实际上字符串是 gt gt gt str g
  • PWA 可以访问联系人、GPS 或使用手机摄像头吗?

    PWA 可以访问联系人 GPS 或使用手机摄像头吗 这在任何系统 ios android 中都可能吗 是否有任何开发计划来实现这些功能 PWA 无法克服一些限制 you cannot访问电话上的联系人列表 另一方面 你can拍照并使用 GP
  • 将图表导出为图像 - 只需单击按钮

    我正在尝试创建一个按钮 将 图表 工作表中的图表导出为 jpeg 文件 这是我的代码 但它不断显示此错误 运行时错误 424 需要对象 具体来说 Set myChart Graphs ChartObjects 3 Name Chart4 这
  • 如何使用 Mikephil 饼图从项目中删除小数位

    这是整数的静态值 private int upload 14 bill 15 unbill 85 total 100 unupload 12 sign 10 unsign 90 print 12 unprint 88 设置饼图条目 Arra
  • 如何强制 Web API 识别查询字符串参数

    ASP NET MVC4 Web API v1 控制器定义如下 它应该接受 1 或 2 个查询字符串参数 然而 如果调用方法 ko 参数始终为 null 请求如下 如何修复以便 kclient 或 namepart 参数可以在查询字符串中传
  • 使用 Serialized 属性和实现 ISerialized 之间有什么区别?

    使用有什么区别Serializable属性并实现ISerializable界面 当您使用SerializableAttribute http msdn microsoft com en us library system serializa
  • 如何禁用 Spring Data Neo4j 的登录

    我从 spring neo4j 收到不需要的查询日志 如下所示 25 08 2018 23 47 07 597 restartedMain INFO o n o d bolt request BoltRequest executeReque
  • html iframe 中的字符错误

    对不起我的英语我说西班牙语 我正在尝试显示多个php and mysql将在 iframe 内显示的注册 问题是 iframe 向我显示特殊字符的错误 例如 重音符号 感叹号等 D ndecuestamenosyseconsumem s 这
  • 免注册 COM - COM dll 相对于客户端 exe 的位置

    我想使用免注册 com 这样我就不必注册我的旧 com 组件 但是 我希望能够将 com dll 放在不在客户端 exe 目录中或之下的位置 例如 lib 我无法在服务器清单文件中执行此操作 因为它不允许相对或绝对路径 有谁知道是否有办法解