如何从 nsis 的注册表中获取已安装程序的路径?我正在通过 readregistry 命令读取注册表并分配给一个变量。实际上我想找到我的 uninstall.exe 位置。
问问题
2347 次
1 回答
1
如果您使用该InstallDirRegKey
指令,您可以指定一个注册表项,该$INSTDIR
目录将在其中保存以供将来使用。下次安装程序启动时会自动读取该密钥。
您可以使用它来定位uninstall.exe
UninstallString
你也可以在安装的时候写几个key来配置windows的“添加/删除程序”,然后通过注册表值就可以找到卸载程序了:
!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"'
于 2012-12-18T13:30:16.803 回答