如何从nsis中的注册表中获取已安装程序的路径? 我正在通过readregistry命令读取注册表并分配给变量。实际上我想找到我的uninstall.exe位置。
答案 0 :(得分:1)
如果使用InstallDirRegKey
指令,则可以指定一个注册表项,其中将保存$INSTDIR
目录以供将来使用。下次安装程序启动时会自动读取该密钥。
您可以使用它来找到uninstall.exe
您还可以在安装时编写几个键来配置Windows“添加/删除程序”,然后可以通过UninstallString
注册表值找到unistaller:
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\my_application"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayName" "my_application Uninstaller"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\my_application.exe,0"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "Publisher" "My company"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "HelpTelephone" "555-123456"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'