【发布时间】:2015-11-19 16:04:56
【问题描述】:
我有一个 Windows 安装和部署项目,其中创建了几个非必要文件。当用户删除这些文件时,程序会在下次运行时重新创建它们。
如何防止这种行为?
【问题讨论】:
标签: installation setup-project setup-deployment
我有一个 Windows 安装和部署项目,其中创建了几个非必要文件。当用户删除这些文件时,程序会在下次运行时重新创建它们。
如何防止这种行为?
【问题讨论】:
标签: installation setup-project setup-deployment
在 Visual Studio 设置中不支持此功能,但记录在案的方法是为将被删除的文件设置一个 null 组件 ID:
https://msdn.microsoft.com/en-us/library/aa368007(v=vs.85).aspx
并查看 ComponentId 描述。因此,您需要使用 Orca 或类似工具编辑 MSI 文件,并将文件的 ID 设置为 null。这可以通过带有一些 MSI SQL 和 VBScript 或程序的后期构建脚本来自动化。
通过尝试禁用修复来消除这种情况的尝试通常会失败,因为并非所有修复都可以阻止(例如右键单击 MSI 并修复,或者可能是程序和功能)并且升级 (RemovePreviousVersions) 很可能会导致它们重新安装,以便 Windows 可以查看它们是否需要更新(如果它们不存在,则无法执行)。
【讨论】: