既存のアプリケーションのインストール フレームワークとして WiX を使い始めたところです。アプリケーションには、さまざまな顧客固有の設定を制御する App.Config ファイルがあります。これらの設定の大部分は社内で変更されており、ユーザーが制御することはできません。
このような構成ファイルの例は次のとおりです。
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=CustomersDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
</applicationSettings>
[snip...]
アプリケーションの新しいバージョンが配信されると、新しいアプリ設定を含むストック構成ファイルが含まれます。
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=NonProductionDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
<setting name="NewConfigItem" serializeAs="String">
<value>ConfigDetails</value>
</setting>
</applicationSettings>
[snip...]
アップグレード中に、マージされた App.Config を作成するように WiX インストーラーをセットアップしたいと思います。これにより、既存の設定は変更されませんが、新しい構成項目はデフォルト値で挿入されます。
[...snip]
<applicationSettings>
<setting name="DatabaseConnectionString" serializeAs="String">
<value>Data Source=localhost;Initial Catalog=CustomersDatabase;Persist Security Info=True;Integrated Security=True</value>
</setting>
<setting name="NewConfigItem" serializeAs="String">
<value>ConfigDetails</value>
</setting>
</applicationSettings>
[snip...]
ただし、構成オプションが何であるかを事前にインストーラーに知らせたくありません。既存のファイルをスキャンし、不足しているものが見つかった場合はインストーラーから新しいオプションを追加するだけです。
これは可能ですか?