Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 卸载以前版本时删除目录_C#_Visual Studio 2010_Visual Studio_Wix - Fatal编程技术网

C# 卸载以前版本时删除目录

C# 卸载以前版本时删除目录,c#,visual-studio-2010,visual-studio,wix,C#,Visual Studio 2010,Visual Studio,Wix,我正在使用WIX安装程序安装应用程序。安装程序将在安装之前删除现有的两个应用程序。该应用程序的日志文件已写入,并且由于该日志文件,在现有删除过程中不会删除包含文件夹的日志文件。我需要wix安装程序在安装新应用程序期间删除该垃圾文件夹 我试过这个 <Component Id="deletejunk" Guid="GUID"> <util:RemoveFolderEx Id="RemoveiDocDir" On="uninstall" Property="iDocDir"

我正在使用WIX安装程序安装应用程序。安装程序将在安装之前删除现有的两个应用程序。该应用程序的日志文件已写入,并且由于该日志文件,在现有删除过程中不会删除包含文件夹的日志文件。我需要wix安装程序在安装新应用程序期间删除该垃圾文件夹

我试过这个

<Component Id="deletejunk" Guid="GUID">
    <util:RemoveFolderEx Id="RemoveiDocDir" On="uninstall" Property="iDocDir" />
</Component>


它对我不起作用。如何做到这一点。

在过去,我只使用了基于常规(非Util)的选项

<DirectoryRef Id="TARGETDIR">
  <Component Id="C__deleteJunk" Guid="{GUID}">
    <RemoveFile Id="__deleteJunkFiles" Name="*.*" On="uninstall"/>
    <RemoveFolder Id="__deleteJunkFolders" On="uninstall" />
  </Component>
</DirectoryRef>


这将清除文件夹中的所有文件,然后删除文件夹本身。试一试。

如何删除现有的两个应用程序?它们是通过FindRelatedProducts/RemoveExistingProducts删除的MSI,还是通过调用卸载命令的自定义操作删除的非MSI?@ChristopherPaint MSI通过RemoveExistingProducts删除现有产品。我需要在安装新MSI的过程中删除该现有应用程序文件夹。垃圾日志文件夹属于该文件夹老产品。乔的方法应该有效。但我怀疑安装程序是否应该首先删除日志,因为这是用户数据,并且应用程序仍在安装。如果应用程序创建了日志,则在下次运行时,当它意识到日志是较新版本时,应该将其删除或存档。