I have an app written in C#. It's a commercial app, written using nothing but free software (Visual C# express and SQL express). So, so far it's all clean.
For the app to work, both the .NET framework and SQL Server Express need to be installed on the clients computer. I already know some of the clients don't have internet connection (for security reasons), so I need to make an installer that would locally (off line) install all the dependencies (.NET framework and SQL Server Express).
So, can I (legally) burn both the .NET framework and SQL Server Express installers on the instalation CD so that the client can just click install and not have to worry about anyting?
I tried contacting Microsoft directly to ask them, but I had no luck.
Well, this Microsoft page will tell you what you needd to redistribute SQL Server Express. And here's a link about redistributing the .NET framework.
Basically, you don't really have any major restrictions when it comes to redistributing either of them. Just dig around the Microsoft website and you'll find everything you'd ever need.
Related
I'd like to ask you about the simplest way how to have a small database with my application in c#, without using a server. Im using Visual Studio 2013 Professional and I used to work with Local Database and Ado.Net data entity model, but I can't see it here anymore.
Thank you guys
You can use LocalDB.
LocalDB is created specifically for developers. It is very easy to
install and requires no management, yet it offers the same T-SQL
language, programming surface and client-side providers as the regular
SQL Server Express. In effect the developers that target SQL Server no
longer have to install and manage a full instance of SQL Server
Express on their laptops and other development machines. Moreover, if
the simplicity (and limitations) of LocalDB fit the needs of the
target application environment, developers can continue using it in
production, as LocalDB makes a pretty good embedded database too.
Here's a walkthrough: https://msdn.microsoft.com/en-us/library/ms233763.aspx
My goal is to create a stand-alone C# Windows form application with 2-3 tables that will be installed on client machine with a installer file. And I don't want to install SQL Server 2008 software on client machine, I'm using Visual Studio 2013 C# for development.
My options are SQL Server Compct 4.0 but I don't see Visual Studio 2013 has inbuilt support for that, when I add new item to project I don't see Compact (.sdf) file option there.
I've installed third-party SQL Server Compact Toolbox so I can create .sdf file and connectivity but I believe Microsoft is not giving support for compact db now.
I can see service-based database (.mdf) file which is actually a LocalDb\\ something.
So what should I use if I don't want to install SQL Server 2008 on client but want to have db
at client software?
You should mostly base your choice on your target platforms and the level of SQL Server functionality you expect.
Target Platforms:
LocalDB does not support older versions of Windows (e.g. Windows XP) or WoW. Toad World's LocalDB overview has a good breakdown of its target-platform restrictions.
SQL Server Compact Edition has very few target-platform restrictions. Check out its download page under "System Requirements" for specifics.
Functionality:
LocalDB better approximates SQL Server Express functionally. SQL Server Compact Edition has many functional limitations (e.g. no support for stored procedures).
MSDN's introductory overview of LocalDB explains many of the important functional differences between LocalDB and SQL Server Compact Edition; and the aforementioned Toad World LocalDB overview explains some of what (not) to expect from LocalDB functionally too.
Redistribution:
Both SQL Server Compact Edition (per the "Additional Information" section of its download page) and LocalDB (per SQL Server forums) are freely redistributable: so you should be okay with either with respect to fine print.
maybe SQLite would be an option? check out: http://www.sqlite.org/
it's just a DLL/Assembly you need to reference and it's pretty straightforward..
I want to learn webservice development using c# and a free database. Could someone tell me what is the best free database solution to work with c#?
thanks
Microsoft have a free version of their SQL Server database which is SQL Express. Also they recently released a new Embedded Database which is worth checking out. MySQL and SQLite are other popular choices.
As far as web service development in .NET is concerned WCF is the recommended way.
While learning, just stick to the visual studio ide and utilize the integration with iis and sql express which should be already installed. web services in C# need iis (due to .net framework requirement for c#) plus the visual studio ide is easyily integrated with sql express. after you get some learning in, you can move towards installing and connecting to other databases like MySQL or PostgreSQL ect..
There is also sql express and sql ce
I use MySQL with c# and Entity Framework every day. It works great, and you won't be limited by the express edition of SQL Server that way.
this is my first post in stackoverflow, I've always checked this site by searching in google, so I decided to join it myself! I hope to be useful to others
I'm a 3d developer (DirectX), but recently I've started making an SMS gateway using C# and SQL Express, now I'm going to create a setup file for my project (which uses .NET 3.5), what are my options? I've heard that VS 2008 can make setup, is there any sample? how can I include SQL express in my setup app?
also I've downloaded Install Shield 2010 which has a built-in support for VS 2008, I want to make my setup in a way that it detects SQL on target system and if it finds SQL already installed, doesn't try to install it again (the same rule can be applied for .NET), what are my options? how can I make such a setup file?
thanks
With Microsoft's Visual Studio, there is an inbuilt Setup Template which you can use.
Click Once
For your scenario you should take a look at Adding Click once Custom Prerequisites.
Setup And Deployment Application
For your scenario you should take a look at the Walk-through.
Or as you mentioned you have InstallSheild 2010 then:
Install Shield Wizard
Take a look at this Walk-through with Limited Edition
As for SQL Server i think you can usually go as far as SQL Server Compact Edition. (For anything greater you may need to Inform User to install it himself)
I have no personal experience with it, but SQL Server 2008 Compact might be good for this. It is an embedded solution so so you don't actually need to install a server. Alternatively you could look at SQLite, which has native .NET implementations (google for "sqlite .net").
I have an application that i wrote in C# and it does databases. So to run this app on any machine i need .NET 3.5 and SQL Server 2005 installed. Is there a way that when the application starts. It first checks whether SQL Server 2005 and .Net 3.5 exist on the machine or not. If not then it may exit and if they do they may continue.
Checking for prerequisites is usually the job of an installer.
SQL Server 2005 can be verified, as installed SQL Server instances can be found in Services panel (which is also accessible via .NET).
It is not possible for a .NET 3.5 C# program to check whether .NET Framework is installed.
You'd better write native applications (in VC or else) to check for prerequisites.