今天用InstallShield打包了一個安裝程序,安裝順利完成了,但是當我去控制面板准備卸載時,發現我的程序沒有詳細的信息,正常的軟件信息如下圖:

而我的程序沒有發布者,大小和版本,也沒有圖標,於是上網搜了一下,發現這些信息應該在安裝的時候就寫到注冊表里,系統才會自動讀取出來,這就是Uninstall注冊表項。
注冊表所在的位置:
64位:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
32位:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
一般都會以程序的GUID作為子項,然后里面會有更詳細的值,如下圖:

常用的項如下:
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,那么按鈕將會用“刪除”代替“修改/刪除”。
所以你只需在你安裝程序時寫入上述注冊表就可以正常的顯示卸載列表里的詳細信息了。
