2012-10-23 106 views
0

假設我有幾個文件需要放到本地應用程序數據文件夾中,然後用一些標誌執行,就像「pic1.jpg」需要轉到「我的圖片」和「random.exe」。如何在c#中生成exe文件和包文件?

我應該在MSDN上查找哪些類可以生成一個exe文件,更重要的是,我該如何「捆綁」將要生成的exe文件?

通常很容易 - 只需將它們作爲資源添加到項目即可。但是這對於動態生成的.exe來說很容易嗎? (輸入文件每次都會有所不同)

因此,回顧一下,我需要一個文件到exe的轉換器,有點像安裝程序,不需要所有的花裏胡哨的東西。我怎樣才能開始?

+0

我假設你沒有使用Visual Studio? Visual Studio爲你創建一個.EXE文件,它有一個Resources部分,你可以在其中放置你的東西,比如圖片和圖標。如果你需要比這更復雜的東西,你可以在Visual Studio中創建一個Windows Installer項目。 –

回答

2

如果我理解正確,您需要一個安裝程序 - 您可以使用InnoSetup創建一個安裝程序,將您項目中的文件捆綁在一起。這包括安裝主要的.exe和它可能具有的任何依賴關係(映像,設置文件等)。

InnoSetup可以免費使用,並且是一個非常不錯的安裝程序。除非您添加它們並且它爲您處理各種特殊文件夾,否則沒有任何鈴聲。 (像WinRar或7zip這樣的Archivers可以爲你製作一個壓縮的.exe壓縮文件,但是它們不能很好地(或根本)處理壓縮文件中不同文件的不同目標文件夾。)

PS:讓我知道如果我誤解了你的問題。

編輯

AssemblyBuilder開始與在飛行中產生的組件。您必須通過發出具有正確參數的IL操作碼來自己生成所有方法,然後在完成後將程序集保存到磁盤。

通常,整個System.Reflection.Emit命名空間是你應該看看的。您也可以嘗試使用Mono.Cecil來生成程序集 - 這可以簡化許多您需要做的事情,但它有自己的特點,您必須學習。

這個問題可能對你有用: Generate exe in .Net

+0

這實際上是我想要做的。然而,我想學習如何自己做,這就是爲什麼我問如何生成一個可執行文件,而不是隻是要求安裝IDE的課程:) –

+0

@ dsp_099我在你的評論後更新了我的答案。 – xxbbcc

+0

太好了,非常感謝! –