如何在卸载时通过Wix删除生成的文件夹和文件?

安装后,我在文件夹C:\Program Files (x86)有以下文件夹结构:

安装后的文件夹结构

generated的文件夹的路径是: C:\Program Files (x86)\CompanyName\AppName\generated

generated的文件夹包含子文件夹和文件,它们将在运行时通过C#代码由应用程序创建:

 var lPathToDir = Path.Combine(lFileService.GetFilePath, pSamAccountName); if (!Directory.Exists(lPathToDir)) { Directory.CreateDirectory(lPathToDir); } 

变量lPathToDir可以具有以下值:

 C:\Program Files (x86)\CompanyName\AppName\generated\user1 // or C:\Program Files (x86)\CompanyName\AppName\generated\user2 

然后它看起来像:

在此处输入图像描述

我的问题:卸载后,这些子文件夹user1user2将不会被删除。 我使用以下Wix声明:

              

卸载后:

在此处输入图像描述

为什么这些文件夹会保留,如何从安装文件夹中删除这些生成的文件夹? 当我通过C#创建这些文件夹时,我是否需要设置任何权限?

现在使用Bob Arnson建议的RemoveFolderEx。 但除了声明 ,还有一些必要的注册表声明:

     

             

在WixUtilExtension中使用RemoveFolderEx。 当我介绍它时,我在我的博客上写了这篇文章 。