请注意,有更高版本的Visual C ++
2008可再发行组件包:SP1。但是,SP1和早期版本都不会将DLL安装到路径中。如下载页面所述(我的重点):
该软件包将安装C运行时(CRT),标准C
++,ATL,MFC,OpenMP和MSDIA库的运行时组件。对于支持并行部署模型(CRT,SCL,ATL,MFC,OpenMP)的库,它们将安装
在 支持并行程序集的Windows *** 作系统版本的 本机程序集缓存中,也称为WinSxS文件夹 。 。
您可能会在
%WINDIR%WinSxS文件夹中找到这些文件,而不是在路径中。我认为您需要做的是将相关DLL的清单信息(位于中
%WINDIR%WinSxSManifests)并入您的
setup.py。我添加了以下部分:
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4918" processorArchitecture="X86" publicKeyToken="1fc8b3b9a1e18e3b" language="*" /> </dependentAssembly></dependency>
在现有
<dependency>部分之后,立即重建exe:它运行正常。 注意: 根据所安装的Visual C
++文件的确切版本,以上信息可能并不完全正确。查看系统上的清单并使用正确的清单
version,
publicKeyToken等等。
另外,请查看此答案以了解如何与应用程序一起部署DLL(而不是假设目标系统中已存在DLL)。哦…我看到你问了那个原始问题;-)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)