2012-06-11 95 views
0

而不是爲Windows和Linux下載不同的程序,是否可以使下載成爲一個跨平臺的腳本/可執行文件,它可以從FTP服務器上下載正確的安裝程序並啓動它?我應該寫什麼語言?我能想到的唯一一個是Java,但我不想花時間學習它。我不能用Python或BASH編寫它,因爲大多數Windows機器都沒有安裝它們。我應該怎麼做?如何編寫跨平臺安裝程序腳本?

+1

你可以寫一個'.bat'用於Windows的腳本和用於Unix/Linux的'.sh'腳本。 –

+0

@BasileStarynkevitch我這樣做是爲了避免它。如果我打算這麼做的話,我會爲Windows編寫一個EXE和一個Linux版Deb/RPM。我正試圖讓它成爲一個跨平臺下載。 – Orcris

+1

平臺是不同的。我們必須發揮他們的規則,並使用他們理解的命令。此外,由於它的FTP,你將如何確保Windows機器FTP客戶機的行爲與Mac或Linux FTP客戶機的工作方式相同。如果你真的不想寫兩個腳本,只要去Java選項。 –

回答

1

跨平臺可執行文件(如exe或a.out或ELF)是不成問題的。涉及Windows時,可執行文件從不跨平臺。腳本語言(或JIT編譯)必須爲此帶入。我們處於雞與蛋的悖論。您可能需要檢測下載器正在使用的操作系統,在您的網站頁面中使用Javascript腳本並決定接下來要做什麼等等。

雖然不完全是您要查找的內容,但下面是一些指針。

我知道的多平臺安裝程序的最佳工具是Flexera Software's InstallAnywhere。這可能有點昂貴。對於自由選擇我會考慮類似的選項:

PERL

PYTHON(但這是沒問題,按您的帖子,但看我​​的帖子的末尾爲Python更多的選擇)

儘管用上述任何一種語言編寫安裝程序可能意味着更多的工作,但它們爲您提供了無與倫比的靈活性和完全控制。

Perl要求您在Windows上安裝Perl解釋器和模塊。但是這對你來說似乎也沒有問題。所以,你可能避免頭痛通過查看:

PAR

pp

對於Python經歷:

py2exe

pyinstaller

+0

py2exe和pyinstaller不會生成安裝程序,它只是生成一個可分發的文件夾 –