无法删除 VS 2015 安装项目中的文件
Can't delete files in VS 2015 Setup project
我有一个普通的 VS 2015 安装项目(安装了扩展,所以它看起来像 VS 2010 及更早版本的安装项目)。
在 'File System on Target Machine' 部分,我添加了一个文件夹 "MyAppFolder",然后添加了该解决方案的其中一个项目的主要输出。然后 VS 也添加了一堆 dll。
但是,当我尝试删除文件夹时,它显示:
Cannot delete folder. Folder is not empty or it might contain excluded
files, which are not shown.
是的,它不是空的。如果我右键单击单个 dll 文件,"Delete" 选项将被禁用。
我不想在目标机器上安装这个文件夹。如何在我的安装项目中删除这个文件夹?
从安装中删除不再需要的文件(例如,因为它们在自定义操作中使用过)的支持方法是将组件 ID 设置为空。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368007(v=vs.85).aspx
查看有关组件 ID 的备注。
在 Visual Studio 设置中不支持此功能,因此通常通过使用 Orca 等工具编辑 MSI 文件来手动完成。
总的来说,我认为您总是需要先删除单个文件,然后再删除文件夹。
我遇到了同样的问题,这对我有用:
- 先删除文件夹内的文件。
- 有些文件无法删除,请将其从项目中排除"Detected Dependencies",然后重试。
- 删除父文件夹。
我在处理大量数据文件及其相关文件夹时遇到了这个问题。有64个文件夹和1000多个文件。这是我找到的解决方案:-
正在删除数据文件
- 在左侧窗格的解决方案资源管理器视图中完全展开安装项目,直到列出安装中复制的所有文件
- Select 所有你想删除的文件(在我的例子中是全部)
- Select 从主菜单中编辑->删除以从安装中删除所有文件
- 转到“文件系统”视图并逐个删除其包含的文件夹。
使用这种方法,我在不到 1 分钟的时间内成功删除了超过 1000 个文件及其文件夹
我今天遇到了这个问题,并找到了可能的解释。如果您在安装程序的任何部分都有一个项目的输出,使得 Visual Studio 自动添加的 .dll 被所述项目引用,Visual Studio 将不允许您删除这些引用。如果您要从安装程序中删除此项目输出引用,则 .dll 也会消失。然后,您可以 re-add 您实际需要的输出参考。所以,回顾一下:
- 删除所有可能引用 .dll 的项目输出(是的,即使是在其他位置的)
- 自动添加的 .dll 应该会消失
- 将项目输出添加回您想要的位置
我有一个普通的 VS 2015 安装项目(安装了扩展,所以它看起来像 VS 2010 及更早版本的安装项目)。
在 'File System on Target Machine' 部分,我添加了一个文件夹 "MyAppFolder",然后添加了该解决方案的其中一个项目的主要输出。然后 VS 也添加了一堆 dll。
但是,当我尝试删除文件夹时,它显示:
Cannot delete folder. Folder is not empty or it might contain excluded files, which are not shown.
是的,它不是空的。如果我右键单击单个 dll 文件,"Delete" 选项将被禁用。
我不想在目标机器上安装这个文件夹。如何在我的安装项目中删除这个文件夹?
从安装中删除不再需要的文件(例如,因为它们在自定义操作中使用过)的支持方法是将组件 ID 设置为空。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368007(v=vs.85).aspx
查看有关组件 ID 的备注。
在 Visual Studio 设置中不支持此功能,因此通常通过使用 Orca 等工具编辑 MSI 文件来手动完成。
总的来说,我认为您总是需要先删除单个文件,然后再删除文件夹。
我遇到了同样的问题,这对我有用:
- 先删除文件夹内的文件。
- 有些文件无法删除,请将其从项目中排除"Detected Dependencies",然后重试。
- 删除父文件夹。
我在处理大量数据文件及其相关文件夹时遇到了这个问题。有64个文件夹和1000多个文件。这是我找到的解决方案:-
正在删除数据文件
- 在左侧窗格的解决方案资源管理器视图中完全展开安装项目,直到列出安装中复制的所有文件
- Select 所有你想删除的文件(在我的例子中是全部)
- Select 从主菜单中编辑->删除以从安装中删除所有文件
- 转到“文件系统”视图并逐个删除其包含的文件夹。
使用这种方法,我在不到 1 分钟的时间内成功删除了超过 1000 个文件及其文件夹
我今天遇到了这个问题,并找到了可能的解释。如果您在安装程序的任何部分都有一个项目的输出,使得 Visual Studio 自动添加的 .dll 被所述项目引用,Visual Studio 将不允许您删除这些引用。如果您要从安装程序中删除此项目输出引用,则 .dll 也会消失。然后,您可以 re-add 您实际需要的输出参考。所以,回顾一下:
- 删除所有可能引用 .dll 的项目输出(是的,即使是在其他位置的)
- 自动添加的 .dll 应该会消失
- 将项目输出添加回您想要的位置