2017-11-20 16 views
0

私はWindows App用にClickOnceデプロイメントを使用しています。ただし、新しいバージョンをアップロードすると、新しいインストールパスが作成され、最初のインストールの初期パスは再利用されません。ClickOnceデプロイメントで新しいインストールディレクトリが作成されますか?

私は最初のパスのフォルダにある自動添付DBに依存しているので、新しいインストールパスのフォルダを検索しているため、ファイルが見つからない場合、

初期インストールを上書きするためにClickOnceを強制する方法はありますか?私はそれがデフォルトのClickOnceの振る舞いだと思った、間違っていたと思う。あなたのプロジェクトにデータベースファイルを追加すると

/ボブ

答えて

0

、それのためのデフォルトBuild ActionContentだろうとPublishページでApplication Files設定で、公開ステータスがData File (Auto)だろう。

プロジェクトのデータベースファイルを変更しないで、プロジェクトを公開して新しいバージョンをインストールすると、以前のバージョンのデータベースファイルが使用されます。ただし、プロジェクトのデータベースファイルを変更したり、テーブルやテストデータを追加したりするなど、変更されたデータベースファイルを使用して新規インストールすると、以前のバージョンのデータベースが上書きされます。

プロジェクトのデータベースファイルに変更があった場合、アプリケーションを公開してインストールすると、以前のバージョンのデータベースにアクセスでき、アプリケーションのデータフォルダにある.preという名前のフォルダにコピーされます。

System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory 

以前のバージョンのデータベースのmdfファイルとLDFファイルはデータディレクトリの下に.preフォルダに利用可能であり、あなたがしたい場合は、それらを使用することができます。

あなたは使用して、インストール用のデータフォルダを見つけることができます。

+0

アプリケーションの起動時に、古いファイルが存在するかどうかを確認した後、古いmdfファイルとldfファイルを '.pre'フォルダからメインデータディレクトリにコピーし、新しいmdfファイルとldfファイルに上書きしました。その後、古いmdfファイルとldfファイルを削除しました。この方法では、プロジェクトデータベースファイルを変更することなく、インストール間でデータベースを保持できます。しかし、答えの最初の2つの段落で説明した設定に従うことをお勧めします。ここで私がコメントで説明したケースは、データ移行などの古いデータファイルをどのように使用できるかを示すための好奇心からのものでした。 –

+0

答えについて質問がある場合は教えてください... –

関連する問題