0

WIX 3.6 を使用するインストーラー プロジェクトにこのようなシナリオがあります。インストールでレジストリ キーを作成し (これがまだ存在しない場合)、バージョン番号を含む文字列値を書き込みます。アンインストールでは、このレジストリ キーを保持したいのですが、この文字列値を消去して空の文字列にします。「永続的」に設定することで「レジストリキーを保持する」部分を実現できることは知っていますが、アンインストールで値を消去する方法がわかりません。事前に助けてくれてありがとう!

4

2 に答える 2

1

私は自分でやったことがないので、これがうまくいくとは100%確信が持てませんが、試してみる価値があるかもしれません.

まず、ForceCreateOnInstall を使用してキーを作成します (Permanent は必要ありません)。これにより、アンインストール時にキーが削除されることはありません。

<Component Id="RegistryEntryKey" Guid="PUT-GUID-HERE">
    <RegistryKey Root="HKCU"
                 Key="Software\Microsoft\MyApplicationName"
                 ForceCreateOnInstall="yes">
        <RegistryValue Type="integer" 
                       Name="VersionNumber"                            
                       KeyPath="yes"/>
    </RegistryKey>
</Component>

次に、インストール時にバージョンを書き込むだけの 2 番目のコンポーネントを用意します。

<Component Id="RegistryEntryValue" Guid="PUT-GUID-HERE">
    <RegistryKey Root="HKCU"
                 Key="Software\Microsoft\MyApplicationName"
                 Action="write">
        <RegistryValue Type="integer" 
                       Name="VersionNumber" 
                       Value="1.2.35" 
                       KeyPath="yes"/>
    </RegistryKey>
</Component>

その後、アンインストール時に書き込みを元に戻すだけです。

于 2012-06-27T17:22:00.433 に答える
0

caveman_dick の回答のコメントで述べたように、作業を行うにはカスタム アクションを追加する必要がありました。それを行うために WIX を構成する方法が見つかりませんでした。

于 2012-08-01T12:54:03.750 に答える