[sqlite] system.data.sqlite.dll and Widows 10

2015-03-20 Thread R.Smith
There were some complaints registered previously with windows about this 
issue where it looks first in the program root for a DLL and then the 
GAC. This is actually unwanted behaviour since if you use a 3rd party 
DLL (let's take the library for Google's Chrome browser as an example) 
in your program - which is the entire beauty of linked libraries - and 
then you update the chrome browser on your machine... the Chrome 
installer doesn't know who all uses the dll and it can only really 
update the one in the GAC.

When you write the software, you of course include the DLL in the 
distribution because you don't know whether a target machine will 
possess a Chrome install - but you would like your program to really use 
an updated DLL if it ever finds one, so loading from GAC first then 
local is the correct behaviour - Windows knows this but they have been 
doing it wrong for legacy reasons, so now maybe they are trying to fix 
it in Win10. (I say maybe cause I am not privy to their decision chain 
and all this is speculation in service of offering a plausible reason).

It goes both ways however: if an older sqlite3.dll somehow finds it's 
way into the GAC (older than 3.7) then things I've made will break horribly.

Either way, I am with you on the issue - it's best to leave it as is 
since a large percentage of existing programs knows it and deals with it 
- It isn't hard to specify loading a DLL from file if you so prefer, but 
it does pose a problem for newer user-centric developers such as VB, VS 
and users not knowing or caring to "deal" with DLL loading issues etc. - 
maybe it's time to do it right - A bit of warning would be welcome though.

If I have to guess, they will probably do the standard WIndows thing 
which works like this:
   We've been doing it like XXX - not perfect but everyone learned to 
use it this way,
   Some users cried and we realised YYY is better, so we changed to YYY,
   Users cry about the change, so we change YYY to work a bit like XXX,
   Other users cry more so we make XXX v2.0 superseding YYY with 
unneeded version control, security prohibitions and a host of other 
nonsense so accommodate everybody sort-of but nobody perfectly - and 
then find a way to market this as a "feature".

Best of luck to you,
Ryan


On 2015-03-20 07:05 AM, Jeff Steinkamp wrote:
> I ran this utility and what I discovered is problematic.
>
> On my development machine, it is always looking for this dependency in 
> the GAC first and loading it from there. as opposed to the start-up 
> folder where the DLL is located.  Why is this looking for the DLL in 
> the GAC first?  This is not normal windows behavior.  I then 
> uninstalled the SQLite setup bundle and ran the program again and 
> according to the utility, it fails finding the DLL in the GAC and 
> loads it from the start-up folder.  This is the behavior on both 
> Windows 7 and 8.
>
>
> On windows 10, which is a basic install of the preview, one for 64 bit 
> and one for 32 bit, and without any development tools installed, or 
> the SQLite setup bundle installed, it failed to find 
> system.data.sqlite.dll.  The first thing I did on my 64 bit was to 
> install the x86 setup bundle.  Now the program runs and loads the dll 
> from the GAC.  I then uninstalled the setup bundle and tried the 
> program again, and I'll be damned it now runs and find the DLL in the 
> launch folder.  Why is that???
>
> Tried the program on a fresh install of the 32 bit win10 and it 
> failed, unable to located the DLL.  I loaded up the SDKs' so I could 
> get the fuslogvw utility.  With the utility running ran the program 
> and It now runs and find the dll in the executable folder.  What's up 
> with this???
>
> I suspect this might be a Windows 10 issues, but why is it looking for 
> the DLL in the GAC first and not in the executable folder which has 
> been the behavior of windows for the last 20 some odd years I have 
> been working with this pig.
>
> Jeff K. Steinkamp (N7YG)
> Tucson, AZ
> Scud Missile Coordinates
> N32.2319 W110.8477
>
> On 3/18/2015 13:09, Nicholas Smit wrote:
>> fuslogvw (
>> https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx )
>> might help you understand the DLL binding issue.
>>
>> On 18 March 2015 at 20:04, Jeff Steinkamp  wrote:
>>
>>> One of my users reported that he was unable to get a piece of software
>>> that uses this .NET assembly (x86 version 1.0.9.6) to run on windows 
>>> 10.
>>> It is throwing an error saying that it is unable to located
>>> system.data.sqlite.dll even though it is included in the same folder 
>>> as the
>>> program executable.
>>>
>>> This software is compiled as x86 because of some other included 
>>> assemblies
>>> are complied as x86.  This has been running just fine on both Win7 
>>> and Win8
>>> both 32 and 64 bits this way for quite some time.
>>>
>>> So, I setup a 64 bit Win10 technical preview in a VM and tried it 
>>> myself
>>> and I got the same error.  I tired forcing the 

[sqlite] system.data.sqlite.dll and Widows 10

2015-03-19 Thread Jeff Steinkamp
I ran this utility and what I discovered is problematic.

On my development machine, it is always looking for this dependency in 
the GAC first and loading it from there. as opposed to the start-up 
folder where the DLL is located.  Why is this looking for the DLL in the 
GAC first?  This is not normal windows behavior.  I then uninstalled the 
SQLite setup bundle and ran the program again and according to the 
utility, it fails finding the DLL in the GAC and loads it from the 
start-up folder.  This is the behavior on both Windows 7 and 8.


On windows 10, which is a basic install of the preview, one for 64 bit 
and one for 32 bit, and without any development tools installed, or the 
SQLite setup bundle installed, it failed to find 
system.data.sqlite.dll.  The first thing I did on my 64 bit was to 
install the x86 setup bundle.  Now the program runs and loads the dll 
from the GAC.  I then uninstalled the setup bundle and tried the program 
again, and I'll be damned it now runs and find the DLL in the launch 
folder.  Why is that???

Tried the program on a fresh install of the 32 bit win10 and it failed, 
unable to located the DLL.  I loaded up the SDKs' so I could get the 
fuslogvw utility.  With the utility running ran the program and It now 
runs and find the dll in the executable folder.  What's up with this???

I suspect this might be a Windows 10 issues, but why is it looking for 
the DLL in the GAC first and not in the executable folder which has been 
the behavior of windows for the last 20 some odd years I have been 
working with this pig.

Jeff K. Steinkamp (N7YG)
Tucson, AZ
Scud Missile Coordinates
N32.2319 W110.8477

On 3/18/2015 13:09, Nicholas Smit wrote:
> fuslogvw (
> https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx )
> might help you understand the DLL binding issue.
>
> On 18 March 2015 at 20:04, Jeff Steinkamp  wrote:
>
>> One of my users reported that he was unable to get a piece of software
>> that uses this .NET assembly (x86 version 1.0.9.6) to run on windows 10.
>> It is throwing an error saying that it is unable to located
>> system.data.sqlite.dll even though it is included in the same folder as the
>> program executable.
>>
>> This software is compiled as x86 because of some other included assemblies
>> are complied as x86.  This has been running just fine on both Win7 and Win8
>> both 32 and 64 bits this way for quite some time.
>>
>> So, I setup a 64 bit Win10 technical preview in a VM and tried it myself
>> and I got the same error.  I tired forcing the loading of the assembly, but
>> it would puke all over itself with the "your application quit and windows
>> will get back with you when hell freezes over"
>>
>> So I loaded up the SQLite setup bundle for both the X86 and X64 and had
>> them install into the GAC (Global Assembly Cache) and now the software
>> works.  So this is telling me that Windows 10 is only looking in the GAC
>> for this assembly.  Any idea why this might be as I have two other .NET
>> assemblies that are used in this software that it does not have trouble
>> finding and they are not installed in the GAC?
>>
>> I suspect this may be a Mico$oft Issue, but wanted to check here first to
>> make sure I have not got something setup incorrectly.
>>
>> --
>> Jeff K. Steinkamp (N7YG)
>> Tucson, AZ
>> Scud Missile Coordinates
>> N32.2319 W110.8477
>>
>> ___
>> sqlite-users mailing list
>> sqlite-users at mailinglists.sqlite.org
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>>
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
>



[sqlite] system.data.sqlite.dll and Widows 10

2015-03-18 Thread Nicholas Smit
fuslogvw (
https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx )
might help you understand the DLL binding issue.

On 18 March 2015 at 20:04, Jeff Steinkamp  wrote:

> One of my users reported that he was unable to get a piece of software
> that uses this .NET assembly (x86 version 1.0.9.6) to run on windows 10.
> It is throwing an error saying that it is unable to located
> system.data.sqlite.dll even though it is included in the same folder as the
> program executable.
>
> This software is compiled as x86 because of some other included assemblies
> are complied as x86.  This has been running just fine on both Win7 and Win8
> both 32 and 64 bits this way for quite some time.
>
> So, I setup a 64 bit Win10 technical preview in a VM and tried it myself
> and I got the same error.  I tired forcing the loading of the assembly, but
> it would puke all over itself with the "your application quit and windows
> will get back with you when hell freezes over"
>
> So I loaded up the SQLite setup bundle for both the X86 and X64 and had
> them install into the GAC (Global Assembly Cache) and now the software
> works.  So this is telling me that Windows 10 is only looking in the GAC
> for this assembly.  Any idea why this might be as I have two other .NET
> assemblies that are used in this software that it does not have trouble
> finding and they are not installed in the GAC?
>
> I suspect this may be a Mico$oft Issue, but wanted to check here first to
> make sure I have not got something setup incorrectly.
>
> --
> Jeff K. Steinkamp (N7YG)
> Tucson, AZ
> Scud Missile Coordinates
> N32.2319 W110.8477
>
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


[sqlite] system.data.sqlite.dll and Widows 10

2015-03-18 Thread J Decker
It might also be the runtime; was trying to install a debug version at one
point and msvcr110d.dll was missing... maybe it's just that the required
runtime is missing yet?  It also just threw an error 'cannot locate'

On Wed, Mar 18, 2015 at 1:09 PM, Nicholas Smit  wrote:

> fuslogvw (
> https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx )
> might help you understand the DLL binding issue.
>
> On 18 March 2015 at 20:04, Jeff Steinkamp  wrote:
>
> > One of my users reported that he was unable to get a piece of software
> > that uses this .NET assembly (x86 version 1.0.9.6) to run on windows 10.
> > It is throwing an error saying that it is unable to located
> > system.data.sqlite.dll even though it is included in the same folder as
> the
> > program executable.
> >
> > This software is compiled as x86 because of some other included
> assemblies
> > are complied as x86.  This has been running just fine on both Win7 and
> Win8
> > both 32 and 64 bits this way for quite some time.
> >
> > So, I setup a 64 bit Win10 technical preview in a VM and tried it myself
> > and I got the same error.  I tired forcing the loading of the assembly,
> but
> > it would puke all over itself with the "your application quit and windows
> > will get back with you when hell freezes over"
> >
> > So I loaded up the SQLite setup bundle for both the X86 and X64 and had
> > them install into the GAC (Global Assembly Cache) and now the software
> > works.  So this is telling me that Windows 10 is only looking in the GAC
> > for this assembly.  Any idea why this might be as I have two other .NET
> > assemblies that are used in this software that it does not have trouble
> > finding and they are not installed in the GAC?
> >
> > I suspect this may be a Mico$oft Issue, but wanted to check here first to
> > make sure I have not got something setup incorrectly.
> >
> > --
> > Jeff K. Steinkamp (N7YG)
> > Tucson, AZ
> > Scud Missile Coordinates
> > N32.2319 W110.8477
> >
> > ___
> > sqlite-users mailing list
> > sqlite-users at mailinglists.sqlite.org
> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> >
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


[sqlite] system.data.sqlite.dll and Widows 10

2015-03-18 Thread Jeff Steinkamp
One of my users reported that he was unable to get a piece of software 
that uses this .NET assembly (x86 version 1.0.9.6) to run on windows 
10.  It is throwing an error saying that it is unable to located 
system.data.sqlite.dll even though it is included in the same folder as 
the program executable.

This software is compiled as x86 because of some other included 
assemblies are complied as x86.  This has been running just fine on both 
Win7 and Win8 both 32 and 64 bits this way for quite some time.

So, I setup a 64 bit Win10 technical preview in a VM and tried it myself 
and I got the same error.  I tired forcing the loading of the assembly, 
but it would puke all over itself with the "your application quit and 
windows will get back with you when hell freezes over"

So I loaded up the SQLite setup bundle for both the X86 and X64 and had 
them install into the GAC (Global Assembly Cache) and now the software 
works.  So this is telling me that Windows 10 is only looking in the GAC 
for this assembly.  Any idea why this might be as I have two other .NET 
assemblies that are used in this software that it does not have trouble 
finding and they are not installed in the GAC?

I suspect this may be a Mico$oft Issue, but wanted to check here first 
to make sure I have not got something setup incorrectly.

-- 
Jeff K. Steinkamp (N7YG)
Tucson, AZ
Scud Missile Coordinates
N32.2319 W110.8477