LocalDB.mdf ファイルを使用してアプリケーションをビルドしてきましたが、本番環境で使用して、インストール可能なアプリケーションを作成する必要があります。
調査の結果、そのようなファイルを保存するのに最適な場所は/Appdata/Local/
フォルダーにあるようです。
LocalDB.mdf ファイルがまだ存在しない場合、または削除されている場合は、そこに新しい LocalDB.mdf ファイルを作成するつもりです。
アプリ リソースに事前に作成された LocalDB.mdf ファイルがあり、最初の実行時にこのフォルダーにコピーしたかった/Appdata/Local/
のですが、アクセスが拒否されましたというエラーが表示されます。
そのフォルダに空のファイルを作成できます。
コードは次のとおりです。
string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string dvAppDataFolder = appDataFolder + @"\MyApp";
AppDomain.CurrentDomain.SetData("DataDirectory", dvAppDataFolder);
if (!Directory.Exists(dvAppDataFolder))
Directory.CreateDirectory(dvAppDataFolder);
if (!File.Exists(dvAppDataFolder + "LocalDB.mdf"))
{
File.WriteAllBytes(dvAppDataFolder, LokiServer.Properties.Resources.newDB);
}
さらに、私はこれを正しい方法で行っていますか?