Hi Cyrille,

You should probably use Dependency Walker on an end-user machine and profile
your app with it to see what module(s) it cannot load.

Since your app is 32bit, you'll need to get the 32bit version of Dependency
Walker.  Then, load your exe into DW, click on the Profile menu, and start
profiling.

The log at the bottom of the DW window will show quite clearly which modules
are loaded (you may be surprised :o) and will indicate in red any issues
that are encountered.

Note that not all failures of LoadLibrary or GetProcAddress are actual
errors.  Usually the library that is executing these calls is ready to
handle the case where the DLL may be missing or may be a different version
that does not export a particular function.

-----Original Message-----
From: sqlite-users-boun...@sqlite.org
[mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Cyrille
Sent: Monday, June 20, 2011 2:20 PM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] Critical issue

Dear Michael,

Thank you very much. I am currently working with my users to make some 
testing following your advice. It seems that so far, the users 
encountering the bug has IE 8 installed. However, I have on another 
computer IE9 and the desktop application is running perfectly.

They ran Depends on their end-user machine and it reveals two DLLs issue 
(cf. screenshot attached). However, these DLLs are not the SQLite.NET 
one. Thus my question: do the error mentioned in the screenshot attached 
can lead, on the end-user machine, to an error like 
"System.DllNotFoundException: Impossible to load the DLL 
'_SQLite.Interop.DLL_'"? (i.e. an error linked to a different DLL than 
the one mentioned by Depends)

Thanks again very much :)
Best regards,
Cyrille


Le 19/06/2011 20:10, Michael Stephenson a écrit :
> You might also ask them if their IE version is 32-bit or 64-bit.
>
> Yes, ideally you would try Depends on an end-user machine.  Then, you
might
> try tweaking that machine (manually adjust the path, copy ieshims.dll to
> somewhere on the path, etc.) until you come up with a workable solution.
>
> -----Original Message-----
> From: sqlite-users-boun...@sqlite.org
> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Cyrille
> Sent: Sunday, June 19, 2011 1:56 PM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] Critical issue
>
> Dear Michael,
>
> Thanks for your message. I am going to ask my users for their IE version
to
> see if there is a link with the issue.
>
> Regards,
> Cyrille
>
>
>
> Le 19/06/2011 05:20, Michael Stephenson a écrit :
>> If the IE folder is not on the path, yes, you have to either copy it
>> somewhere on the path, copy it to your application folder, or add the
>> IE folder to the path.  I believe that not having the IE folder on the
>> path is a mistake in the installer for the newer versions of IE.  Back
>> in the day, I think that the IE folder used to be on the path
>> automatically.  This is a good example of bad practices on Microsoft's
>> part and also how they have tied IE into the operating system so that you
> can't get rid of it.
>> I think that this is a typical issue with just about any application
>> (Depends will show a missing delay load) because shell32.dll on newer
>> versions of Windows has this delay load dependency on ieshims.dll.
>>
>> However, usually this is not a problem because usually the delayed
>> load isn't invoked because nothing in the DLL is used.
>>
>> You might want to use Dependency Walker to profile your app and get a
>> good idea of what the exact issue is.  If your app is 32-bit, you'll
>> need the 32-bit depends.exe to profile the app.
>>
>> I'm going to bet that if all of your users aren't having the problem,
>> then the ones with IE7 or earlier are good and the ones with IE8 or
>> later are the ones having the problem.
>>
>> -----Original Message-----
>> From: sqlite-users-boun...@sqlite.org
>> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Cyrille
>> Sent: Saturday, June 18, 2011 11:36 AM
>> To: General Discussion of SQLite Database
>> Subject: Re: [sqlite] Critical issue
>>
>> It seems that I have been too quickly enthusiastic. Indeed, I have
>> already received a feedback from a user who has the same issue running
>> a 32-bit Windows.
>>
>> Thus, I tried to follow your advices Michael. Concerning the first
>> link which advice putting the DLL in the environment path. I am not
>> sure to understand but:
>> - the application is correctly running from VB express
>> - all DLLs are in the application folder (once built) So, this issue
>> seems to be ok, am I right?
>>
>> In your second message, you suggest me to use Dependency Walker. I did
>> it and I obtain two errors:
>> Warning: At least one delay-load dependency module was not found.
>> Warning: At least one module has an unresolved import due to a missing
>> export function in a delay-load dependent module.
>> The warnings seem to be linked to the error displayed in the same
>> software: Error opening file for IESHIMS.DLL
>>
>> However, this DLL should be in the IE folder so I do not think I have
>> to copy it in my application folder. Right?
>>
>> Sorry if my questions are stupid but I cannot figure it out.
>>
>> Best regards,
>> Cyrille
>>
>>
>> Le 18/06/2011 15:50, Black, Michael (IS) a écrit :
>>> Also...try dependency walker to ensure you have all the DLLs you need
>> deployed with your package that aren't "standard".
>>> http://www.dependencywalker.com/
>>>
>>>
>>>
>>>
>>>
>>> Michael D. Black
>>>
>>> Senior Scientist
>>>
>>> NG Information Systems
>>>
>>> Advanced Analytics Directorate
>>>
>>>
>>>
>>> ________________________________
>>> From: sqlite-users-boun...@sqlite.org
>>> [sqlite-users-boun...@sqlite.org] on behalf of beell [be...@web.de]
>>> Sent: Saturday, June 18, 2011 8:37 AM
>>> To: sqlite-users@sqlite.org
>>> Subject: EXT :Re: [sqlite] Critical issue
>>>
>>> Am 18.06.2011 14:47, schrieb Cyrille:
>>>> Dear all,
>>>>
>>>> Since I am using the new version of SQLite.NET, some of my users
>>>> have the following error when launching my application:
>>>>
>>>> System.DllNotFoundException: Impossible de charger la DLL
>>>> 'SQLite.Interop.DLL': Le module spécifié est introuvable. (Exception
>>>> de HRESULT : 0x8007007E)
>>>>         à
>> System.Data.SQLite.UnsafeNativeMethods.sqlite3_open_interop(Byte[]
>>>> utf8Filename, Int32 flags, IntPtr&     db)
>>>>         à System.Data.SQLite.SQLite3.Open(String strFilename,
>>>> SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool)
>>>>         à System.Data.SQLite.SQLiteConnection.Open()
>>>>
>>>> However, the SQLite.Interop is in the application folder. I specify
>>>> that I am using VB 2010 Express with the framework 4.0.
>>>>
>>>> Sorry but I really have troubles: if I cannot solve this critical
>>>> issue, I cannot see what to do but stopping the development of my
>>>> application :-( Thank you very much in advance Best regards, Cyrille
>>> Are you sure that your users have the right dlls according to their
>>> system (x86 vs x64)?
>>>
>>>
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to