После прочтения вашего комментария я бы предложил что-то похожее на следующее:
Когда ваше приложение запускается, проверьте, существует ли ваша база данных по требуемому пути (или по пути, указанному в 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.