NSIS:如何检查应用程序是否已安装
NSIS: How check that application is installed
我需要检查是否安装了 Microsoft filter pack 2.0 应用程序。我找到了 this 答案,但在我的例子中,我没有应用程序名称,而是名称目录,注册表中的程序名为 {95140000-2000-0409-1000-0000000FF1CE}
这是我检测已安装应用程序的代码:
ReadRegStr [=10=] HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall${FILTER_PACK_KEY}" "UninstallString"
IfErrors FilterPackNotFound FilterPackFound
64 位 Windows 上的注册表有 two "views",32 位应用程序默认访问 32 位视图。
NSIS 可以使用 SetRegView
指令访问 64 位视图:
Section
SetRegView 64
RegReadStr [=10=] HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\{95140000-2000-0409-1000-0000000FF1CE}" "UninstallString"
SetRegView 32
MessageBox mb_ok [=10=]
SectionEnd
我需要检查是否安装了 Microsoft filter pack 2.0 应用程序。我找到了 this 答案,但在我的例子中,我没有应用程序名称,而是名称目录,注册表中的程序名为 {95140000-2000-0409-1000-0000000FF1CE}
这是我检测已安装应用程序的代码:
ReadRegStr [=10=] HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall${FILTER_PACK_KEY}" "UninstallString"
IfErrors FilterPackNotFound FilterPackFound
64 位 Windows 上的注册表有 two "views",32 位应用程序默认访问 32 位视图。
NSIS 可以使用 SetRegView
指令访问 64 位视图:
Section
SetRegView 64
RegReadStr [=10=] HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\{95140000-2000-0409-1000-0000000FF1CE}" "UninstallString"
SetRegView 32
MessageBox mb_ok [=10=]
SectionEnd