Automation 如何以编程方式更改产品代码
我已经为自动构建创建了bat文件。这是我的产品的创建安装程序。但问题是,在运行自动构建脚本之前,我必须从InstallShield手动更改产品代码。那么,有没有办法自动更改产品代码?因为除了产品代码之外,所有东西都是自动的 我认为您应该使用InstallShield自动化来实现这类功能,例如isWipProductConfig对象,它公开您正在构建的MSI的产品代码 正如Phil所说,您可以通过Installshield的COM自动化界面来实现这一点,但也有其他方法,如本文所述: 基本上是:Automation 如何以编程方式更改产品代码,automation,windows-installer,installshield,Automation,Windows Installer,Installshield,我已经为自动构建创建了bat文件。这是我的产品的创建安装程序。但问题是,在运行自动构建脚本之前,我必须从InstallShield手动更改产品代码。那么,有没有办法自动更改产品代码?因为除了产品代码之外,所有东西都是自动的 我认为您应该使用InstallShield自动化来实现这类功能,例如isWipProductConfig对象,它公开您正在构建的MSI的产品代码 正如Phil所说,您可以通过Installshield的COM自动化界面来实现这一点,但也有其他方法,如本文所述: 基本上是: 上
- 类似于:
“[PATHHERE]ISCmdBld.exe”-p“MyInstaller.ism”-r SingleImage-y“1.0.0.13”-z ProductCode=%guid%
- 请检查上面的链接-我从未使用过ISCmdBld.exe选择COM自动化
ISWiAuto23.ISWiProject
更改为IswiAuto20.ISWiProject
以匹配Installshield 2013 COM服务器版本,它可能会运行
至关重要的是,您必须从32位CScript.exe/WScript.exe
(不要问我为什么)运行VBScript。只需在桌面上设置一个测试用的C:\Windows\SysWOW64\cscript.exe的快捷方式,然后将脚本拖放到该快捷方式上,或者更好的是,打开一个命令提示符,转到C:\Windows\SysWOW64
(信不信由你,这是32位文件夹-并且(!)-仅在Windows中!),然后键入cscript.exe[FullPathToVBScript]
。显然,在运行脚本之前,请记住关闭Installshield GUI中的ISM文件
我喜欢这样一个事实,即您可以将新版本和产品配置保存在*.ism文件中,这样您就有了编译版本的记录。我不确定ISCmdBld.exe的作用。您使用的是什么版本的Installshield?您使用的是MSBuild还是ISCmdBld.exe?我使用的是Installshield standalonebuild@SteinÅsmul:insall shield 2013Dozens of languages support COM。Perl、Python、NodeJS、C++/C#。。。是,仅支持32位:(我只需使用IsCmdBld.exe-z Property=Value,而不需要那么复杂。(也就是说,我确实是一个MSBuild倡导者,所以我会使用属性函数生成GUID,并使用PropertyOverrides将其传递到生成中。尝试MSBuild可能是一个好主意。如果有机会,我会尝试。至于COM语言:我的经验是,除非使用经过良好测试的语言,否则会出现X文件问题有问题的COM对象模型。例如,我对Javascript和Windows Installer对象模型非常陌生(所有MSI SDK示例都是VBScript格式的,因此我们知道它们最初使用的是什么)。据我所知,Javascript可能更适合Installshield。或者C#可能也经过了很好的测试,无法确定。我听说人们在尝试使用COM的Perl时遇到了很多困难。