无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9308|回复: 50
打印 上一主题 下一主题

[发布] 简单好用的 7z 单文件程序打包工具,批处理版[2023-9-3]

    [复制链接]
跳转到指定楼层
1#
发表于 2021-12-12 03:16:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2010hook 于 2023-9-5 17:47 编辑

2023-9-3 找到了命令参数修改版本和名称。因禁止上传附件,请如下修改Restorator这行命令:
  1. Restorator.exe -open "Bin\7z\7zsd_x86.sfx" -verSetString FileDescription "%Archive%" -verSetString FileVersion "%Version%" -verSetString ProductName "%Archive%" -verSetString ProductVersion "%Version%" -verSetVersion "%Version%" "%Version%" -delete "Icon" -assign "%Archive%.ico" -saveAs "7zSD_%Archive%.sfx" -exit
复制代码


首先感谢@rgy分享7z打包工具,我是在其基础上改进。

功能:
  • 指定解压档案内容的理想路径;
  • 同时使用绝对路径和相对路径;
  • 可选择互动式、静默式和隐藏式;
  • 定制对话框的外观和其中的文本;
  • 最多配置[0...9],[A...Z],[a...z] 62个安装选项,用-aiX开关选择所需的程序和安装顺序;
  • 在解包后连续运行一些文件(.exe、.msi、.reg等),使用它们完成安装应用程序;
  • 替换所有用于早期安装的.bat和.cmd文件,不需要其它类似工具;
  • 创建应用程序的快捷方式,并将图标分配给你选择的快捷方式;
  • 使用7-Zip的压缩方法(LZMA, LZMA2, Deflate, PPMd)高压缩;
  • 完成后删除某个文件和SFX档案本身。

用法:
  • 把需要打包的程序文件夹放到批处理的同级目录;
  • 依照模板编辑config_*.txt,可以指定解压路径和运行命令;
  • 手工提取出主程序图标(像素48x48,位深32),没有则使用7z图标;
  • 修改7zSMake.cmd第4-5行 Archive 和 Version 的值为对应的名字和版本;
  • 打包64bit程序记得修改第18行 7zsd_x86.sfx 为 7zsd_x64.sfx
  • 运行7zSMake.cmd


config_*.txt 附送3个模板,详细用法请查阅附件 Bin\7zSD_*.chm。32/64bit 自适应运行的范例:
;!@Install@!UTF-8!
GUIMode="1"        ;; 1 表示显示解压进度,适合大文件;2 表示不显示
MiscFlags="1+2+4"        ;; 1 不验证可用空间;2 不验证可用内存;4 以管理员身份运行
OverwriteMode="0+8"        ;; 覆盖模式:0 覆盖,1 不覆盖(跳过),2 覆盖旧文件,8 跳过锁定文件
InstallPath="%ProgramFiles%\\Office6"        ;; WPS释放目录,没这项则释放到 %Temp%
RunProgram="x86:hidcon:\"Install.cmd\""        ;; x86 系统则运行此命令,第一个RunProgram默认支持传递参数,hidcon 只能用于隐藏批处理运行窗口,路径要转义:\" 表示 ",\\ 表示 \
RunProgram="x64:Installer.exe %SfxVarCmdLine2%"        ;; x64 运行命令,可传递运行参数
Shortcut="D,{%%T\\et.exe},{},{},{},{Sheet},{%%T\\},{},{}"        ;; %%T 固定指代释放目录
Shortcut="Du,{%%T\\wps.exe},{},{},{},{WPS},{%%T\\},{},{}"        ;; Du 表示用户桌面
Shortcut="P,{%%T\\wpp.exe},{参数},{子目录},{},{WPP},{%%T\\},{},{}"        ;; P表示 开始-程序
;!@InstallEnd@!

命令:
copy /b "7zSD.sfx" + "config_*.txt" + "%Archive%.7z" "%Archive%.exe"

生成的exe可用7z打开查看,一共3个文件拼接而成,右键查看或编辑“2” 内容就是config_*.txt:


提供两种7z压缩方案,默认是综合性能较好的LZMA2;如果追求体积小,可更换LZMA。

推荐Restorator方案,命令参数正确就能修改版本号、公司名,简单高效占用小!

7zSDTool.7z

1.86 MB, 下载次数: 837, 下载积分: 无忧币 -2

评分

参与人数 7无忧币 +35 收起 理由
2010wukong + 5
Hwlon + 5 很给力!
pkups + 5 赞一个!
whyme22 + 5
lili95 + 5 赞一个!
尽善尽美 + 5 非常好
rgy + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2021-12-12 23:26:59 | 只看该作者
本帖最后由 2010hook 于 2021-12-13 16:50 编辑

有两种修改资源的方案,推荐使用Restorator,高效占用小;若使用ResHacker要删掉或跳过批处理第8-18行。
Restorator 我把资源树名称还原为英文,否则批处理要跟着使用中文名称。
回复

使用道具 举报

3#
发表于 2021-12-12 23:35:37 | 只看该作者
一直用WINRAR,改天重装了试试这个,谢谢
回复

使用道具 举报

4#
发表于 2021-12-13 00:21:51 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2021-12-13 00:25:17 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

6#
发表于 2021-12-13 01:41:33 | 只看该作者
感谢分享!
回复

使用道具 举报

7#
发表于 2021-12-13 06:26:32 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
发表于 2021-12-13 07:46:44 | 只看该作者
试试这一个
回复

使用道具 举报

9#
 楼主| 发表于 2021-12-13 10:33:04 | 只看该作者
更新了附件,完善了批处理小细节。

通过MiscFlags="1+2+4"提权,图标就不会有提权小盾牌。另一种方式是修改manifest,有小盾牌。
回复

使用道具 举报

10#
发表于 2021-12-13 10:48:10 | 只看该作者
大佬  感谢分享
回复

使用道具 举报

11#
发表于 2021-12-13 11:04:23 | 只看该作者
能整个mac用的就棒了!
回复

使用道具 举报

12#
 楼主| 发表于 2021-12-13 11:40:29 | 只看该作者
本帖最后由 2010hook 于 2022-1-13 22:45 编辑

修正帖子:用法:“打包64bit程序记得修改第16或48行 7zsd_x86.sfx 为 7zsd_x64.sfx”。改了几次批处理,行数都变了。

没想到短时间有300下载量,不过甚少回复,是不是误以为这是个有图形界面的打包工具?

附件为制作chm的工程文件

7zSD_EN_170.7z

2.17 KB, 下载次数: 23, 下载积分: 无忧币 -2

回复

使用道具 举报

13#
发表于 2021-12-13 11:40:54 | 只看该作者
谢谢分享~~~~~~~~
回复

使用道具 举报

14#
发表于 2021-12-13 12:21:23 | 只看该作者
非常实用
回复

使用道具 举报

15#
 楼主| 发表于 2021-12-13 19:10:30 | 只看该作者
哈哈!我将chm整体翻译成英文,语法结构没走样。
建议重下附件!
回复

使用道具 举报

16#
发表于 2021-12-13 21:18:05 | 只看该作者
文件版本、公司名称在哪里写?

点评

要选对命令参数才能正确修改  发表于 2023-9-3 19:22
要不你改用ResHacker,直观有效  发表于 2021-12-13 21:54
我添加一个Restorator.pdf,你重下载附件吧  发表于 2021-12-13 21:34
回复

使用道具 举报

17#
 楼主| 发表于 2021-12-13 21:31:42 | 只看该作者
本帖最后由 2010hook 于 2021-12-13 21:35 编辑

再修正chm一些空格错乱和几个乱码,增大窗口。
回复

使用道具 举报

18#
发表于 2021-12-14 06:04:06 | 只看该作者
感谢楼主分享,支持一下!
回复

使用道具 举报

19#
发表于 2021-12-14 09:38:37 | 只看该作者
呵呵,12-16号,日期有点超前啊
回复

使用道具 举报

20#
发表于 2021-12-14 10:00:11 | 只看该作者
感谢分享,学习一下怎么使用
回复

使用道具 举报

21#
发表于 2021-12-14 12:23:58 | 只看该作者
需要有图形界面的打包工具,這个太高深
回复

使用道具 举报

22#
发表于 2021-12-14 15:47:18 | 只看该作者
感谢分享,一直在用这个软件
回复

使用道具 举报

23#
发表于 2021-12-14 15:59:38 | 只看该作者

谢谢分享
回复

使用道具 举报

24#
 楼主| 发表于 2021-12-14 17:29:10 | 只看该作者
本帖最后由 2010hook 于 2023-9-3 19:23 编辑

我发现没用对命令参数就不能修改版本号,已解决。

-------------- 旧贴 ---------------
我不是很明白为何Restorator要锁定版本号,只能手工修改。
回复

使用道具 举报

25#
发表于 2021-12-21 11:28:53 | 只看该作者

谢谢分享
回复

使用道具 举报

26#
发表于 2021-12-21 16:01:48 | 只看该作者
这个手动能力强,比较灵活。
回复

使用道具 举报

27#
发表于 2021-12-21 19:56:23 | 只看该作者
谢谢分享
回复

使用道具 举报

28#
发表于 2021-12-26 11:10:30 | 只看该作者
以为是图形界面的打包工具,下载了不会用,哈哈
回复

使用道具 举报

29#
发表于 2021-12-26 11:23:10 | 只看该作者
把需要打包的程序文件夹放到批处理的同级目录;
依照模板编辑config_*.txt,可以指定解压路径和运行命令;
手工提取出主程序图标(像素48x48,位深32),没有则使用7z图标;
修改7zSMake.cmd第4-5行 Archive 和 Version 的值为对应的名字和版本;
打包64bit程序记得修改第16或48行 7zsd_x86.sfx 为 7zsd_x64.sfx
运行7zSMake.cmd      用起来相对麻烦,一直用杏雨梨云的打包程序,简单些
回复

使用道具 举报

30#
发表于 2021-12-26 11:57:44 | 只看该作者
谢谢大神分享,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-22 20:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表