如何让msi将文件安装到相对路径中?

时间:2015-09-15 10:23:22

标签: visual-studio windows-installer

我正在使用Visual Studio创建一个msi,将特定文件安装到安装JRE的位置。我无法提供默认路径(C:\ Program files \ Java),因为路径可能是相对的,因为用户可以在除C:之外的任何驱动器中安装JRE。我该怎么做呢?有没有办法可以从注册表中找到JRE路径并使用此路径作为安装位置?

1 个答案:

答案 0 :(得分:0)

基本上,您进行注册表搜索并将结果用于自定义文件夹:

  1. 根据给你的链接: JRE installation directory in Windows 注册表位置是JavaHome项目中的HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java运行时环境。所以在VS Setup Project中做一个启动条件 - >使用该注册表项搜索目标计算机。右键单击“搜索目标计算机”,添加注册表搜索,然后在属性中选择一个名称,一个大写的属性,如属性中的JREPATH,使用RegKey中的那个键,root中的vsdrrHKLM和Value中的JavaHome。

  2. 当该注册表搜索运行时,它将返回该路径,因此在“目标计算机”视图的“文件系统”中,右键单击该节点并选择“添加自定义文件夹”。在该文件夹的属性中,您希望在Property中使用JREPATH,这是主要的事情。现在您有了自定义文件夹,将文件添加到该文件夹​​就像将文件添加到应用程序文件夹一样。

  3. 那应该让你到那里 - 主要的问题是,我不清楚该注册表位置是32位还是64位,并且64位注册表中的VS注册表搜索被破坏,所以需要额外的修复。那会让你到那儿。如果您在安装过程中使用详细日志,则可以查看该注册表搜索是否正常工作。使用msiexec / i / L * vx