Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

UseDll failed


3 replies to this topic

qiaoli

qiaoli
  • Members
  • 5 posts

Posted 29 November 2002 - 19:03

In my 7.04 Basic project, I have a CA to load 3 dlls. It works fine in about 50 machines. But failed to load the last dll in only two win2000 machines. Source codes looks like:

UseDll(SUPPORTDIR^”a.dll”);
UseDll(SUPPORTDIR^”xerces-c_1_5_2.dll.dll”);
UseDll(SUPPORTDIR^”b.dll”);

a.dll and xerces-c_1_5_2.dll.dll are the dependencies of b.dll.

Dlls are in the temp directory and the dependency dlls are loaded successfully. Is any other possibility to cause UseDll failed?  Thanks.

Qiao

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 29 November 2002 - 20:09

Maybe it has some additional dependencies. Can you load the DLL on the filaing machines using DependencyWalker?

sijmen

sijmen
  • Members
  • 9 posts

Posted 02 December 2002 - 00:30

Qiao,

You may already know this.

If you are only using functions from B.dll, then there is no need to explicitly load A.dll and Xerces-c_1_5_2.dll", because they will get loaded by B.dll automatically.  In other words the following code should be fine:

//UseDll(SUPPORTDIR^”a.dll”);
//UseDll(SUPPORTDIR^”xerces-c_1_5_2.dll.dll”);
UseDll(SUPPORTDIR^”b.dll”);

If you are using functions from the commented dll's then you will need to load them, as you have.

As for your problem, it could be that the two machines in question have disabled long file name support.  This is something that once caused me problems.  You may be able to see the problem with dependancy walker on the machines in question.  If this is the problem, then simply converting the name to short format before calling UseDll() should overcome the problem.  InstallScript has a function to do this called LongPathToShortPath().


Regards,
Sijmen.

qiaoli

qiaoli
  • Members
  • 5 posts

Posted 04 December 2002 - 18:59

Thank Stefan and Sijmen. I have tried Dependency Walker. It seems all dependency loaded successfully. As a solution, my project leader ajusted the structure of our product . The b.dll won't have any dependency dll. Now my installation program runs without problem in this two machines.

Qiao