none
Why are dll's hidden in the /windows directory? RRS feed

  • Question

  • Hello,

    I am attempting to run an application which utilizes several dll's at run-time. I have included the appropriate dll's in the platform.bib file, and they appear in the release directory. My question is, why do all of the files I include appear as hidden in the /windows director for the CE device? The reason I ask is because when trying to run the application in the windows folder on the device, the following error popup appears "Unable to import library XXXXX.dll! Program will exit." If I copy the application and the dll's to the harddrive in a separate folder the application runs. Must the dll's not be hidden in order for the OS to link them with the application? I can see the files are present in the /windows directory when using dir /a, so I know that the files are present.

    Thanks in advance

    Monday, February 11, 2013 6:00 PM

Answers

  • My question is, why do all of the files I include appear as hidden in the /windows director for the CE device?

    This is becuase you have set the dll attribute to hidden in platform.bib file. for example in below platform.bib entry (SHK) H means HIDDEN. Remove "H" will not hide the DLL in windows directory..

    giisr.dll           $(_FLATRELEASEDIR)\GIISR.dll                    NK  SHK

    Regards,

    Rakesh.

    • Proposed as answer by MobileGeek88 Tuesday, February 12, 2013 11:27 AM
    • Marked as answer by elk84 Tuesday, February 12, 2013 2:48 PM
    Tuesday, February 12, 2013 4:58 AM

All replies

  • My question is, why do all of the files I include appear as hidden in the /windows director for the CE device?

    This is becuase you have set the dll attribute to hidden in platform.bib file. for example in below platform.bib entry (SHK) H means HIDDEN. Remove "H" will not hide the DLL in windows directory..

    giisr.dll           $(_FLATRELEASEDIR)\GIISR.dll                    NK  SHK

    Regards,

    Rakesh.

    • Proposed as answer by MobileGeek88 Tuesday, February 12, 2013 11:27 AM
    • Marked as answer by elk84 Tuesday, February 12, 2013 2:48 PM
    Tuesday, February 12, 2013 4:58 AM
  • Thank you for the response, you are correct. The reason I asked is because if the file is hidden, does that mean it is not recognized by an exe in the same folder? I have an exe that is also in the same folder /windows, but when I run it, it cannot find the appropriate dll (which is also in the same folder /windows). When I copy all the files to the harddrive and place them in the same folder, the exe finds the dll's with no problem and the program runs. I'm not sure if the files in the /windows folder only exist in RAM, and if that has to do with anything. When I manually copy the dll files to a folder on the harddrive and run the executable from there, how is that different from including the dll's in the platform.bib file and having it as part of the image?
    Tuesday, February 12, 2013 2:48 PM
  • The DLL would be found by the loader in \windows if an application there attempted to load it. The H attribute is not the cause of your symptom. Since you are posting in the Platform Builder forum, I presume that you can capture the serial debug messages from your OS. Capturing the actions when you run the EXE and it fails to load the DLL may reveal the problem cause. My two guesses are: 1: the DLL is actually NOT there, 2: the DLL included in \windows is compiled for the wrong processor target or depends upon a second DLL that is missing.

    Paul T.

    Tuesday, February 12, 2013 3:10 PM
  • Hi Rakesh,

    Can you mail me your contact details.

    --- Misbah


    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India) www.tes-dst.com email-misbah.khan@tes-dst.com

    Wednesday, February 13, 2013 5:09 AM
  • I will add #3 to Paul's response - the DLL does not export functions that the EXE expects to find in the DLL.

    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman

    Eurotech Inc.
    www.Eurotech.com

    Friday, February 15, 2013 2:11 PM
    Moderator
  • I will enable the serial port and check the debugging messages, I'll post what happens when I get to my development station.

    Thanks!

    Friday, February 15, 2013 7:26 PM