Advance Installer 安装过程中调用批处理 .bat 脚本

针对AdvanceInstaller打包过程中的速度问题,作者发现大量不修改的配置文件和模块导致了慢速。为解决此问题,提出了将这些文件压缩并整合到exe中的策略,通过批处理脚本和WinRAR.exe进行解压。在Aip文件配置中,添加自定义操作调用批处理脚本,实现安装时动态解压,从而显著提高效率。这种方法尤其对零散的文件优化效果更佳。

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

        最近在开发过程中遇到 Advance Installer 编包太慢的问题,通过梳理发现是部分配置文件太多(基本不修改),模块大太且零散(模块也不怎么修改),所以想着是不是能把这些文件做成压缩包,然后打进 exe中,在安装的过程中在解压开,实测效率提示明显(文件越零散,优化效果越好)。

实现方法:

一、批处理脚本

unzip_Test_calfile.bat

@echo off
setlocal enabledelayedexpansion
cls

set p0=%0
set p1=%1

echo bat file: %p0%
echo UserProfileFolder: %p1%

::当前目录
set localpath=%~dp0
echo current path: %localpath%

::判断软件是否安装
set installPath=%localpath%\CalFile
IF EXIST %installPath% (
	set installPath=%installPath%
	echo App is installed and the target dir is %installPath%
	goto UPDATE_CALFILE
)

echo Error: App is not installed in target dir %installPath%


:: 解压 CalFile 文件压缩包
:UPDATE_CALFILE
WinRAR.exe x -ibck -y Test\\Test.rar .
WinRAR.exe x -ibck -y %p1%\\Test2\\Test2.rar %p1%

二、Aip 文件配置

1、将批处理脚本,WinRAR.exe工具包,加入到 aip 配置文件中

2、自定义操作:

1)自定义操作中,“添加自定义操作” 中添加 “LaunchFile” 

 2)“LaunchFile” 配置:

属性: 

启动文件:鼠标放到输入框,右击,选择"文件",选择你想要调用的批处理脚本“unzip_Test_calfile.bat”

命令行:鼠标放到输入框,右击,我这里的入参是目录地址(其他的没有实验过)

勾选:”隐藏程序窗口“,可以将批处理的打印隐藏

           ”以管理员身份运行“,批处理脚本中,有需要管理员身份才能运行的命令,可以选中这个

 执行时间:

勾选:”系统已成功修改后(提交)“ , 其他的没有实验过,

批处理.bat)文件中遇到"Internal Error 2503"通常是因为Windows Installer服务出现问题或者是安装过程中的一些资源文件缺失或者权限不足。要解决这个问题,你可以尝试以下几个步骤: 1. **确认系统服务**: 确保Windows Installer (msiexec.exe) 服务正在运行。打开命令提示符,输入`sc query msiserver`检查服务状态。如果服务未启动,可以尝试手动启动它。 2. **更新或修复Windows Installer**: 运行命令 `sfc /scannow` 来扫描并修复系统文件保护错误,这有助于修复可能导致问题的损坏系统组件。 3. **提升权限**: 如果在管理员权限下运行安装脚本仍然失败,可以尝试将脚本设为以管理员身份运行,例如添加`runas /user:admin "your_script.bat"`到批处理开头。 4. **修改安装脚本**: 在bat文件中加入错误处理代码,比如捕获错误2503,然后提供更友好的反馈,并给出一些解决方案建议,如重新启动服务、关闭防火墙等。例如: ```batch @echo off setlocal start "" msiexec.exe /i your_package.msi /qn && IF ERRORLEVEL 1 ( echo [ERROR] Installation failed with code 2503. Try restarting the Windows Installer service. pause ) ``` 5. **隔离安装**: 尝试在单独的环境(如虚拟机)或者干净的临时目录下安装,避免影响其他已安装软件。 6. **联系软件供应商**: 最终,如果以上步骤无法解决问题,可能是软件本身的问题,直接联系软件供应商寻求技术支持。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值