2010-06-04 132 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