私はちょうどwixチュートリアルに従っていて、 Visual Studio 2012で簡単なインストーラーを作成しました.
ユーザーの AppData フォルダーに Excel アドインをインストールしようとしています。従来、アドインを %AppData%\Roaming\Microsoft\AddIns にコピーするバッチ ファイルを提供していました。私はそれをwixで複製しました:
<Directory Id="TARGETDIR" Name="SourceDir">
... other stuff
<Directory Id="AppDataFolder" Name="AppData">
<Directory Id="Microsoft" Name="Microsoft">
<Directory Id="AddIns" Name="AddIns">
<Component Id="MyAddin" Guid="...">
<File Id="MyAddinXla" Source="..\Data\MyAddin.xla"/>
<RemoveFolder Id="Microsoft" On="uninstall" Directory="Microsoft"/>
<RemoveFolder Id="AddIns" On="uninstall" Directory="AddIns"/>
<RemoveFile Name="MyAddin.xla" Id="MyAddinXla" On="uninstall"/>
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]\AddinKeyPath' Type='string' Value='' KeyPath='yes' />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
現在、インストール前にフォルダーが既に存在していても、RemoveFolder ディレクティブがない場合、wix コンパイラーは文句を言います。
アプリをアンインストールすると、AddIns ディレクトリ自体が削除されます (他には何もありません)。
私の質問は、AddIns フォルダーが空の場合に削除されることを気にする必要がありますか (Microsoft アプリはそれなしで苦労しますか)、必要な場合は、インストーラーにそれを削除しないように指示するにはどうすればよいですか?