我的程序应该作为系统库安装什么类型的库?

时间:2014-06-26 14:05:23

标签: shared-libraries system inno-setup libraries

我正在通过Inno Setup在Qt和安装程序中构建音频处理应用程序。最近,测试应用程序的同事很难运行它,因为" VCOMP100.DLL"失踪。我们已经经历了几个版本并且没有得到错误,但我仍然会将它包含在安装程序中。但是,我的vcomp100.dll版本在我的系统文件中 - 这是否意味着我应该在那里安装它?所以我想知道:

我的安装程序应该在系统目录中安装哪些类型的库?一方面,重复的数据是浪费的数据,但另一方面,我很担心搞乱系统文件。我有~5种类型的库:

  1. 非常基本的C / C ++运行时库(msvcp100,msvcr100)
  2. Unicode支持库(icudt51,icuin51,icuuc51)
  3. OpenGL作为Qt(libEGL,libGLESv2)的一部分
  4. Qt专用库(Qt5Core,Qt5Gui,Qt5Widgets)
  5. 声音处理库(soxr,libsndfile,portaudio)
  6. 你能解释一下在哪里安装,但更重要的是,为什么?

1 个答案:

答案 0 :(得分:0)

请勿直接安装这些文件。

使用生产该库的公司的捆绑安装程序。 例如,msvcr100使用 Microsoft Visual C ++ 2010 Redistributable Package (x86或64位:http://www.microsoft.com/en-us/download/details.aspx?id=5555)来安装VC ++运行时文件,而不是复制msvcp100。

您的库中可能存在其他依赖项,此程序包将安装所需的所有内容。

安装程序可以静默运行,更加用户友好。如果已经安装了运行时,则覆盖它是没有问题的。

查看以下主题以获取更多信息:

How to make vcredist_x86 reinstall only if not yet installed?

InnoSetup - Check if visual studio 2010 crt redist is installed, if not then run installer

我认为对于 Qt ,这应该是相同的。