0

我正在为我的多项目解决方案实现一个安装包,该解决方案安装一个 Windows 服务以及一个 Winforms 应用程序。服务和应用程序都可以通过我编写的基于 Web 的自定义实用程序进行自我更新。所以基本上,如果 Windows 服务在 Web 服务器上看到升级,它会定期更新自己的 DLL。如果 Winforms 应用程序在启动时在网络服务器上看到升级,它会自行更新。它不使用标准的安装程序升级过程,但基本上会在 .DLL 被使用之前替换它们。

如果我从项目中手动升级一些 DLL,我了解如何使 Windows 不修复我的安装(使用 NOT REINSTALL 标志)。但是,如果我启用不修复某些文件,当用户手动升级或修复其安装时,我会遇到无法卸载或升级它们的问题。

所以,我需要的是:

1) Windows 不尝试修复我手动升级的 .DLL 自动没有明确的用户请求 2) Windows 卸载所有内容,包括自升级的 .DLL 的 - 当用户选择卸载时 3) Windows 修复所有如果用户手动选择维修安装

这可能吗?我唯一的选择是实现在卸载期间手动清理 .DLL 的自定义操作吗?

谢谢

4

1 回答 1

0

WiX为您提供了对安装过程的大量控制,这个问题(希望)描述了如何让 WiX 删除初始安装后添加的文件。只要您不使用更新创建新目录,似乎您不需要任何自定义操作。

于 2010-11-19T09:49:00.067 回答