向“添加/刪除程序”添加卸載信息
控制面板準備卸載時,會提供卸載入口,這個入口是通過讀取註冊表得到的,
寫註冊表,以便在“添加/刪除程序”中顯示
註冊表所在的位置:
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,那麼按鈕將會用“刪除”代替“修改/刪除”。