Program Data Storage

Posted on 2009-02-10
Last Modified: 2013-12-17
Hi Experts,

I'm new to C#; my experience is primarily with Access VBA.

I have developed an end-user application in Access that may be marketable.  Ideally this application would be 'stand-alone' and not an access mde etc, which would require users to own Access.  What I'm having a hard time understanding is how might a program be designed in C# which would not require a back-end data store such as sql server, access, etc. which would seemingly add to the cost.

So the question is, what is the best way to store 'user' information -- the data of the program -- in a program developed in C#;  also I'd welcome suggestions about any reference books that would cover this topic.

Question by:deedub84
    LVL 8

    Expert Comment

    You can store it how you like is the real answer here.  Flat file may be an option (ie, serialised objects persisted to file) or maybe XML.  It depends what you want from the application.  Do you need database type functionality?  Indexed retrieval of data?  Referential integrity?
    LVL 1

    Author Comment

    Having cut my teeth in the access / sql server world; I'm tempted to say database type functionality.  But the application really is straightforward.  I have a couple of tables that store the data in the Access version.  There is some user selection of certain lines for printing.  Probably the biggest need is some of the data (and therefore probably all) the data would need to be secured in the sense I wouldn't want anyone just to be able to open up the data and be able to read it.  The application is more along the lines of a mini app versus something with full functionality.

    Ultimately, I'm so new to this part of the programming world, some pointers to good references or primers (if they exist!) would be great.
    LVL 8

    Accepted Solution

    Isolated storage may be a solution here :

    This will place the data in an obscure place which is good.  But it won't be encrpyted.  The AesManaged class can do that :

    If using the AesManaged class, then just using a XML file format will be fine I  think.  Depends how much data you are expecting to handle.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    In my previous two articles we discussed Binary Serialization ( and XML Serialization ( In this article we will try to know more about SOAP (Simple Object Acces…
    Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
    This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…

    758 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    8 Experts available now in Live!

    Get 1:1 Help Now