PDA

View Full Version : [c#] cosa installare per lanciare un eseguibile


giangi_luca
30-10-2009, 15:09
ciao ragazzi,
ho crerto una piccola applicazione in c# e ho geneato il
mio file .exe.
devo mettere questo eseguibile su un altro pc.
per farlo funzionare devo reinstallare tutto visual studio?

ciao
Grazie

alex783
30-10-2009, 15:38
No, non occorre affatto installare Visual Studio.
Una volta compilata, è un'applicazione stand-alone, che può essere eseguita su qualunque PC Windows.

Piuttosto assicurati che tu l'abbia compilata usando una versione di .NET piuttosto vecchia (la 2.0 è il giusto compromesso in termini di compatibilità, secondo me)

giangi_luca
30-10-2009, 15:57
ho usato questa versione.
posso solo lanciare l'eseguibile?

Microsoft Visual Studio 2005
Versione 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework
Versione 2.0.50727

alex783
30-10-2009, 16:37
Sì, se sul PC è installato .NET 2.0, dovrebbe funzionare.

sagitter79
05-12-2009, 14:46
ragazzi scusatemi.
mi chiedevo la stessa cosa di gianluca ma aggiungerei che ho un piccolissimo db su sql server 2005.
creando l'applicazione standalone come facco poi, su un altro pc, ad accedere ai dati?

tomminno
05-12-2009, 18:01
ragazzi scusatemi.
mi chiedevo la stessa cosa di gianluca ma aggiungerei che ho un piccolissimo db su sql server 2005.
creando l'applicazione standalone come facco poi, su un altro pc, ad accedere ai dati?

Se il programma accede al database localmente non puoi fare altro che installare anche SqlServer Express sull'altro computer. Ma in tal caso avresti usato lo strumento sbagliato: ti ci volevano dbms come Sqlite, Firebird embedded o uno sconsigliatissimo Access (che per lo meno richiede solo l'installazione dei driver).

sagitter79
07-12-2009, 09:23
ti ringrazio per la risposta.
essendo alle prime armi, vorrei chiederti un consiglio.
quale dbms utilizzeresti per creare un'applicazione standalone scritta in C#?

alex783
07-12-2009, 10:28
ti ringrazio per la risposta.
essendo alle prime armi, vorrei chiederti un consiglio.
quale dbms utilizzeresti per creare un'applicazione standalone scritta in C#?

Credo che SQLite abbia tutto ciò che occorre, ed è anche molto veloce.
Altrimenti vai sul più completo (a livello di sintassi SQL) Firebird.

P.S:
Per interfacciarti in modo semplice con SQLite dal tuo progetto, usa pure la classe che ti allego in questo post (non l'ho scritta io ma l'ho trovata su CodeProject.com).

La includi nel tuo progetto e poi aggiungi l'istruzione "using SQLiteWrapper;" nella tua classe che farà uso dei metodi implementati in SQLiteWrapper.

P.S:
per creare un database, usa questi metodi:

SQLiteBase db = new SQLiteBase(percorso_del_file_database);
db.OpenDatabase(percorso_del_file_database); //se il file non esiste, lo crea


per eseguire istruzioni SQL, usa questi metodi:
db.ExecuteNonQuery("inserisci_qui_l'istruzione_SQL");

oppure

DataTable MyDbTable=db.ExecuteQuery("inserisci_qui_l'istruzione_SQL")

La differenza tra i due metodi, come puoi facilmente intuire, è che il primo metodo restituisce un void (quindi "niente"), mentre il secondo restituisce un dato di tipo DataTable, che è implementato nel framework .NET (puoi conoscere le sue proprietà e i metodi che espone su MSDN).

Ciao! :)

tomminno
07-12-2009, 11:24
ti ringrazio per la risposta.
essendo alle prime armi, vorrei chiederti un consiglio.
quale dbms utilizzeresti per creare un'applicazione standalone scritta in C#?

Per quanto riguarda sqlite io ti consiglio http://sqlite.phxsoftware.com/. E' possibile anche usare LINQ e integra sqlite nell'editor grafico di Visual Studio.
Sinceramente non ho mai trovato un caso in cui per un db integrato sentissi l'esigenza di qualcosa di più si sqlite. In tal caso opterei per Firebird embedded.

sagitter79
07-12-2009, 13:58
grazie 1000 per le risposte!! :D

sapete se è possibile fare delle stored procedure su uno dei due dbms o su entrambi?

tomminno
07-12-2009, 14:27
grazie 1000 per le risposte!! :D

sapete se è possibile fare delle stored procedure su uno dei due dbms o su entrambi?

Sqlite non supporta le stored procedure mentre firebird embedded si.

Personalmente non vedo l'utilità di una stored procedure in un database embedded, molto meglio spostare la logica nel codice che nella stored procedure.
Inoltre per un database embedded non ha senso parlare di differenze di prestazioni tra una query e una SP.
Secondo me le SP hanno un senso in contesti aziendali, magari perchè il DBA vuole vietare insert o update e consentire l'interazione solo con SP.

fdfdfdddd
08-12-2009, 15:24
Puoi sempre usare SQL Server Compact se vuoi rimanere su prodotti Microsoft :-)

Comunque se proprio vuoi stare sicuro che il computer sul quale venga eseguita la tua applicazione abbia tutto il necessario perché non ti crei un piccolo installer?

sagitter79
21-12-2009, 10:20
vorrei creare una piccola applicazione per la contabilità familiare.
una sorta di agendina delle entrate e delle uscite.

sono indeciso sull'uso di c#/java + firebird/sqllite/sql server 2005/mysql.

l'applicazione deve essere standalone e deve poter gestire un piccolo db.
dovrei montare il tutto su un pentiumIV a 1,6ghz con 0,5gb di ram.
quindi vorrei creare un'applicazione che, per girare, non necessiti di un quad... :D

astorcas
21-12-2009, 10:57
vorrei creare una piccola applicazione per la contabilità familiare.
una sorta di agendina delle entrate e delle uscite.

sono indeciso sull'uso di c#/java + firebird/sqllite/sql server 2005/mysql.

l'applicazione deve essere standalone e deve poter gestire un piccolo db.
dovrei montare il tutto su un pentiumIV a 1,6ghz con 0,5gb di ram.
quindi vorrei creare un'applicazione che, per girare, non necessiti di un quad... :D


io andrei di c# + firebird

sagitter79
10-01-2010, 11:49
Puoi sempre usare SQL Server Compact se vuoi rimanere su prodotti Microsoft :-)

Comunque se proprio vuoi stare sicuro che il computer sul quale venga eseguita la tua applicazione abbia tutto il necessario perché non ti crei un piccolo installer?
e come?

io andrei di c# + firebird
perché più semplice e leggero?

wizard1993
10-01-2010, 18:18
perché più semplice e leggero?
io ti consiglierei sempre C# ma con SQLite, comunque le motivazioni per il c# hanno un nome: linq.
sviluppare un piccolo applicativo con linq vuol dire tra le tante cose, poter operare sui dati senza dover andare a scomodare l'sql, con tutti i vantaggi che porta, inoltre l'integrazione dei dati con tabelle nelle gui è molto comoda e il wizard di visual studio aiuta molto