1

InstallSheild LE でデプロイしたい C# プログラムがあります。アプリケーションをインストールする setup.exe ファイルを作成する方法と、現在のインストールをアップグレードできる新しいインストーラーを作成する方法を知っています。

現在、アプリケーションのバージョン番号をインストール ログから取得しています。バージョン番号 (最初は空の文字列) をチェックします。バージョン番号が空の文字列の場合、アプリケーションは %TEMP% ディレクトリに移動し、最新のインストール LOG ファイルを読み取り、インストールが成功したことを示す行とバージョン情報を含む行を探します。バージョン情報はアプリケーション設定に保存され、アップグレードが利用可能かどうかを検出するために使用されます。更新プログラムを検出するために、そのバージョン番号を更新場所 (ネットワーク ドライブ上) にある setup.exe のバージョン番号と比較します。

この実装は機能しますが、私が心配するいくつかの側面があり、アプリケーションにバージョンを伝え、この情報を保存するより良い方法があるかどうかを知りたいです (できれば削除できるファイルには保存しないでください) )。明らかに、情報は更新可能で、実行間で保持される必要があります。理想的には、作成されるファイルやファイルの場所などを推測することなく、C# アプリケーションでバージョン番号を内部的に設定できるようにしたいと考えています。

想い??

あなたの提案に感謝します!

4

2 に答える 2

0

最も簡単な方法は、アプリケーションにバージョン番号をハードコードすることであることがわかりました。次に、プログラムの実行中に、ネットワーク ドライブ上の更新場所にあるインストーラーのバージョンを確認します。ネットワーク ドライブ内のインストーラーのバージョンが、アプリケーションにハードコードされたバージョンよりも新しい場合、プログラムは新しいインストーラーをダウンロードし、別のプロセスを介して実行し、必要なファイルを更新できるようにアプリケーションを閉じます。

于 2014-01-24T00:16:44.373 に答える