2

既存のアプリケーションのインストール フレームワークとして 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...]

ただし、構成オプションが何であるかを事前にインストーラーに知らせたくありません。既存のファイルをスキャンし、不足しているものが見つかった場合はインストーラーから新しいオプションを追加するだけです。

これは可能ですか?

4

1 に答える 1

1

はい、既存の xml ファイルを読み取るカスタム アクションを作成する必要があります。次に、読み取りデータに基づいて、この質問で説明されているように、XmlConfig テーブルに一時レコードを追加することをお勧めします。

于 2013-04-13T04:23:06.413 に答える