从IsCmdBld.exe设置InstallShield 2009 InstallScript项目的版本

Bre*_*ier 4 installshield

我是InstallShield的新手,并继承了一个InstallScript项目.我大部分都想通了解决大部分问题.但是,我希望在我们的构建服务器上使用我们产品的每个版本自动构建此项目.我有这个工作正常.但是出于某种原因,我不能让版本号增加.

我正在使用命令:

IsCmdBld.exe -P <.ism location>
-L <some_path_variable>=<some_value>
-L <some_path_variable2>=<some_value2>

这有效.

然而,添加-y 1.2.3,-y "1.2.3",-z Version=1.2.3,-z Version="1.2.3",-z "Version=1.2.3",-z ProductVersion=1.2.3,-z ProductVersion="1.2.3",或-z "ProductVersion=1.2.3".不能正常工作.

当我说它不起作用时,我的意思是使用生成的安装程序不会尝试进行升级,就像我从InstallShield手动增加Product Properties表中的Version字符串一样.

有什么我想念的吗?我知道我没有提供太多的东西,只是希望有人之前遇到过这个问题.此外,使用此-c COMP开关不起作用.

任何想法都赞赏.

Chr*_*ter 7

我相信IsCmdBld只支持传递MSI项目的ProductVersion属性,但不支持InstallScript项目.我相信在调用之前你需要做这样的事情:IsCmdBld

set project = CreateObject("ISWiAuto15.ISWiProject") 
project.OpenProject "C:\test.ism"
project.ProductVersion = "2.0.0"
project.CloseProject
set project = nothing
Run Code Online (Sandbox Code Playgroud)

另外,您可以以XML格式保存您的项目类型和使用XPath/XPoke更新ProductVersionProperty表.由于DTD,语法有点可怕,但它可以完成.