我們習慣於在Windows XP(它是一家公司唯一的內部文檔管理系統)上自我更新Eclipse RCP應用程序。現在切換到Windows7後,只有在應用程序以管理員身份運行時纔會執行更新,這當然會消除自我更新應用程序的樂趣。P2自助配置RCP與Windows UAC
自配置是從這個article
或多或少複製/粘貼由於安裝文件夾勢必C:\ Program Files文件(公司政策...)的應用可能不再寫入這個文件夾,除非作爲一個升級過程開始。 p2做的事情(至少我認爲在史詩般的調試會話之後)是從p2存儲庫下載artifact.xml和content.xml以進行本地比較並構建更新計劃。不幸的是,如果它不能存儲下載的文件,它只會說「沒有更新」。
我已經試着給共享安裝/ bundlepool一試,其中束使用具有以下屬性的P2導演應用程序安裝到用戶目錄:
-metadataRepository http://someserver/updatesite
-artifactRepository http://someserver/updatesite
-installIUs my.application.id
-roaming
-destination "C:\Program Files\MyApplication"
-bundlepool C:\Users\me\MyApplication
-profile DefaultProfile
-profileProperties org.eclipse.update.install.features=true
-p2.os win32
-p2.ws win32
-p2.arch x86_64
-Declipse.p2.data.area=C:\Users\me\.p2
安裝程序的工作原理樣的好並且應用程序可能會啓動(告訴她後,啓動程序在我的用戶目錄中)。但不幸的是,自我提供仍然沒有這樣的工作。以管理員身份運行將導致下載的更新軟件包和功能位於-destination位置而不是-bundlepool位置 - 這正是我的預期。
我錯過了什麼開關?
有趣的一點。 p2.inf包含了將P2儲存庫添加到設置中的指令,因此顯然會觸及程序文件目錄中的文件 - 即使正如我所期望的那樣,可以觸摸由p2.data.area屬性指定的目錄中的文件。但是ApplicationLauncher是做什麼的?手動檢查更新?並且它不會遇到與以前的應用程序相同的問題(嘗試將文件從存儲庫下載到不具備寫入權限的文件夾)? – CodeSeavers 2012-07-27 12:20:52
不,啓動器的配置方式是它只能使用可寫目錄(通常爲:%tmp%| %appdata%| %allusersprofile%| %userprofile%(Win7) – 2012-08-22 09:55:04