2014-03-31 88 views
1

我有興趣發佈我用C++編寫的應用程序。我想要的基本上是分配CD的舊方法,並且有一個autorun文件完成大部分工作;我希望能夠發送非技術人員可以使用的文件,以便在他們的機器上編譯/安裝我的.cpp源代碼,並最終生成一個運行的.exe文件。創建安裝包是否代替編譯代碼?

我正在研究創建安裝包的程序,根據我在這裏閱讀的類似問題的建議。我特別閱讀了一些關於NSIS的教程,我對這些程序究竟做了些什麼感到困惑。這些教程使得創建軟件包在其他機器上安裝.txt文件似乎非常容易,但這似乎毫無意義; .txt文件無需編譯即可閱讀,並且沒有特殊原因需要安裝包進行分發。 NSIS和相關程序是否簡單地自動複製和粘貼?我正在尋找的是一個程序,它可以將我的.cpp源代碼編譯並安裝到可能還沒有C++編譯器的其他機器上,並儘可能方便地執行以防萬一收件人不是科技-savvy(最好只是通過運行某種setup.exe)。 NSIS和類似的程序是否具有這種能力,還是僅僅適用於以未編譯格式發送我的源代碼?我應該在別處尋找嗎?

我正在使用Visual Studio 2010 Express,但沒有安裝包的支持。顯然,我的錯誤時機。

此外,我可以這樣做,使得包的收件人將無法讀取我的源代碼的內容,就像我編寫的程序實現了RSA加密並且我不想要用戶知道我選擇的塊大小或模數?

謝謝你的幫助。

+0

自動運行在CD上運行,但不能通過電子郵件發送CD。 – MSalters

回答

0

包通常包含可執行代碼,而不是來源。您將編譯目標機器的代碼,然後將其打包,以便用戶可以安裝它。這不僅僅是複製和粘貼,因爲理想情況下它還會對系統配置進行必要的更改,並記錄足夠的信息以便稍後移除已安裝的文件。

(想想這樣:如果你安裝Visual Studio,你不會編譯它,因爲在安裝的時候你沒有什麼可以編譯的東西,但它包含在一個包中。)

最後一點很明顯:如果你沒有打包源代碼,人們將無法閱讀它們。但是,不要依賴「默默無聞的安全性」 - 如果某人有足夠的技能,他們可以反彙編或反編譯你的程序。

0

否。安裝程序(至少對於Windows)包含目標系統上所需的所有文件,通常是壓縮格式。您仍然有責任創建這些文件,例如通過編譯它們。

並不總是需要安裝人員。有時在Windows上,您會看到術語XCOPY installXCOPY deployment。這是指可以複製整個目錄結構的XCOPY實用程序。如果您只是將整個程序目錄複製到適當的Program Files目錄中,許多程序將運行。

但是,即使在這些簡單的情況下,安裝程序也可以幫助您確定目錄位於哪裏,添加快捷方式的位置以及如何處理卸載。

相關問題