2014-09-04 50 views
0

例如我在D:\ Project \ InstallerPro \ Platform \ Windows8 \ Web.config中有一個配置文件 我需要將該文件移動到D:\ Project \ InstallerPro \網絡\配置\ Web.config文件如果Windows版本之後,安裝程序會從NSI腳本d產生的窗口8在將文件包含在安裝程序包中之前複製文件NSIS

:\項目\ InstallerPro \ PROinst.nsi

是否有可能複製使用NSIS將它編譯爲安裝程序之前(不是手動)文件?

我想要做這樣的事情:

CopyFiles ".\Source\Platform\Windows8\Web.config" ".\Source\WEB\Configuration\Web.config" 

回答

0

CopyFiles是一個運行命令,即命令,將安裝程序執行過程中,而不是在安裝程序創建運行。

你可以使用已安裝程序的編譯過程中執行的!system命令,如:

!system `copy "c:\Source\Platform\Windows8\Web.config" "c:\Source\WEB\Configuration\Web.config"` 

您將需要使用絕對路徑作爲當前工作目錄是從makensis.exe而不是從正在編譯的腳本。

+0

謝謝你的答案@Seki,我想知道是不是把複製代碼放在腳本里面還是放在C#應用程序中更好?因爲我有一個C#應用程序,用於根據用戶的偏好編譯不同的安裝腳本。 – currarpickt 2014-09-05 02:44:53

+0

@currarpickt:我會說這取決於你的需要。除了刪除文件,執行系統命令之外,NSIS在編譯時可以執行的命令非常有限...(參見[編譯時間命令](http://nsis.sourceforge.net/Docs/Chapter5.html))如果你的預處理工作流程需要詳細的步驟,最好將它保存在一個獨立的程序/腳本比nsis腳本更具表現力。在這裏,我需要刷新SVN倉庫,並在安裝編譯後執行一些測試和通知,並使用一些外部Perl腳本,其中NSIS編譯是其中一個步驟。 – Seki 2014-09-05 06:10:11

相關問題