如何在Windows添加/删除程序列表中添加程序

Jas*_*n94 9 nsis

我如何添加程序,以便在Windows的添加/删除程序列表中列出它(所以我可以点击它卸载)?

And*_*ers 11

卸载注册存储在注册表中,注册表中应保存它取决于安装程序是为所有用户还是单个用户安装程序(IE是您的RequestExecutionLevel设置):

  • user = HKCU
  • admin = HKLM
  • highest = SHCTX(这意味着你必须正确使用SetShellVarContext并在卸载程序中正确恢复它)

只需要两个值: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
Run Code Online (Sandbox Code Playgroud)

您可以设置几个可选值,MSDN并不真正提供记录值的列表,但NSIS Wiki有一个不错的列表,此页面有一个更完整的列表...