0

我有一个应用程序,它在安装时会解包 3 个文件(1 个 .exe,2 个 DLL)。

当我运行该应用程序时,它会从 SQL 中的二进制字段中提取文件(大约 300 个标记)并将它们转换为文件并将它们放在安装目录中。

当我卸载时,这只会删除最初未打包的 3 个原始文件,并会留下运行应用程序后拉下的所有其他文件。

我在我的解决方案中使用 Installsheild LE,我想知道是否有任何方法可以让它从安装位置删除所有内容,而不仅仅是 3 个原始文件?

谢谢 :)

4

1 回答 1

0

默认情况下,Windows Installer 仅服务于它安装的文件。其他所有内容都被视为用户数据,不予理会。您的根本问题是您正在使用这种自制的自动更新模式颠覆您的安装程序。

Windows Installer 有一个名为“RemoveFiles”的表,可用于删除其他文件。ISLE 并没有公开这个表(也没有它被设计用来替换的工具。)。

您可以选择编写自定义操作来删除文件或使用 Windows Installer XML 来创建包含所需 RemoveFile 表条目的合并模块。然后这个 MSM 可以被 ISLE 使用。

于 2013-10-10T19:10:50.937 回答