Windows下打包工具包为一个exe

本文介绍了如何使用WinRAR的自解压功能将工具包压缩成exe,以及EnigmaVirtualBox的软件虚拟化技术,以实现更安全、无临时文件的单执行文件打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 目的

很多时候,一个工具包有除了一个exe还有不少配置文件及dll库。如果只想给客户发布一个exe,要怎么办呢?使用静态编译,不使用dll,将资源编译到exe中,使用时再释放出来。这种方法比较麻烦,而且需要将资源释放到临时目录,针对一些有安全性的工具,安全性也不够。有没有简单又安全的方法呢?

2. WinRAR

WinRAR有自带自解压压缩格式,可以定制压缩解压过程,并且在解压之后运行指定程序。这样看起来,压缩一个工具包为一个exe,自解压直接运行,就相当于是一个独立的exe了。

2.1. UI操作

  1. 选中需要压缩的文件,点击右键 添加到压缩文件

  2. 常规选项中 勾选 创建自解压格式压缩文件
    在这里插入图片描述

  3. 高级选项中 点击自解压文件选项 进行自解压设置
    在这里插入图片描述

  4. 模式设置:解压到临时文件夹 防止文件存在时解压失败,安静模式隐藏解压过程
    在这里插入图片描述

  5. 解压后运行:点击后直接运行exe
    在这里插入图片描述

  6. 图标设置:
    在这里插入图片描述

2.2. 自动化脚本

echo off
set RAR_FILE="E:\Program Files\WinRAR\WinRAR.exe"
REM 源路径可以使用通配符
set PACK_SRC="J:\SPIDownloadTool\*"
rem 打包后生成exe的名字
set PACK_PATH=new_name.exe
rem 打包后生成exe的图标
set ICON_PATH="j:\main.ico"

rem 指定解压后启动的exe路径
echo Setup=j:\SPIDownloadTool\LibraMPTool.exe>info.txt
rem 指定解压到系统临时目录,在exe启动关闭后会自动删除,如果不指定TempMode,则解压到当前目录
echo TempMode>>info.txt
rem 指定静默模式,即自解压过程中不显示解压的过程
echo Silent=1 >>info.txt

%RAR_FILE% a -sfx %PACK_PATH% %PACK_SRC% -zinfo.txt -iicon%ICON_PATH%

del /F /Q info.txt

3. Enigma Virtual Box

WinRAR只是将文件解压到临时路径来执行。如果有更高要求,不希望释放到临时目录执行,希望完整释放到内存中来执行。可以使用Enigma Virtual Box。
Enigma Virtual Box是软件虚拟化工具,它可以将多个文件封装到应用程序主文件,从而制作成为单执行文件的绿色软件。它支持所有类型的文件格式,虚拟化后的软件不释放任何临时文件到您的硬盘,文件模拟过程仅在内存运行。

  1. 主程序
    指定主程序,输入的虚拟文件即以主程序为标准,其图标、版本信息都和主程序相同。
    在这里插入图片描述

  2. 相关文件
    一般选择文件夹递归,会递归加载所有文件。如果有其他需求,可以选择相应设置。
    在这里插入图片描述

Engine Virtual Box的虚拟文件系统有对应一个虚拟目录。除非有特殊需求,需要指定绝对路径,一般选择默认路径即可。

  1. 打包
    其他选项,一般默认即可。如果有注册表需求,选择注册表项进行虚拟注册表设置。最后点击打包,即可以生成单独一个exe.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值