installshield2015通过VBScript设置安装包版本号
文件:setversion.vbs
' Create automation object
Dim pProj
Set pProj = CreateObject("IswiAuto22.ISWiProject")
' Open a setup project--make sure it is not already open in the IDE
Dim sProj
sProj = "yourpath\test.ism"
pProj.OpenProject sProj
pProj.ProductVersion = "2.0.2.2"
pProj.SaveProject ' necessary only if modifying the project
' Display report
'Wscript.Echo sItems
' Close project
pProj.CloseProject
关于installshield的CreateObject(“IswiAuto22.ISWiProject”)这个参数版本,最好参考installshield的说明文档;
以installshield15为准:
打开自带的说明文档,如下图操作:
细节注意点1:
使用32位cmd.exe程序执行build.bat,因为setversion操作ism的接口必须在32位exe中才能实现,不支持64位
如下图所示报错:
官方文档解释原因:
解决办法: 可以设置pre.bat,让32位的cmd.exe执行build.bat
文件:pre.bat
%1 @"C:\Windows\SysWOW64\cmd.exe" /c build.bat :
文件:build.bat
@echo off
::执行设置版本
Wscript setverion.vbs
:: 执行打包
echo ===== Start Package =====
"C:\Program Files (x86)\InstallShield\2015\System\IsCmdBld.exe" -p .\test_v1.0.ism
echo ===== Success Package =====
exit 0
细节注意点2:
bat文件必须是ANSI编码,否则第一个字符在cmd里会被识别成乱码