批处理脚本将msi文件转为自解压安装包
HELLOWORLD测试:
1 @echo off 2 3 REM 批处理文件,生成自解压安装包 4 5 REM 当前目录 6 set ccd=%~dp0 7 8 REM msi文件提取目录 9 set destFolder="%ccd%HelloWorld" 10 REM 文件导出目录 11 set packageFloder="%ccd%package" 12 13 if not exist %destFolder% ( 14 md %destFolder% 15 ) else ( 16 echo %destFolder% 目录已存在 17 echo. 18 ) 19 20 if not exist %packageFloder% ( 21 md %packageFloder% 22 ) else ( 23 echo %packageFloder% 目录已存在 24 echo. 25 ) 26 27 REM 获取目录下文件 28 set "fileName=" 29 30 for /f "delims=" %%i in ('dir /b /a-d *.msi*') do ( 31 set fileName=%%~ni 32 ) 33 34 set srcFile="%ccd%%fileName%.msi" 35 36 REM 提取msi安装包文件到输出目录 37 msiexec /a %srcFile% /qb TARGETDIR=%destFolder% 38 39 del .\HelloWorld\*.msi 40 41 echo 提取msi文件成功... 42 echo. 43 44 REM 开始生成自解压安装包 45 echo 准备生成安装包... 46 echo. 47 REM del .\package\*.exe 48 WinRAR.exe a ./package/%fileName%.exe ./HelloWorld 49 Rar.exe c -znote.txt ./package/%fileName%.exe 50 51 REM 删除msi解压目录 52 rd/s/q .\HelloWorld 53 54 echo. 55 echo 安装包制作完成... 56 57 REM 退出 58 exit
测试效果:
测试文件下载:
https://pan.baidu.com/s/1MektobgWzRJEDa8eFtJFpw