私の clickonce アプリには、アプリのルート ディレクトリに含める必要がある .ini ファイル (サード パーティの dll からの構成) があります。ファイルをリンクとして追加し、「コンテンツ」および「新しい場合はコピー」としてマークしました。問題は、更新を展開するたびに、もう一度クリックしてファイルをダウンロードし、すべての変更を上書きすることです。
clickonce が " " を尊重しないのはなぜcopy if newer
ですか?
私の clickonce アプリには、アプリのルート ディレクトリに含める必要がある .ini ファイル (サード パーティの dll からの構成) があります。ファイルをリンクとして追加し、「コンテンツ」および「新しい場合はコピー」としてマークしました。問題は、更新を展開するたびに、もう一度クリックしてファイルをダウンロードし、すべての変更を上書きすることです。
clickonce が " " を尊重しないのはなぜcopy if newer
ですか?
clickonce が「新しい場合はコピー」を尊重しないのはなぜですか?
これは、ビン (またはバイナリがコンパイルされる場所) にコピーするときにコンパイラによって使用されるためです。この設定は clickonce とは関係ありません。
INI の名前を「base.ini」または同等のものに変更することをお勧めします。アプリケーションの起動時に、アプリケーションがまだ存在しない場合に限り、新しい名前で新しいファイルにコピーします。このようなもの:
if (!File.Exists("yourinifile.ini"))
{
File.Copy("base.ini", "yourinifile.ini");
}
編集:
ClickOnce マニフェストでファイルをデータ ファイルとしてマークできる場合があります。これをする、