2015-09-14 190 views
0

我正在使用VC++将msi安装程序复制到指定的目标。 * .jar文件随msi安装程序提供(Duh!)。但我需要找到启动msi安装程序的位置。例如,如果我在DVD中提供整个设置,并且用户将DVD放入驱动器,并且他的\ DVD驱动器是G:\,则需要安装程序知道它是从“G:”驱动器启动的所以它应该在* .jar文件的G:\中查找。其目的是让msi安装程序从任何地方启动,以便可以获取需要复制支持文件的必要路径。目前,msi安装程序是从* .cpp文件启动的,我已经提到了* .jar文件专门针对msi安装程序(换句话说,在C++程序中硬编码路径)的路径。我需要实时获取路径。我是初学者。有人可以帮我吗?获取msi安装程序启动的位置

回答

0

好的。得到了我的问题的答案。我在启动条件选项卡中创建了两个“添加注册表搜索”。第一个属性被命名为JREVERSION属性,SOFTWARE \ JavaSoft \ Java运行时环境作为RegKey和CurrentVersion作为属性选项卡中设置的值。

第二个属性被命名为JREVERSIONPATH在属性,并以此为REGKEY,SOFTWARE \ JavaSoft的\ Java运行时环境\ [JREVERSION]给予和价值,的JavaHome指定。所以,在JREVERSIONPATH的路径使用JREVERSION返回最新的版本号,该属性找到的JavaHome,其中包含所需的目录路径。
最后,在文件系统选项卡上,[JREVERSIONPATH]的值为DefaultLocation

0

您的问题令人困惑,因为C++是用于在Windows上制作程序可执行文件的语言/编译器。它不会让MSI变成现实。

从MSI角度来看,您希望查看SourceDir或可能的OriginalDatabase属性以查找安装程序的运行位置。

+0

我的不好。我使用Visual Studio 2010创建C++代码。它支持创建msi。 – TheEvilGuardian