单文件静默安装包 2024年6月14日
"D:\Prog\7z SFX Builder\单文件静默安装包.txt"
"D:\Prog\7z SFX Builder\单文件静默安装包.txt"
Version 1.0
Builder 2024年6月14日1、目的目标
制作Windows系统平台上的应用软件的静默安装包,
例如:一键安装MS-Office-专业增强版-2021-包含“Office自动保存工具 v1.0 ”插件。
例如:一键安装腾讯微云同步助手。
例如:一键安装Adobe Photoshop CS6。
要求1个应用软件的安装包只对应于1个exe安装包文件,即单文件exe安装包。
要求1次双击能够完成1个应用软件或者1批应用软件的安装和设置,无需点击下一步或者按回车键。
要求安装包能够在银灿IS903量产CD-ROM等只读物理存储空间中直接运行,静默安装软件。
要求能够完整的安装和设置应用软件,特殊应用软件可以借助工具软件分析后在编程开发修改后打包。应用软件分析修改辅助工具主要有:InstallRite 2.5c、Total Uninstall Professional Version 7.6.0、
Visual Studio 2022 IDE、Embarcadero Delphi 11.3 v28.0.47991 Lite v17.3.1 x64、
Process Monitor (FileMon+RegMon),WinMerge 版本 2.16.36.0、Beyond Compare、
WinHex、RegShot、RegistryChangesView、Registry Finder、
RegistryChangesView(注册表快照对比工具)、RegCool(注册表编辑管理工具) 2、制作工具:
7z SFX Builder v2.3.1.0
InstallRite 2.5c
UltraSearch Professional Version 4.2.0.925
AutoHotkey v1.1.37.02 With SciTE4AutoHotkey Version 3.0.06.01
FindText 版本 9.6 作者 FeiYue3、文件和文件夹命名格式
单文件静默安装包:
X:\SilentSetup\{应用软件简称}.exe
{应用软件简称}为程序主窗口的部分标题,删除空格和其他特殊字符,只保留英文和简体中文字符
X: 是我的容量为22TB的诚和德3.5英寸USB风扇散热机械硬盘移动硬盘盒,主控芯片是祥硕的ASM1153E4、应用软件的安装目标位置
电脑本地磁盘D盘分区中的文件夹D:\Prog例如:
D:\Prog\{应用软件简称}\{应用软件简称}.exe
D:\Prog\{应用软件简称}\{应用软件简称}.bat
D:\Prog\{应用软件简称}\{应用软件简称}.txt5、运行路径中含有空格的exe
@echo off
start "" "D:\Prog\7z SFX Builder\7z SFX Builder.exe"
start "" "D:\Prog\7z SFX Builder\单文件静默安装包.txt"6、遍历所有exe文件(不含子文件夹中的exe文件)
@echo off
for %%i in ("%~dp0*.exe") do (echo %%i)
pause7、是否已安装判断依据
@echo off
set Lnk="C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\7z SFX Builder.lnk"
dir /b /a-d %Lnk% 2>nul | findstr "." >nul
if ErrorLevel 1 (
echo 没有找到快捷方式文件
rem 注意:else前后都有空格
) else (
echo 已经找到快捷方式文件
)
pause8、默认首选系统平台
Windows 10 专业版 版本 22H29、批量静默安装
rem @echo off
Setlocal enabledelayedexpansion
for %%i in ("%~dp0*.exe") do (set LnkFile="C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\7z SFX Builder.lnk"
dir /b /a-d "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\7z SFX Builder.lnk" 2>nul | findstr "." >nul
if ErrorLevel 1 (
echo 没有找到快捷方式文件
start "" "%%i"
)
)
rem pause
exit10、此博客文章网页网址链接:
https://www.autoahk.com/archives/4922911、我的电子邮箱地址:
595076941@qq.com12、示范演示样本文件下载网址链接:
"D:\Prog\7z SFX Builder\7z SFX Builder 配置文件.txt"
;!@Install@!UTF-8!
InstallPath="D:\\Prog"
OverwriteMode="1+8"
RunProgram="nowait:\"D:\\Prog\\7z SFX Builder\\7z SFX Builder.exe\""
RunProgram="nowait:\"D:\\Prog\\7z SFX Builder\\单文件静默安装包.txt\""
Shortcut="Pu,{D:\\Prog\\7z SFX Builder\\7z SFX Builder.exe},{},{},{7z SFX Builder},{7z SFX Builder},{D:\\Prog\\7z SFX Builder},{},{}"
;!@InstallEnd@!
7zSFXBuilder_SFXName=C:\Users\Administrator\Desktop\7z SFX Builder.exe
7zSFXBuilder_UseDefMod=7zsd_LZMA2
7zSFXBuilder_SFXFile_1=D:\Prog\7z SFX Builder\
7zSFXBuilder_7Zip_Level=Ultra
7zSFXBuilder_7Zip_Method=LZMA2
7zSFXBuilder_7Zip_Dictionary=64 MB
7zSFXBuilder_7Zip_BlockSize=Solid
"D:\Prog\7z SFX Builder\Settings.ini"
[Main]
XPos=339
YPos=58
UseUPX=0
UPXCommands=--best --all-methods
UseDefaultSFXMod=1
DefaultSFXMod=7zsd_LZMA2
AutoSelectModule=1
IgnoreEmptyVersData=1
AutoDetermineSFXPath=1
OverwriteSFX=1
[7-Zip]
Path=D:\Prog\7z SFX Builder\3rdParty\7z.exe
Level=Ultra
Method=LZMA2
Dictionary=64 MB
BlockSize=Solid
[MRUList]
1=D:\Prog\7z SFX Builder\7z SFX Builder 配置文件.txt
2=
3=
4=
5=
"D:\Prog\7z SFX Builder\遍历枚举运行exe文件的批处理脚本.bat"
rem "D:\Prog\7z SFX Builder\遍历枚举运行exe文件的批处理脚本.bat"
@echo off
Setlocal enabledelayedexpansion
for %%i in ("*.exe") do (
echo %%i
)
pause
"D:\Prog\7z SFX Builder\判断开始菜单快捷方式是否存在的批处理脚本.bat"
rem "D:\Prog\7z SFX Builder\判断开始菜单快捷方式是否存在的批处理脚本.bat"
@echo off
set Lnk="C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\7z SFX Builder.lnk"
dir /b /a-d %Lnk% 2>nul | findstr "." >nul
if ErrorLevel 1 (
echo 没有找到快捷方式文件
rem 注意:else前后都有空格
) else (
echo 已经找到快捷方式文件
)
pause