卸载应用程序时如何删除临时文件夹

时间:2015-11-02 20:47:34

标签: visual-studio wix

当我卸载我的应用程序时,一些临时文件夹仍然存在于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>

任何人都可以为我提供任何解决方案。

1 个答案:

答案 0 :(得分:0)

这就是WiX RemoveFile元素的用途。

http://wixtoolset.org/documentation/manual/v3/xsd/wix/removefile.html

如果您知道文件的名称,您可以在名称中使用通配符。