我用C#和SQLite编写了windows应用程序。当Microsoft Visual C++ 2010 Redistributable Package x86安装在PC应用程序上时,应用程序可以正常运行,但如果Microsoft Visual C++ 2010 Redistributable Package x86未安装,则应用程序无法运行。为什么?
SQLite依赖于Microsoft Visual C++ 2010 Redistributable Package x86吗?
发布于 2012-11-12 16:06:56
SQLite的版本是由VS2010编译的,它依赖于C运行时库,因此它需要Visual C++ 2010 Redistributable Package x86。
发布于 2012-11-12 16:07:32
是。SQLite可能是用C++编写的。它是使用/MD选项编译的,这意味着它在运行时需要msvcrt#.dlls。Restributable程序包安装此程序包,如果没有此程序包,它将无法运行
发布于 2014-01-04 02:19:28
SQLite依赖于Visual C++运行时,但是您的不需要在客户机上安装它。system.data.sqlite下载页面包含几个已经包含运行时的“静态”包。
所有的“静态”包都包含静态链接到适当版本的Visual C++运行时的本机或混合模式程序集二进制文件。通常,这些软件包用于客户计算机可能未安装所需版本的Visual C++运行时,并且由于权限有限而无法安装的情况。
例如,在我的机器上,我运行的是Windows8.1 x64,所以我使用了预编译的64位Windows64位静态链接二进制文件(.NET Framework4.0)并下载了Windows8.1
此二进制软件包包含System.Data.SQLite 1.0.90.0 (3.8.2)软件包的x64版本的所有二进制文件。用于x64的Visual C++ 2010 SP1运行时是静态链接的。需要.NET Framework4.0。
然后,我解压缩包并运行test.exe以确保一切正常。无需安装。
https://stackoverflow.com/questions/13340132
复制相似问题