我有一個安裝程序正在與我正在更新的NSIS一起工作。有幾點,安裝程序需要通過替換配置文件中的路徑或值來配置軟件包。這些配置文件的佔位符由我正在使用的任何部署工具(NSIS用於此特定情況)替換。如何用NSIS中的腳本輸出替換文件中的字符串?
腳本主要是編寫PHP腳本來執行一些簡單的任務,這些任務在NSIS中會非常複雜。出於某種原因,儘管我一直在回顧讓自己的PHP腳本自己替換佔位符,而不是在NSIS腳本中進行替換,但這並不正確。 我的代碼如下所示:
nsExec::ExecToStack '"$INSTDIR\Php\php.exe" "$INSTDIR\Apache\tools\findport.php"'
pop $1 ; return code
pop $2 ; port number
!insertmacro _ReplaceInFile "Apache\conf\httpd.conf" "APACHE_PORT" "$2"
的_ReplaceInFile宏觀來自http://nsis.sourceforge.net/ReplaceInFile,如果我使用$ INSTDIR而不是2 $在上面的例子中工作得很好。在MessageBox中顯示$ 2顯示端口號就好了。
我想我做錯了什麼,但我不知道它是什麼,調試是NSIS的一個痛苦。
感謝,
正常工作對我來說:http://pastebin.com/LC1J8WXk ... – Anders 2012-03-09 16:16:23
事實上,問題是一個錯誤的路徑:( – GomoX 2012-03-09 19:53:01