Domanda

Abbiamo recentemente trasferito un progetto di sviluppo di applicazioni ClickOnce esistente da Visual Studio 2005 per VS 2010. A causa di un problema di aggiornamento con Visual Studio 2010, abbiamo dovuto aggiornare il suo database SQL CE da v3.1 a v3.5.

Per evitare il mal di testa di migrazione dei dati, ci sono state copiando banca dati precedente dell'utente nella loro nuova installazione cartella ogni volta che un aggiornamento ClickOnce è pubblicato. Se ci sono cambiamenti di DB, li script in gestore di eventi isFirstRun dell'app.

Ma ora, dal momento che abbiamo cambiato la versione del database e dei file del schierato SQL CE dll, vuol dire che tutti i nostri clienti esistenti si concluderà con la versione del database sbagliato.

Abbiamo una piuttosto grande base di utenti, e ci troviamo ad affrontare problemi se abbiamo bisogno di tutti gli utenti esistenti di esportare i propri dati, disinstallare completamente, quindi reinstallare la nuova versione.

DOMANDA: C'è un modo per aggiornare il database esistente sul posto di programmazione

?

GRAZIE

Nessuna soluzione corretta

Altri suggerimenti

Qui ci sono due articoli che potreste trovare utile. Il primo è come includere i di SQLCE DLL con la distribuzione, piuttosto che distribuirlo come prerequisito; questo ti dà il controllo totale su quale versione è in esecuzione.

http : //robindotnet.wordpress.com/2010/02/28/how-to-deploy-the-sqlserver-compact-edition-software-locally/

Il secondo articolo è su come per mantenere la sicurezza dei dati da aggiornamenti ClickOnce.

http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/

Certo, utilizzare l'aggiornamento API SqlCeEngine, supporti anche in aggiornamenti sul posto: http://erikej.blogspot.com/2010/08/how-to-upgrade-version-3x-database-file.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top