如何在卸载时通过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
然后它看起来像:
我的问题:卸载后,这些子文件夹user1
, user2
将不会被删除。 我使用以下Wix声明:
卸载后:
为什么这些文件夹会保留,如何从安装文件夹中删除这些生成的文件夹? 当我通过C#创建这些文件夹时,我是否需要设置任何权限?
现在使用Bob Arnson建议的RemoveFolderEx。 但除了声明
,还有一些必要的注册表声明:
在WixUtilExtension中使用RemoveFolderEx。 当我介绍它时,我在我的博客上写了这篇文章 。