当我使用Eclipse p2 Director应用程序-shared参数时,我得到了依赖性错误

时间:2012-08-14 15:56:58

标签: eclipse eclipse-rcp eclipse-plugin p2

如果您想了解更多有关我为什么这样做的信息,请参阅此主题... http://dev.eclipse.org/mhonarc/lists/p2-dev/msg04735.html

好的,我们走了......

我正在尝试使用Eclipse的命令行工具p2 Director Application来安装我自己的p2存储库中的一个功能,如此......

C:\SomeDirectory\eclipsec.exe -application org.eclipse.equinox.p2.director -repository http://my.domain.com/myapp/ -installIU com.mydomain.myapp.feature.group -destination C:\SomeDirectory -profile DefaultProfile -shared

注意最后的-shared参数。如果我删除它,一切正常,但当它在那里我得到错误日志...

!ENTRY org.eclipse.equinox.p2.director 4 1 2012-08-14 10:30:03.212
!MESSAGE Cannot complete the install because one or more required items could not be found.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2012-08-14 10:30:03.212
!MESSAGE Software being installed: My Application Feature 1.0.1.20120813-1851 (com.mydomain.myapp.feature.group 1.0.1.20120813-1851)
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2012-08-14 10:30:03.212
!MESSAGE Missing requirement: AMX Application Plugin 1.0.1.20120813-1851 (com.mydomain.myapp 1.0.1.20120813-1851) requires 'bundle org.eclipse.core.runtime 0.0.0' but it could not be found
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2012-08-14 10:30:03.212
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2012-08-14 10:30:03.212
!MESSAGE From: My Application Feature 1.0.1.20120813-1851 (com.mydomain.myapp.feature.group 1.0.1.20120813-1851)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2012-08-14 10:30:03.212
!MESSAGE To: com.mydomain.myapp [1.0.1.20120813-1851]

我尝试使用Eclipse p2在我的RCP应用程序中提供的GUI从同一更新站点安装相同的功能,并且它工作正常。这个问题是我需要安装此功能,而我的应用程序用户不必使用GUI安装它。

我尝试在没有-shared参数的情况下从同一更新站点安装相同的功能,并且工作正常。问题在于,当我打开Windows UAC时,由于写入C:\ Program Files \目录的权限问题,它无法正常工作。

我正在尝试弄清楚如何使用这个-shared参数,因此当用户在C:\ Program Files \目录中安装我的应用程序时,我可以使用p2 Director应用程序通过命令行成功安装此功能Windows UAC的Windows设置为其默认级别,这会阻止Eclipse将IU安装到典型位置。

如果您想了解更多关于我在这里处理的内容,请参阅以下更多背景信息......

https://bugs.eclipse.org/bugs/show_bug.cgi?id=249133

https://bugs.eclipse.org/bugs/show_bug.cgi?id=322929

https://bugs.eclipse.org/bugs/show_bug.cgi?id=343768

因此,如果您对如何在C:\ Program Files \目录中安装RCP应用程序时在Windows中解决UAC有任何想法,我很乐意听取您的意见。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我不确定原因,但是以逗号分隔列表的形式向-repository参数添加更多存储库,解决了这个问题。我不知道为什么它只在使用-shared参数时才起作用。生成的命令看起来像这样。

C:\SomeDirectory\eclipsec.exe -application org.eclipse.equinox.p2.director -repository http://my.domain.com/myapp/,http://my.domain.com/my-other-p2repo/ -installIU com.mydomain.myapp.feature.group -destination C:\SomeDirectory -profile DefaultProfile -shared