Domanda

Ho un'applicazione desktop WPF che utilizza un database personalizzato per l'archiviazione. Ho bisogno di preparare un progetto di installazione (da Visual Studio 2008) (setup completo, non ClickOnce).

Posso aggiungere l'all'elenco dei prerequisiti per l'applicazione e lo fa installare durante l'installazione dell'applicazione.

La mia domanda è: Come posso eseguire uno script durante la configurazione per creare il database che le esigenze applicative? O come posso ripristinare il database al computer client durante l'installazione?

Un'altra domanda relativa, che cosa accadrebbe se esiste già sulla macchina client? Come rilevare il nome dell'istanza e connessione dati? E poi come essere in grado -se necessaria- di modificare la stringa di connessione utilizzata da Entity Framework per connettersi a tale database?

Grazie, Ed

È stato utile?

Soluzione

SQL Server Express Edition è generalmente una scelta veramente poveri per un database locale. E 'un motore di classe server che ama usare un sacco di risorse e funziona come un servizio (in modo che sia utilizzando tali risorse anche quando l'applicazione non è in esecuzione). In altre parole, essa appartiene su un server.

L'unico posto che ho visto SQL Server Express utilizzato su un desktop che fa quasi senso è come parte della Microsoft Small business Accounting app, e in questo caso in genere si installa il programma su una macchina che è scopo primario sta facendo la contabilità per il vostro business.

Cosa si dovrebbe fare è utilizzare un desktop o un motore di classe in-process come SQL Server Compact Edition , SQLite, o anche di accesso. Questo sarà anche molto semplificano la distribuzione.

Se si insiste su spingendo attraverso con questo, sapere che il programma di installazione creerà una nuova istanza di SQL Server sul sistema. SQL Server sarà bene con questo. Tuttavia, è necessario tenere conto di che nella stringa di connessione della vostra applicazione, e che può essere un po 'più complicato. Inoltre, per impostare il database si dispone di un paio di opzioni:

  • crearlo dal codice cliente al primo avvio dell'app
  • Creare con un'azione di installazione personalizzato (difficile da ottenere perché le autorizzazioni MSI)
  • Distribuire un file con estensione mdf pre-compilazione * e fissare con l'azione di installazione personalizzata o al primo avvio dell'applicazione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top