当我卸载我的应用程序时,一些临时文件夹仍然存在于Windows卷目录或安装目录中。这些临时文件夹在我的应用程序(exe)运行时创建。我想删除所有临时文件夹或文件。任何人都可以建议我如何实现这一目标。我已尝试自定义操作删除文件夹但没有取得任何成功。以下是我的代码:
<product>
<Binary Id="CommandPrompt" SourceFile="C:\Windows\System32\cmd.exe" />
<CustomAction Id="DeleteFolder" BinaryKey="CommandPrompt"
ExeCommand='cmd /c rmdir /S /Q "[WINDOWSVOLUME]"'
Execute="immediate" Return="check" />
<CustomAction Id="DeleteFolder" BinaryKey="CommandPrompt"
ExeCommand='cmd /c rmdir /S /Q "[INSTALLDIR]"'
Execute="immediate" Return="check" />
</product>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="MyProgram" />
</Directory>
<Directory Id="WINDOWSVOLUME" >
<Directory Id="ANOTHERLOCATION" Name="MyNewDir">
</Directory>
</Directory>
</Directory>
</Directory>
<SetDirectory Id="WINDOWSVOLUME" Value="[WindowsVolume]" />
<Feature Id="DefaultFeature" Level="1">
<Component Directory="INSTALLDIR">
<File Id="ApplicationFile1" Source="C:\Users\user\Desktop\myprogram.exe" />
</Component>
<Component Directory="MyNewDir">
<File Id="ApplicationFile2" Source="C:\Users\user\Desktop\InstallerFiles_13_4_9_3\myprogramLauncher.jar" />
</Component>
</Feature>
任何人都可以为我提供任何解决方案。
答案 0 :(得分:0)
这就是WiX RemoveFile元素的用途。
http://wixtoolset.org/documentation/manual/v3/xsd/wix/removefile.html
如果您知道文件的名称,您可以在名称中使用通配符。