简体   繁体   English

如何使用Inno Setup查找HKLM子文件夹的名称?

[英]How to find the name of a HKLM subfolder using Inno Setup?

I wish to install an After Effects plugin on the end-users' system. 我希望在最终用户的系统上安装After Effects插件。 To ascertain the location of installation, I must find out which version, or versions of After Effects are installed. 为了确定安装位置,我必须找出安装了哪个或多个After Effects版本。 Because the folder structure looks like this: 因为文件夹结构如下所示:

HKLM/SOFTWARE/Adobe/After Effects/(version)/key

It's not very simple. 这不是很简单。 Most graphic designers install more than one version of After Effects. 大多数图形设计师会安装多个版本的After Effects。 And I must present them with all of them in order to let them choose which version they with to install the plugin on. 而且我必须向他们介绍所有这些内容,以便让他们选择安装插件所使用的版本。

Conversely, I wish to present the user with three options: 相反,我希望为用户提供三个选项:

  1. A key that contains the common install path 包含公用安装路径的密钥
  2. A key that contains the main install path 包含主要安装路径的密钥
  3. A custom path 自定义路径

How's that going to be possible given the abilities and limitations of Inno Setup? 鉴于Inno Setup的功能和局限性,这怎么可能?

Thanks. 谢谢。

You need to know which version is installed on the end user's PC. 您需要知道最终用户的PC上安装了哪个版本。

It's a piece of cake. 很简单的。 :-) :-)

Look at "HKEY_CLASSES_ROOT.aep": It will rewrite every time the installation is executed. 查看“ HKEY_CLASSES_ROOT.aep”:每次执行安装时它将重写。 So you know the latest version. 所以您知道最新版本。

For example, it is 4.0 version when the value of "HKEY_CLASSES_ROOT.aep" is "aftereffects.project.40". 例如,当“ HKEY_CLASSES_ROOT.aep”的值为“ aftereffects.project.40”时,它是4.0版本。 And then you can check out "HKEY_CLASSES_ROOT\\AfterEffects.Project.40\\shell\\open\\command". 然后,您可以签出“ HKEY_CLASSES_ROOT \\ AfterEffects.Project.40 \\ shell \\ open \\ command”。 There is the installation path. 有安装路径。

That's it. 而已。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM