1

現在、ユーザーデータ階層は次のようになっています。

LocalAppDataFolder / Company / Product

これは、ユーザーが複数の製品をインストールしている可能性があるため、これは理にかなっています。ただし、WiXではProductフォルダーだけを削除することはできません。

<Directory Id="LocalAppDataFolder">
    <Directory Id="ManufacturerDir" Name="Company">
        <Directory Id="AppDataDir" Name="Product">
            <Component Id="AppData" Guid="some_guid">
                <RemoveFolder Id="AppDataDir" On="uninstall" />
                <RegistryValue Root="HKCU" Key="Software\Company\Product" Type="string" Value="" />
            </Component>
        </Directory>
    </Directory>
</Directory>

上記のスニペットにより、「LGHT0204:ICE64:ディレクトリCompanyはユーザープロファイルにありますが、RemoveFileテーブルにリストされていません。」というエラーが発生します。もちろん、他の製品からデータを消去したくありません。私が見つけたいくつかの例は、1つのディレクトリの深さだけです。つまり、介在するディレクトリ(この場合はCompany)は含まれていません。

ここで何かを誤解しているような気がします。何?どうもありがとう。

4

1 に答える 1

4

追加する<RemoveFolder Id="RemoveManufacturerDir" Directory="ManufacturerDir" On="Uninstall"/>と、そのエラーを取り除く必要があります。ディレクトリが空の場合にのみ、フォルダは削除されます。そこに他のファイルがある場合、それは削除されません。

于 2012-06-05T18:53:29.207 に答える