2010-06-04 50 views
2

我正在製作一個應用程序,它使用一個單獨的程序來解壓縮一些文件。我如何編譯我的exe文件來包含解壓縮的exe文件,這樣我只有一個文件而不是兩個文件。VB6在EXE存儲exe文件

回答

1

這實際上很糟糕,最好使用安裝程序。但是,如果你堅持......你可能會使用IExpress捆綁你的兩個EXE(在XP之後包含在Windows中,在從IEAK獲得它之前),並將你的「主程序」設置爲「安裝程序啓動「。

這將產生一個單一的EXE作爲其輸出。運行時,它會將打包的文件提取到一個臨時文件夾並運行「主」EXE。

開始|運行...並輸入IExpress啓動向導。

順便說一句:這也是一個很好的方式來打包PDW創建到單個安裝EXE文件。

0

執行此操作的正常方法是使安裝程序包含並安裝這兩個文件。

或者您是否確實需要在安裝後只有一個可執行文件?如果是這樣,我不確定是否有一個簡單的VB6解決方案,.Net框架包含解壓縮文件的功能,以便您可以使用它,但我不認爲在VB6中有類似的東西。

+0

我不想要一個設置和解壓縮實際上是untarring,所以我不這麼認爲......我需要有一個exe,實際上是兩個。 – nebkat 2010-06-04 19:21:05

3

一個可能的解決方案可能是創建一個程序,將解壓縮的exe附加到主可執行文件並寫入標籤或記錄解壓縮exe文件開始的偏移量。然後在運行時的主要可執行文件中,您可以讀取數據,將其寫入臨時文件並啓動它。我之前已經爲圖像和聲音數據製作了一個可定製的屏幕保護程序,它也可以在VB中完成。

看到這個answer to a similar question一個很好的算法,如何做到這一點。

0

使用untar庫,在編譯/鏈接中將其構建到應用程序中,然後部署該exe。 zsharplib是.NET的一個選項。我以前使用vb6解壓縮庫,但不記得名稱。

+0

c#不是zsharplib嗎? – nebkat 2010-06-04 19:59:55

+0

是的,我提到它的.NET爲例。 – reuscam 2010-06-04 20:24:58