Se usi una cartella condivisa il rete (come dicevi in un post precedente) il problema non si pone, il path è sempre lo stesso, ad esemipo R:\MyFolder\db.sdf (se colleghi l' unità sempre con la stessa lettera), oppure usi il percorso di rete, ad es. \\192.168.0.1\MyFoleder\db.sdf oppure \\MyComuter\MyFolder\db.sdf.
Se invece il programma accede al database semplicemente cercandolo nella stessa cartella in cui si trova l' eseguibile o in una sua sottocartella basta usare Application.StartupPath o AppDomain. Ad esempio:
string myFolder = AppDomain.CurrentDomain.BaseDirectory; // oppure Application.StartupPath
string dbPath = Path.Combine(myFolder, "db.sdf");
string connectionString = "Data Source='" + dbPath + "'";
SqlCeConnection con = new SqlCeConnection(connectionString);
Anche se sposti la cartella contenente l' eseguibile e il db altrove, anche su un altro pc, continua a funzionare.
Se poi per qualche motivo i percorsi devono essere diversi su pc differenti, puoi sempre leggere il path da un file di configurazione, su un pc scriverai 'c:\folder1\db.sdf e su un altro pc scriverai un path differente.