2014-02-17 69 views
0

我已經設置了一個存儲庫來使用Npackd分發插件。我知道,我可以使用批處理腳本從包中移動所有文件,但恐怕我可能會意外地覆蓋文件。目前,我的設置是這樣的(這是npackd常見的做法,我相信):使用Npackd進行插件分發

  1. ​​會下載
  2. 內容被提取到%PROGRAMFILES%\myPackage\myFile
  3. 包批處理腳本可選擇其他地方的文件移動

不幸的是,Npackd文檔沒有解釋如何處理這個內部過程。我首先關心的是文件夾myPackage已經存在並可能被覆蓋,因此其文件被我的Install.bat移動。有沒有辦法在文件被提取之前定義目標路徑?由於我正在爲現有軟件安裝插件,因此這會避免我的腳本移動所有文件。

實現的一種方法可能是「濫用」7z examples,但如果可能的話,我想避免依賴項,因爲我的插件存儲在標準zip壓縮文件中,而Npackd可以在不依賴的情況下處理這些插件。

回答

1

Npackd在安裝包版本時總是創建一個新目錄。通常這個目錄的名稱是包標題(例如「Firefox」)。如果此目錄已存在,則版本號將用作後綴(例如「Firefox-27.0.1」)。如果此目錄中已經有一個下劃線和一個數字(例如「Firefox-27.0.1_2」​​,「Firefox-27.0.1_3」等)

沒有辦法定義軟件包的位置準確安裝。正如你可能會確定在主軟件包中的每個插件的依賴,無論如何,我建議是這樣的:

<dependency package="com.mycompany.WordProcessor" versions="[5.00.2195, 6.1)"> 
    <variable>WP</variable> 
</dependency> 
<file path=".Npackd\Install.bat">copy spellcheck.dll "%WP%\plugins"</file> 
+0

謝謝這個工作,但我想這可以給我一些更多的麻煩,避免空目錄。 – idleberg

相關問題