Установить базу данных SQL Server CE в отдельную папку [Windows Mobile 6 Smart device ap] - PullRequest
0 голосов
/ 31 октября 2011

Установите базу данных SQL Server CE в отдельную папку, а приложение - в другую, как обычно.При удалении приложения с устройства база данных не будет удалена.При переустановке приложения на том же устройстве проверьте, существует ли в нем база данных [где мы сохранили при первой установке], если ее нет, сохраните в общей папке для всех интеллектуальных устройств [например, \Program Files\], в противном случае используйте существующую БД.1003 * Как это сделать с помощью C #, Windows Mobile 6 ?????

1 Ответ

0 голосов
/ 01 ноября 2011

После прочтения вашего комментария я бы предложил что-то похожее на следующее:

  • Когда ваше приложение запускается, проверьте, существует ли ваша база данных по требуемому пути (или по пути, указанному в INI-файле)

  • Если база данных не найдена, спросите пользователя, должна ли использоваться база данных по умолчанию (или просто скопируйте ее, если у них не будет выбора).

Когда приложение будет удалено, эта база данных останется.

Когда ваше приложение переустанавливается, оно может использовать оставленную базу данных.

Пример:

namespace DBTest1 {

  public partial class Form1 : Form {

  const readonly string MYDATABASE = "\\Application Data\\DBTest1\\sqlce.db";

  private void Form1() {
    InitializeComponent();
    CreateIfNotThere(DBTest1.Properties.Resources.sqlcedb, MYDATABASE);
  }

  void CreateIfNotThere(object data, string filename) {
    if (String.IsNullOrEmpty(filename)) {
      filename = string.Format(@"{0}{1}{2}",
      Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
      Path.DirectorySeparatorChar, "sqlCe.db");
    }
    if (data != null) {
      byte[] array = (byte[])data;
      FileInfo file = new FileInfo(filename);
      if (!file.Exists) {
        using (FileStream fs = file.Create()) {
          fs.Write(array, 0, array.Length);
        }
      }
    }
  }
  // other code
}

Если вы хотите приступить к написанию пользовательских шагов CABWIZ, есть хорошая запись в Как создать файл inf для проекта cab-устройства для интеллектуальных устройств из командной строки? thread.

...