Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

InstallShield Missing Dependencies

I am trying to build my setup using the installshield software as in VS2012, you must use it. I have managed to prepare but I have one problem which is these warnings: Warning 5 -6248: Could not find dependent file u2dmapi.dll, or one of its dependencies of component Aamali_New.Primary_output ISEXP : warning : -6248: Could not find dependent file u2dmapi.dll, or one of its dependencies of component Aamali_New.Primary_output

Actually it looks for this file u2dmapi.dll!! I have managed to download the file from internet but I do not know where to put the file so the builder would find it. I have tried to put it in several location in the project but it could not see it. Can you please help me about the location so it will get it and will not create this warning again. Waiting for your kind reply. Thanks.

like image 247
Abo Ahmed Avatar asked Oct 20 '13 16:10

Abo Ahmed


1 Answers

According to this article, you have to place the DLL "in the same location as the key file for the Component specified in the warning." In my case, it was a project output, so I had to put my DLLs in that project's bin folder alongside of the exe (bin\release).

There are many ways to do this:

  • If it's a managed DLL, add it as a reference in the project. It won't allow you to if it's unmanaged.
  • If it's not, you must manually copy them wherever they are needed
  • Or automatically by adding a Post-Build Event Command Line (project properties, build events tab) like so:

    copy "$(ProjectDir)lib\$(PlatformName)\Unmanaged\*" "$(TargetDir)"
    

Where $(...) are predefined macros. Check them out, there are many others.

It's a bit tricky and error prone... I would've prefered a way to just flag the file as a dependency in the project but I didn't find a way of doing that.

like image 162
Jerther Avatar answered Oct 15 '22 00:10

Jerther