0

I am building an audio processing application in Qt and an installer through Inno Setup. Recently, a co-worker testing the application had difficulty running it because "VCOMP100.DLL" was missing. We had been through a few versions already and had not gotten the error, but I will include it in the installer anyways. However, my version of vcomp100.dll was in my system files - did that mean I should install it there? And so I wondered:

What kinds of libraries should my installer try to install in the system directory? On one hand, duplicated data is wasted data, but on the other hand, I'm nervous about messing with system files. I have ~5 types of libraries:

  1. Very basic C/C++ runtime libraries (msvcp100, msvcr100)
  2. Unicode support libraries (icudt51, icuin51, icuuc51)
  3. OpenGL as part of Qt (libEGL, libGLESv2)
  4. Qt-specific libraries (Qt5Core, Qt5Gui, Qt5Widgets)
  5. Sound processing libraries (soxr, libsndfile, portaudio)

Can you explain what to install where, but more importantly, why?

Mark Miller
  • 706
  • 4
  • 14

1 Answers1

0

Do not install these files directly.

Use bundled installers from companies which produce that libraries. For example instead of copying msvcp100, msvcr100 use Microsoft Visual C++ 2010 Redistributable Package (x86 or 64bit: http://www.microsoft.com/en-us/download/details.aspx?id=5555) to install VC++ runtime files.

There may be another dependencies in your libraries and this package install everything required.

The installers can be run silently and it is more user friendly. If the runtime is already installed there is no problem if it is overwritten.

Check these topics for more info:

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

I suppose this should be the same for Qt.

Community
  • 1
  • 1
Slappy
  • 5,250
  • 1
  • 23
  • 29
  • Do I understand you right? As part of the full application installer, include the installers like vcredist, and during installation, tell Inno Setup to execute these files and install the libraries like msvcp100 and msvcr100 (if they aren't there already) in the system directory? – Mark Miller Jun 30 '14 at 13:19
  • Yes, VC Redist has it's own installer which needs to be executed. So you do not have to copy msvc*.dll files by yourself. – Slappy Jul 01 '14 at 06:36