如何在程序和功能中重命名已安装的程序?

use*_*18s 1 windows control-panel

有什么方法可以重命名 Windows 7 控制面板的程序和功能部分中已安装的程序?

Aus*_*nch 6

我将就此发表我的大文章,即使没有详细说明,信息也在那里。

这是我一直在研究的一篇小文章,虽然它没有直接解决您的问题,但它可能有用。只需注意我提到的注册表项,您通常可以删除它们,以及 C:\Program Files\Application 文件夹以欺骗安装程序

关于在 Windows 中添加/删除程序你想知道的一切。您有没有想过 Windows 如何呈现和使用添加/删除程序?或者您可能需要自己枚举这些值?这里有一些关于它是如何工作的、如何使用它的有用信息以及一些你可能会喜欢的巧妙技巧。

在此处输入图片说明 您在添加和删除程序(XP、Vista、7 确认)中看到的所有内容都作为子项写入注册表 **HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall**。 在此处输入图片说明

例如,我有一个带有键和值的子键CutePDF Writer Installation:

现在,这里感兴趣的是 UninstallString 值。当您在添加/删除程序中单击“卸载”时,它所做的就是调用此值并运行它。您可以手动执行相同的操作,例如如果您从运行行或命令提示符运行“C:\Program Files (x86)\Acro Software\CutePDF Writer\Setup64.exe /uninstall”,您将获得卸载程序。您还可以通过运行带有 /? 切换或从 cmd 提示符运行以下命令:

Cd C:\Program Files (x86)\Acro Software\CutePDF Writer Setup64.exe /?

注意,这是一个不好的例子,因为 switch 不返回任何东西!但通常这会起作用,或者您可以通过这种方式手动调用 unistaller。现在,让我们看一下卸载列表可能存在的问题,您将看到一些以这种格式命名的文件:{AFF7153F-C4AA-4C48-AEE9-8611D276CE86}

这就是 MSI 安装程序将其名称写入注册表的方式,而不是写入 EXE 安装程序写入的友好名称,而是写入其 GUID。

这不是真正的问题,而是阅读密钥的困难。有几种方法可以通读这些。一,有一个值名称 DisplayName 将具有更友好的值(在本例中)用于 Active Directory (x64) 的 Quest ActiveRoles Management Shell。

另一种方法是 Windows 将 GUID 的“压缩和散列”版本写入注册表的另一部分。

要对值进行哈希处理,请采用 GUID {AFF7153F-C4AA-4C48-AEE9-8611D276CE86} 并反转每组十六进制值。AFF7153F 变为 F3517FFA,C4AA 变为 AA4C 并沿 GUID 向下直到您拥有以下内容: {F3517FFA-C4AA-84C4-9EEA-68EC672D1168}

现在,删除 {、- 和 } 以获得F3517FFAC4AA84C49EEA68EC672D1168 您现在拥有可以与另一个键进行比较的压缩和散列 GUID。

您现在应该能够在注册表的以下位置找到这个新的 GUID: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products

果然,她在那里: 密钥散列

使用以下键: 在此处输入图片说明

同样,您可以在 ProductName 中查找应用程序的名称。

额外提示:您可以通过在开始搜索、运行行或命令提示符中键入 appwiz.cpl 来启动添加/删除程序。