【发布时间】:2015-03-17 15:27:00
【问题描述】:
我有一个使用 Nullsoft 安装程序脚本安装的 C# 程序,我发现该程序乱扔文件:)。
程序正在使用:
Properties.Settings.Default.Save
存储设置。这些设置似乎最终位于一个名称非常重要的文件夹中,例如:
$user/appdata/local/$publisher/myprogram_Url_sad546a5s4d6a5sd1adsd6/$version/
所以我的问题是: 如何从 NullSoft 中找到此名称以便删除文件?
一个快速而肮脏的解决方案当然是删除所有包含名称“myprogram”的旧版本,但这会阻止拥有多个版本的程序。
【问题讨论】:
-
这是你的程序吗?您对唯一安装 ID 有任何控制权吗?
-
'myprogram_Url_sad546a5s4d6a5sd1adsd6' 是 ID 部分的实际示例还是只是随机字符?如果是 GUID,则可能是安装程序中的程序 ID,卸载程序中应该提供该程序 ID 供您使用。
-
您可以为当前用户清理这些文件(如果您确定他们不只是在尝试卸载和重新安装您的应用程序),但对于其他用户则不能(可靠地),因为它们可能已通过漫游配置文件复制到其他计算机。我倾向于Raymond Chen's advice,只保留每个用户的数据。这是用户看不到的地方,而且 .settings 文件可能不会占用足够的磁盘空间。
-
@Anders 这不是我的程序,但我可以访问源代码。在哪里可以找到此安装 ID?
-
@SteveMitcham 那只是随机字符。不幸的是,作为 GUID 的字符不够。
标签: c# nsis uninstallation