Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sort out SQLite installer for winrt #307

Closed
slodge opened this issue Jun 10, 2013 · 10 comments
Closed

Sort out SQLite installer for winrt #307

slodge opened this issue Jun 10, 2013 · 10 comments
Labels
s/needs-more-info Needs more information from the reporter t/bug Bug type

Comments

@slodge
Copy link
Contributor

slodge commented Jun 10, 2013

@dsplaisted says this will help http://nuget.org/packages/microsoft.bcl.compression

@anaisbetts
Copy link

Check the license before you write any code against anything Microsoft.* :-/

@slodge
Copy link
Contributor Author

slodge commented Jun 11, 2013

@xpaulbettsx oh yes - MS legal and I are v good friends - love the 'license only for Windows platforms' Kona/Prism samples :)

In their defence... the MS techies are trying to help remove that licensing - Chris Bennage particularly helpful - but global warming moves quicker than MS legal

@slodge
Copy link
Contributor Author

slodge commented Jun 11, 2013

Looking at the nuspec package....

It seems like I'd need to add:

  <group targetFramework="native0.0">
    <reference file="MySQLiteFile.dll" />
    <reference file="MySQLiteFile.dll" />
    <reference file="MySQLiteFile.dll" />
  </group>

And then I'd need to have the 3 SQLite files somehow in:

  \lib\native\ARM\MySQLiteFile.dll
  \lib\native\x64\MySQLiteFile.dll
  \lib\native\x86\MySQLiteFile.dll

Then I'd have to add a targets file with content a bit like the "Copyright (C) Microsoft Corporation. All rights reserved." one in the nupkg- but obviously I'd be very careful not to break any copyright. The key part of this package seems to be:

        <ItemGroup Condition=" '$(Platform)' == 'x86' ">
            <Reference Include="$(MSBuildThisFileDirectory)..\lib\native\x86\ClrCompression.winmd">
                <Implementation>ClrCompression.dll</Implementation>
                <Name>ClrCompression</Name>
                <Private>true</Private>
            </Reference>
        </ItemGroup>

For my packages i guess this would be:

        <ItemGroup Condition=" '$(Platform)' == 'x86' ">
            <Reference Include="$(MSBuildThisFileDirectory)..\lib\native\x86\MySQLFile.dll">
                <Implementation>MySQLFile.dll</Implementation>
                <Name>MySQLFile</Name>
                <Private>true</Private>
            </Reference>
        </ItemGroup>

To get this into and out of the current csproj/MSBuild file I'd then have to also add:

  • install.ps1
  • uninstall.ps1

Does that look about right @dsplaisted?

Sorry I don't have time to have a play with this today... which means next week at the earliest :/

@slodge
Copy link
Contributor Author

slodge commented Jun 11, 2013

Aside> ... rereading that analysis makes me feel sick... nuget is supposed to be easy for publishers and for consumers. This description above feels hard to develop and hard to test. It definitely feels like nuget should be easier to use for WindowsStore projects - especially as MS are so keen on pushing native libraries... will try again on the nuget discussion boards

@slodge
Copy link
Contributor Author

slodge commented Jun 11, 2013

I'll put my hard hat on: https://nuget.codeplex.com/discussions/446656

@slodge
Copy link
Contributor Author

slodge commented Jun 11, 2013

Started on this - but really have run out of time.

The nuspec changes so far are: 9af4289

Got to work a fair few things out yet... :/

@martijn00 martijn00 added the s/needs-more-info Needs more information from the reporter label Jan 24, 2015
@martijn00
Copy link
Contributor

We use Akavache in our WinRT app, and that uses SQLite. So this seems fixed to me...

@anaisbetts
Copy link

Yeah, while having native DLL support in NuGet would be Nice(tm), SQLitePCL_Raw is all you need right now (and in general, you can use targets / props files to make native DLLs happen).

@slodge
Copy link
Contributor Author

slodge commented Jan 26, 2015

I'd be very happy to see this closed... but I'm not sure this is fixed...

This is about the Mvx SQLite .nuspec files. Because WinRT is multi-platform, we should install separate Mvx.Sqlite.dll assemblies for each ARM/x86/x64 platform. There's no difference in code, but there is a difference in compilation.

If we could fix it by switching the Mvx SQLite code to use _Raw instead (so it becomes platform-agnostic) then I'd be happy to see this closed :)

@Cheesebaron
Copy link
Member

We are using SqlitePCL.raw in the plugins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s/needs-more-info Needs more information from the reporter t/bug Bug type
Development

No branches or pull requests

4 participants