向“添加/删除程序”添加卸载信息
控制面板准备卸载时,会提供卸载入口,这个入口是通过读取注册表得到的,
写注册表,以便在“添加/删除程序”中显示
注册表所在的位置:
64位:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
32位:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
注册表里提供包括卸载程序exe的路径等软件信息,如果以程序的GUID作为子项,则里面会有更详细的软件相关信息
在“ HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall”下创建一个以你的产品名为名的项,就可以向“控制面板”中的“添加/删除程序”添加一个条目。
对于Windows NT ,还要在 HKCU下创建项,而且这将只能显示给当前用户。这里有许多可以写入关于你的应用程序和卸载程序的信息的值项。可以通过WriteRegStr 或是 WriteRegDWORD 命令写入一个值。
安装脚本里添加写注册表帮助卸载:
WriteRegStrHKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Name}""DisplayName" "${Name} ${Ver}"
WriteRegStrHKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Name}""UninstallString" "$INSTDIR\UnInstall.exe"
;以下可选
;WriteRegStrHKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Name}""InstallLocation" "$INSTDIR"
....
;写卸载程序
WriteUninstaller "$INSTDIR\UnInstall.exe"
DisplayName (字符串)- 应用程序的名称
UninstallString (字符串)- 卸载程序的路径和文件名。你应当 总是给路径加上引号,以确保路径中的空格不会令 Windows无法找到卸载程序。
可选值
以下某些值将不会被旧版本的 Windows 使用。
InstallLocation (字符串)- 安装目录 ($INSTDIR)
DisplayIcon (字符串)-将要显示于你的应用程序名称旁边的图标的路径,文件名和索引。
Publisher (字符串)- 发布者(或公司)的名称
ModifyPath (字符串)- 应用程序的修复程序的路径和文件名。
InstallSource (字符串)- 应用程序的安装路径。
ProductID (字符串)- 应用程序的产品 ID。
RegOwner (字符串)- 应用程序的注册拥有者。
RegCompany (字符串)- 应用程序的注册公司。
HelpLink (字符串)- 技术支持的网站链接。
HelpTelephone (字符串)- 技术支持电话。
URLUpdateInfo (字符串)- 应用程序的在线更新网址链接。
URLInfoAbout (字符串)- 应用程序的主页链接。
DisplayVersion (字符串)- 应用程序的显示版本。
VersionMajor (DWORD)- 应用程序的主版本号。
VersionMinor (DWORD)- 应用程序的副版本号。
NoModify (DWORD)- 1 (如果卸载程序没有修改应用程序的选项)
NoRepair (DWORD)- 1 (如果卸载程序没有修复安装程序的选项)
如果“NoModify”和“NoRepair”都被设为 1,那么按钮将会用“删除”代替“修改/删除”。
本文介绍了如何通过向注册表的特定位置添加信息,在Windows的控制面板"添加/删除程序"中创建卸载条目。详细阐述了在64位和32位系统下的注册表路径,并提到了在`HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall`下创建相应键值来添加卸载程序的详细步骤,包括DisplayName、UninstallString等关键字段的设置方法。
1878





