iniファイルがWIXツールセットで存在するかどうかを確認する方法
-
21-12-2019 - |
質問
設定の.iniファイルがあります。再度作成しないように、新しいインストールに存在するかどうかを確認する必要があります。新たな.iniに新しいフィールドがある場合は、既存のファイルに追加されます。
解決
INIファイルをファイルとしてインストールしないで、エントリを inifileテーブルエントリ 。これにより、すべてのINIファイルの変更を「アトミック変更単位」として扱うことができ、それは内蔵MSIメカニズムを介して適切なマージおよびロールバックを可能にする。 あなたはすべてのカスタムアクションの複雑さを避けます。
彼の主要なアップグレードのコメントで点灯しているように:WIX / MSIでも正しい方法を実行し、要件の変更や更新が複雑になったときにポップアップを開始する多くの問題を回避します。 Inifileの更新は正しい方法で頑強で対処するのが簡単です。
wix inifile要素 これを達成する。すべてのマージ機能、ロールバックサポート、および高度なINIファイルの処理は無料で登場します。必要なのは、インストール中にINIファイルで追加または変更する必要があるものを定義することだけです。それがそもそもそこにない場合も作成されます。
INIFILE要素を使用すると、それよりも難しくなる可能性があります。 これはサンプル です。また、
他のヒント
.iniファイルのコンポーネントの「はい」を設定してから、カスタムアクションを介してアップデートを処理します。
edit :一般的に rollback と mergeを手に入れるので、私の答えで説明されているように Inifileテーブルを使用するのははるかに良いです。能力。ただし、ファイルとしてインストールされているINIファイルをにインストールすると、MSIファイルの外部からファイルを簡単に変更できます。。好ましくはありませんが、これは人々がインストールメディアの場所上でiniファイルを直接 "修正プログラム"することを可能にします。チームはこれを使用してインストーラが開発から最新のINIをピックアップすることを可能にすることができます。これには、カスタムアクション(Installの最も重要なファイルの置換の問題)を介して処理できる技術的な問題があります。 INIファイルがInifileテーブルに収まる非標準要素とフォーマットを機能させることもできます(ream with with with uni)、INIよりも異なるファイル拡張子を使用することができる可能性があります。 。すでに説明したように、私はあなたが非常に特別な何かをしていない限り、あなた自身のカスタムアクションを介してINIファイルの更新に対して強くアドバイスします - それは実際に必要です。実装や権利を得ることは複雑です。
私は2 iniファイルを持つことをお勧めします。インストーラが所有するものと、アプリケーション/ユーザーが所有するもの。インストーラは常にINIファイルを上書きすることができ、ユーザーデータを踏むことを心配することはありません。