WinSxS:如何依赖特定版本的gdiplus.dll?

2023-11-30

我需要添加对特定版本的 GDIPlus 的依赖项。这是我想要的 GDI+ 版本:

alt text

我想确保我使用此版本是出于特定的兼容性原因。

我已将程序集清单添加到我的可执行文件中,定义了对版本的依赖关系GdiPlus:

<dependency>
   <dependentAssembly>
      <assemblyIdentity 
            type="win32" name="Microsoft.Windows.GdiPlus" 
            pubicKeyToken="6595b64144ccf1df" 
            version="5.1.3102.2180" processorArchitecture="x86"
            language="*" />
   </dependentAssembly>
</dependency>

除了当我运行我的应用程序时,Windows 的 fusion loader 会从 Side-by-Side 文件夹中提供一些其他版本的 gdiplus.dll,我可以在 Process Explorer 中看到它:

alt text

它给了我版本5.02.6002.18005, 而不是5.1.3102.2180.

所以问题是:如何获取对特定版本的 Windows dll 的依赖关系?


您的“问题”是安装了一个策略文件,该文件指定可以将 5.1.3102.2180 的请求重定向到 5.02.6002.18005

这通常是一件好事。它允许应用程序在清单中指定它们构建的版本,但是当引入关键的安全修复程序时,操作系统可以将应用程序重定向到兼容版本。

因此,这里将发生的情况是,您的应用程序将在任何仅安装了 5.1 的 PC 上链接到 GDI+ 5.1。但任何配备 5.2 GDI+ 的 PC,您都会被重定向到该位置。

如果您确实有一个诚实的理由为什么要使用 5.1,即使 5.2 可用......我认为您可以使用应用程序配置文件来管理它。

创建一个名为 yourapp.exe.config 的文件 - 如果应用程序中导入 GDI+ 的模块是 dll,那么它将是 thedll.dll.2.config

但是我不确定如何构造绑定重定向。即,考虑到策略文件重定向,我不确定您是否需要将旧版本重定向回其本身,或将新版本重定向回旧版本。或者是什么。可能需要一些尝试和错误。

.config 文件中的数据看起来几乎与清单文件中的数据完全相同。像这样的东西(它几乎完全模仿了winsxs中安装的策略文件的内容,该文件正在执行您不想要的重定向)。

<configuration>
  <windows>
    <assemblyBinding xmlns=...>
      <dependentAssembly name="GdiPlus...>
        <bindingRedirect oldVersion="5.1.x.x" newVersion="5.1.x.x"/>

为了使“oldVersion”的选择更容易,它支持范围语法。所以

oldVersion="5.0.0.0-5.3.0.0"

将是确保整个 GdiPlus 版本重定向到特定版本的简单方法。

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

WinSxS:如何依赖特定版本的gdiplus.dll? 的相关文章

  • HBRUSH 转 RGB 值

    你能得到RGB值吗HBRUSH或者从刷子ID 例如 我正在寻找GRAY BRUSH以 RGB 值表示 您想使用获取对象 http msdn microsoft com en us library windows desktop dd1449
  • C# 中的序列化和对象版本控制

    如果我想序列化一个对象 我必须使用 Serializable 属性和所有成员变量将被写入该文件 我不知道如何进行版本控制 例如如果我添加一个新的成员变量 重命名变量或仅删除变量 然后打开 反序列化 文件 如何确定对象 文件版本 以便我可以正
  • 在 Jenkins 中执行批处理文件

    我有一个简单的批处理文件 我想要从 Jenkins 调用 运行 执行该文件 Jenkins 中有同样的插件吗 如何从 Jenkins 执行批处理文件 如果有相同的教程或文档 无需为此添加新插件 在Jenkins 选择您的工作名称并转到配置部
  • 为什么我的文件路径中出现 Unicode 转义的语法错误? [复制]

    这个问题在这里已经有答案了 我想要访问的文件夹名为 python 位于我的桌面上 当我尝试访问它时出现以下错误 gt gt gt os chdir C Users expoperialed Desktop Python SyntaxErro
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • Windows7上python3.5无法安装BeautifulSoup4

    我已经从下载了 beautifulsoup4 4 5 3 tar gzhttps www crummy com software BeautifulSoup bs4 download 4 5 https www crummy com sof
  • 在OpenCV中将YUV转换为BGR或RGB

    我有一个电视采集卡 其输入内容为 YUV 格式 我在这里看到了与此问题类似的其他帖子 并尝试尝试所述的所有可能的方法 但它们都没有提供清晰的图像 目前最好的结果是 OpenCVcvCvtColor scr dst CV YUV2BGR 函数
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 确定用于映射网络驱动器的域和用户名

    使用带有 SP1 的 Windows 7 Enterprise 但我希望得到适用于 Windows XP 2003 2008 Vista 7 的通用答案 从命令提示符处 我执行net use命令将 Z 驱动器映射到另一台计算机上的共享 但我
  • 取消后调用 boost::asio 异步处理程序没有错误

    我的代码在单个线程中使用 boost asio 和 io service 来执行各种套接字操作 所有操作都是异步的 每个处理程序都依赖于boost system error code 特别boost asio error operation
  • Kerberos 双跳

    我们遇到了臭名昭著的 Kerberos 双跳问题 这是一个全新的域 是从以前使用模拟和委派的另一个提供商迁移而来的 我们已将操作系统升级到最新的 SQL 服务器 2017 WPF 应用程序 使用域凭据 gt Web 服务 IIS 10 上的
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 如何获取 TextRenderer 使用的确切文本边距

    System Windows Forms TextRenderer DrawText方法根据 的值呈现带或不带左右填充的格式化文本flags范围 TextFormatFlags NoPadding 将文本紧密地装入边界框 TextForma
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • teracopy 如何替换默认的 Windows 副本

    我问了这个问题Windows 文件复制内部结构 动态加密 https stackoverflow com questions 24220382 windows file copy internals on the fly encryptio

随机推荐

  • 是否有一行语法用于构造包含对临时对象的引用的结构?

    考虑以下无效的 Rust 代码 有一个结构体Foo包含对第二个结构的引用Bar struct Foo lt a gt bar a Bar impl lt a gt Foo lt a gt fn new bar a Bar gt Foo lt
  • PHP 使用函数返回值作为数组

    为什么这有效 cacheMatchesNotPlayed cache gt load externalData cacheMatchesNotPlayed cacheMatchesNotPlayed matchesNotPlayed 但这不
  • 帕斯卡的三角行序列

    我目前正在努力寻找帕斯卡三角形的行序列 我想输入行号并输出列表中直到该行的数字序列 例如 Pascal 4 会给出结果 1 1 1 1 2 1 1 3 3 1 我正在尝试使用我发现的算法 这是算法本身 Vc Vc 1 r c c r and
  • MySQL:选择日期范围内的所有日期并获取与日期匹配的表数据

    有一个表 其中包含这样的数据 id date 1 2016 07 11 2 2016 07 11 3 2016 07 15 4 2016 07 15 5 2016 07 15 6 2016 07 16 7 2016 07 19 8 2016
  • Android EditText setError() 无法按预期工作

    我有问题setError on EditText 当活动打开时 它会检查某些字段是否为空 如果为空 则在其上设置错误消息 但是 只有当我在字段中写入一些文本然后将其删除时 才会显示感叹号图标 如果我失去对该字段的关注 该图标将再次消失 两个
  • Hadoop Mapreduce 控制台输出说明

    我是hadoop环境的新手 我已经设置了2节点hadoop集群 然后我运行示例 MapReduce 应用程序 实际上是字数 然后我得到这样的输出 File System Counters FILE Number of bytes read
  • 关于 unique_ptr 性能

    我经常读到 在大多数情况下 unique ptr 会比 share ptr 更受青睐 因为 unique ptr 是不可复制的 并且具有移动语义 由于复制和引用计数 shared ptr 会增加开销 但是当我在某些情况下测试 unique
  • Simba ODBC 连接到增量表并使用 .Net C# 从增量格式表读取数据

    我正在尝试使用 C 通过 simba odbc 驱动程序从增量格式表中读取数据 增量格式表示例 已按照中的说明下载并配置 simba odbchttps www simba com products Spark doc ODBC Insta
  • 硬件加速活动 - 如何获取 OpenGL 纹理大小限制?

    我正在尝试在 Honeycomb 中启用硬件加速 并在 Canvas 上显示一些位图 一切正常 但对于大型位图 一维 gt 2048 我在日志中收到错误 OpenGLRenderer 位图太大 无法上传到纹理中 我知道这是因为硬件限制 如果
  • JSF commandButton - 将 POST 参数传递到外部站点

    我需要一个将我重定向到不同站点并发送 POST 参数的链接 就像是
  • php文件上传问题

    这段代码在我的本地主机上运行正常 我正在使用 xampp 1 7 3 但是当我把它放入实时服务器时它显示Possible file upload attack upload 是服务器上 public html 文件夹下的文件夹 我可以通过该
  • NodeJS 数组同步?

    var membersStatArray membersArray forEach function member db doneTodo find victor id member id then arrayOfUserVictories
  • PHP、MySQL 和时区

    我正在尝试在我的应用程序中集成时区系统 到目前为止 我确实努力避免制作时区感知应用程序 但它现在是强制性要求 所以别无选择 时区这件事超出了我的想象 我已经阅读了 PHP net 和其他网站上的几个主题 包括但不限于 SO 但我始终无法掌握
  • Java - 如何从 Android 中的 azure 移动服务检索和使用单个值

    我是 azure 的新手 但我知道某些事情 例如如何检索数据并将数据存储到 azure 为此我遵循了 azure 官方文档 链接在这里 https azure microsoft com en in documentation articl
  • 如何使用 C# 读取和标记(突出显示)pdf 文件

    我有一个 pdf 文件 我正在逐页阅读该文件 现在从第 4 页开始 我的 pdf 包含帐单信息 这些帐单信息位于示例部分下 比如说一个是本地帐单信息 另一个是 STD 帐单信息等 现在根据我的要求 如果用户想要验证本地账单信息 我的代码应该
  • 在 MVC 4 中将图像附加到 ActionLink

    我在 MVC 4 应用程序中使用带有 id 的 ActionLink 并在 css 中分配 actionLink id 图像 但实际上我做错了 不管用 这是我的代码 div class logo container Html ActionL
  • 设置 NSManagedObject 上双精度属性的值

    我正在尝试在我的应用程序上实现地图功能 但是 我希望将纬度和经度从存储在核心数据中的对象传递到地图中 但是 当我启动应用程序时 我在设置对象的初始值时遇到问题 到目前为止 我已经尝试了两种不同的方法 每种方法收到的错误都是 将 double
  • 从互联网上的txt文件中获取文本

    我有一个 uwp 我需要从互联网上保存的 txt 文件中获取文本以进行字符串下载文件并将文本获取到字符串时遇到问题 这是我的代码 var webRequest WebRequest Create http yourUrl using var
  • missViewControllerAnimated自定义动画

    我试图用自定义动画调用missViewControllerAnimated 但它似乎不起作用 当我呈现视图控制器时 如下所示 cameraUI UIImagePickerController cameraUI delegate self c
  • WinSxS:如何依赖特定版本的gdiplus.dll?

    我需要添加对特定版本的 GDIPlus 的依赖项 这是我想要的 GDI 版本 我想确保我使用此版本是出于特定的兼容性原因 我已将程序集清单添加到我的可执行文件中 定义了对版本的依赖关系GdiPlus