这通常是通过在驻留在可执行文件中的清单文件中指定DLL依赖关系来完成的。但是,我不知道如何在Python中实现这一点。加载DLL不是问题,而是在SXS中找到合适的DLL来加载才是问题所在。在
有没有一个标准的程序来指定在哪里找到DLL?在这个例子中,假设它住在这里:
c:\windows\winsxs\amd64_my_handy_lib_<public_key_token>_1.0.0.0_none_<some_ID>
我真的需要手动搜索c:\windows\winsxs
目录,按名称查找DLL,然后检查父目录是否包含正确的版本?在
我只是对Python项目做得还不够,不知道用什么适当的方法来实现这一点。在
下面是一个从WinSxS目录加载CRT的示例。在
actctx.舱单:
actctx.py:
^{pr2}$输出:
这是在python3.4.2下测试的,python3.4.2是用vs2010构建的,并与msvcr100.dll链接。因此,至少在这种情况下,设置激活上下文确实是必需的,否则加载msvcr90.dll将失败,并出现
ERROR_MOD_NOT_FOUND
。在相关问题 更多 >
编程相关推荐