in

System.Data.SQLite

An open-source, enhanced version of the SQLite database engine for Windows

processorArchitecture="x86"

Last post 11-26-2007 9:15 PM by pkz. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 11-19-2007 11:22 PM

    • pkz
    • Top 200 Contributor
    • Joined on 10-25-2007
    • Posts 5

    processorArchitecture="x86"

    My application.exe.manifest says:

    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="System.Data.SQLite.dll" size="619520">
          <assemblyIdentity name="System.Data.SQLite" version="1.0.46.0" publicKeyToken="DB937BC2D44FF139" language="neutral" processorArchitecture="x86" />

     

    your site says:

    Single file redistributable under 500kb
    The native SQLite library and the ADO.NET wrapper are combined into one multi-module assembly.  Precompiled binaries are available for x86, IA64, x64 and ARM processors.

     my Build says:

    Warning 1 Referenced assembly 'C:\Program Files\SQLite.NET\bin\System.Data.SQLite.dll' targets a different processor than the application. 

    my GAC says:

    2 modules, 1 for x86 and 1 for MSIL.

    Is my build process OK, or do I need to change something?

     

    Thanks

    Pete 

     

  • 11-26-2007 10:29 AM In reply to

    Re: processorArchitecture="x86"

    On a development machine, potentially up to 3 versions of the SQLite library can exist in the GAC.  An x86 version, an MSIL version, and if you're on 64-bits, either an x64 or Itanium version.

    The MSIL version is for compact-framework development usage.  Visual Studio needs a pure MSIL version in the GAC marked as "Retargetable" before Visual Studio will do the proper lookup and use the right version of the DLL when compiling typed datasets and such.

    When you redistribute your application, you can either distribute the x86 version, the x64 version or the Itanium version depending on your needs.  They don't have to be installed in the GAC.  If your program is compiled as "Any CPU" and you redistribute only the x86 version of the SQLite library, then your app will fail to load on an x64 machine.  So, your choices are:

    1.  Mark your application as targeting x86 or
    2.  In your setup program, check for what platform you're installing to, and write the proper version of the SQLite library to your destination directory with your app.

    Robert

     

  • 11-26-2007 9:15 PM In reply to

    • pkz
    • Top 200 Contributor
    • Joined on 10-25-2007
    • Posts 5

    Re: processorArchitecture="x86"

    Now I understand. Thanks for clearing that up..

    Pete

Page 1 of 1 (3 items)
Powered by Community Server (Commercial Edition), by Telligent Systems