0

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

好的,我们开始...

我正在尝试使用名为 p2 Director Application 的 Eclipse 命令行工具从我自己的 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 参数,因此当用户将我的应用程序安装在 Windows 的 C:\Program Files\ 目录中时,我可以使用 p2 Director 应用程序通过命令行成功安装此功能。 UAC 设置为其默认级别,这会阻止 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

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

谢谢你的时间。

4

1 回答 1

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
于 2012-08-21T20:14:03.137 回答