Innosetupインストーラを使用して、バイナリとINIファイルをシステムにインストールしています。 アップグレードでは、既存のバイナリを削除して新しいバイナリをインストールするだけです。 しかし、INIファイルとは少し異なります。ユーザーがiniファイルの値を編集できるため、その変更を保存したいからです。更新されたiniファイルをインストールする前に、名前に_copyを追加して既存のiniファイルをコピーし、元のiniファイルを削除し、デフォルトで新しいiniファイルをインストールしてから、_copy iniファイルを読み込み、(Section、key )。プロダクションシステムで人はどのようにiniファイルを管理しますか?
---キーの名前を変更したりセクション名を変更するまで、このシステムはうまく動作します。次に、インストール後のiniファイルを更新するスクリプトを用意する必要があります。
私が現在の戦略で長期的に見ている問題は、ユーザーが1.0.1から1.0.9に更新したい場合です。どのように対処しますか? 1.0.1から1.0.9の各インストーラーを強制的に実行しますか? 移行ツールを作成しますか?誰かが現在使っている戦略はありますか?
バージョンアップ中にINIファイルを編集するのではなく、レガシーファイルを処理するコードを変更したくないと思います。 –
@lukesignhこれは、タイムスタンプと.bak拡張子を持つ以前のバージョンのバックアップを残しておく必要があります。そのため、移行に問題がある場合は、手動でロールバックまたはアップグレードするオプションがあります – Novaterata