Vem är Johan Lindfors

Jag jobbar som teknisk chef på Microsoft i Sverige och ansvarar för vår tekniska evangelisering mot utvecklare. I den här bloggen har jag för avsikt att skriva om utveckling i allmänhet och på Microsofts plattform i synnerhet.

Är du intresserad av en XNA användargrupp?



Visa resultat!

Get Microsoft Silverlight

Köra .NET applikation och databas från USB

Fick en fråga för ett par dagar sedan om det fanns något trevligt sätt att köra en .NET applikation från en USB-sticka utan att den behövs installeras, och samtidigt kunna jobba mot någon sorts datakälla utan att kräva en databas på datorn.

Ett alternativ är att använda sig av SQL Server Compact 3.5 som databas. SQL Server Compact är en kompakt (jepp du anade det) version av SQL Server som inte kräver en serverinstans eller exekverande databas för att kunna hämta och lagra data. En direktlänk för att ladda hem SQL Server Compact har du här!

Det går till och med att använda Entity Framework eller LINQ to SQL mot SQL Server Compact men det finns en del saker att tänka på, jag vill varmt rekommendera att ladda hem SQL Server Compact Books Online som innehåller både dokumentation och exempel som hjälper dig igång.

Observera dock att “klienten” där applikationen är avsedd att köras på (från USB-sticka) behöver ha dll-filerna för SQL Server Compact installerade, vilket också är ett moment som kräver administrativa rättigheter på datorn. Jag har inte provat att packa med DLL’erna lokalt på USB’n och referera dem där, men det kanske kan fungera.

Ett annat alternativ (till SQL Server Compact) är naturligtvis att använda en XML-fil som datakälla och sedan DataSet i applikationen, det finns tack och lov LINQ to DataSet Smile 

Har du andra förslag som du vill dela med dig av? Hör av dig!

Postades 27. januari 2010 21:03 av Johan Lindfors
Taggar:

Kommentarer

2010-01-28 00:02:14 #

SQLite kanske vore något? Det finns ADO.NET-providers tillgängliga som man kan använda sig av.

SQLite hemsida
http://www.sqlite.org/

En ADO.NET-provider för SQLite
http://sqlite.phxsoftware.com/

David Sweden | Reply

2010-01-28 06:46:35 #

Om man endast är intresserad att bygga sitt datalager mot sqlite databas, verkar sqlite-net projekt smidigast med det inbyggda LINQ stödet.

code.google.com/p/sqlite-net/wiki/LinqSupport

Marcus Holmgren Sweden | Reply

2010-01-28 10:15:07 #

Måste inte .NET ramverket vara installerat på datorn? Eller finns det något sätt att referera det mot USB-minnet?

Karl Sweden | Reply

2010-01-28 10:30:14 #

Jo du har rätt Karl, .NET Framework måste vara installerat. Desto bättre är att det är installerat från början på de flesta Windows-installationer. Men det är naturligtvis något som bör beaktas, vilken version som finns på datorn.

Om du vill vara "säker" så kan du använda en .NET Framework 2.0 baserad applikation, och då är det XML och DataSet som nog är att förespråka, jag har själv inte testat SQLite.

JohanLindfors Sweden | Reply

2010-01-31 12:56:49 #

En fråga på det. Man är ju rätt van att spara användarens XML-data på lämplig sökväg man får av funktionen Environment.GetFolderPath. Att bygga portabla applikationer som skriver och läser från assemblyns mapp är alltså ok?

Anders Hesselbom Sweden | Reply

Lägg till kommentar




  Country flag

biuquote
  • Kommentar
  • Live överblick
Loading



Den här bloggen använder BlogEngine.NET 1.6.0.0
Temat anpassat av Johan Lindfors