如何在Windows的添加/刪除程序列表中添加程序以便列出它(因此我可以點擊它來卸載)?如何在Windows添加/刪除程序列表中添加程序
9
A
回答
11
卸載註冊存儲在註冊表中,在註冊表中的你應該保存它取決於如果你的安裝程序安裝爲所有用戶或單個用戶的程序(即你的RequestExecutionLevel設置):
- 用戶= HKCU
- 管理= HKLM
- 最高= SHCTX(這意味着你必須使用SetShellVarC ontext正確,並在卸載程序中正確還原)
只有兩個值是必需的:DisplayName和UninstallString。
!define REGUNINSTKEY "MyApplication" ;Using a GUID here is not a bad idea
!define REGHKEY HKLM ;Assuming RequestExecutionLevel admin AKA all user/machine install
!define REGPATH_WINUNINST "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Section
WriteRegStr ${REGHKEY} "${REGPATH_WINUNINST}\${REGUNINSTKEY}" "DisplayName" "My application"
WriteRegStr ${REGHKEY} "${REGPATH_WINUNINST}\${REGUNINSTKEY}" "UninstallString" '"$INSTDIR\uninstaller.exe"'
SectionEnd
有可以設置幾個可選值,MSDN並沒有真正提供能夠證明值的列表,但NSIS Wiki has a decent list和this page有一個更完整的列表...
3
用法示例:
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"DisplayName" "<Name>" ;The Name shown in the dialog
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"UninstallString" "$INSTDIR\<Path to uninstaller>"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"InstallLocation" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"Publisher" "<Your Name>"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"HelpLink" "<URL>"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"DisplayVersion" "<Version>"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"NoModify" 1 ; The installers does not offer a possibility to modify the installation
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"NoRepair" 1 ; The installers does not offer a possibility to repair the installation
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"ParentDisplayName" "<Parent>" ;
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\<Name>" \
"ParentKeyName" "<ParentKey>" ; The last two reg keys allow the mod to be shown as an update to another software. Leave them out if you don't like this behaviour
相關問題
- 1. 如何添加我的程序來添加/刪除程序? VB.NET
- 2. 如何將程序添加到Windows 7程序列表?
- 3. 安裝後刪除程序從添加/刪除程序列表Wix
- 4. Windows安裝程序 - 強制用戶通過添加刪除?刪除程序
- 5. 在Windows'添加/刪除程序中顯示正確的大小
- 6. 在添加/刪除程序中更改Windows窗體應用程序圖標
- 7. 添加/刪除程序項丟失
- 8. 添加刪除程序圖標
- 9. 是否可以將Silverlight 3瀏覽器外應用程序添加到添加/刪除程序列表中?
- 10. 添加/刪除程序中的引導程序和設置
- 11. Wix安裝程序添加單獨版本的應用程序升級,而不是在添加刪除程序中刪除和添加新條目
- 12. 如何將Windows 7跳轉列表添加到應用程序
- 13. C#Windows從添加/刪除列表
- 14. 添加在程序
- 15. 如何添加程序
- 16. 如何添加程序
- 17. 從添加/刪除程序中刪除不良安裝
- 18. 如何在運行時添加和刪除擴展程序?
- 19. 如何在kotlin程序中添加庫?
- 20. 如何在java程序中添加.class?
- 21. 重複數據刪除和過濾添加/刪除程序列表(VBScript)
- 22. 如果從「添加/刪除程序」中刪除服務應用程序(如果它不再列爲服務)?
- 23. MSI安裝程序不刪除以前版本的添加/刪除程序
- 24. 添加/刪除列表
- 25. 添加和刪除元素序列
- 26. 如何將項目添加到線程列表中並保持添加順序?
- 27. WiX:舊版本不會在「添加/刪除程序」列表中消失
- 28. 應用程序未顯示在其他用戶的添加/刪除列表中
- 29. 在運行時在Java(Swings)程序中添加並刪除JTextField
- 30. 無法刪除添加/刪除鏈接程序
注:在64位機器上有32位安裝的單獨位置:https://superuser.com/a/293896/41494 – icc97 2018-02-23 16:13:24