从IsCmdBld.exe设置InstallShield 2009 InstallScript项目的版本 [英] Setting Version of InstallShield 2009 InstallScript project from IsCmdBld.exe
问题描述
我对InstallShield非常陌生,并且继承了InstallScript项目.我大部分时间都想出了办法,并解决了大多数问题.但是,我希望随产品的每次构建一起在构建服务器上自动构建该项目.我的工作很好.但是由于某种原因,我无法增加版本号.
I am very new to InstallShield and have inherited a InstallScript project. I have mostly figured out my way around and fixed most of the problems. However, I wish to build this project automatically on our build server with each build of our product. I have this working fine. For some reason, though, I cannot get the version number to increase.
我正在使用命令:
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版本= 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".
不起作用.
However, adding -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"
, or -z "ProductVersion=1.2.3".
does not work.
当我说它不起作用时,是指使用结果安装程序不会像我从InstallShield内部手动增加产品属性"表中的版本"字符串那样尝试进行升级.
When I say that it doesn't work, I mean that using the resulting installer does not attempt to do an upgrade like it would if I manually increased the Version string in the Product Properties table from inside InstallShield.
有什么我想念的吗?我知道我没有提供太多继续工作,只是希望有人之前遇到过这个问题.另外,使用 -c COMP
开关不起作用.
Is there something I am missing? I know I am not providing much to go on, just hoping someone has come across this problem before. Also, using the -c COMP
switch does not work.
任何想法都很感激.
推荐答案
我相信 IsCmdBld
仅支持为 MSI项目传递 ProductVersion
属性,但不适用于InstallScript项目.我相信您在调用 IsCmdBld
之前需要执行以下操作:
I believe IsCmdBld
only supports passing ProductVersion
properties for MSI projects, but not for InstallScript projects. I believe you need to do something like this prior to calling IsCmdBld
:
set project = CreateObject("ISWiAuto15.ISWiProject")
project.OpenProject "C:\test.ism"
project.ProductVersion = "2.0.0"
project.CloseProject
set project = nothing
或者,您可以将项目类型保存为XML格式,并使用XPath/XPoke更新 Property
表中的 ProductVersion
.由于DTD,其语法有点吓人,但是可以做到.
Alternatively you can save your project type in XML format and use an XPath / XPoke to update the ProductVersion
in the Property
table. The syntax is a little scary because of the DTD, but it can be done.
这篇关于从IsCmdBld.exe设置InstallShield 2009 InstallScript项目的版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!