彩票走势图

打包软件InstallShield提示和技巧:从自定义操作写入日志文件

翻译|使用教程|编辑:况鱼杰|2019-10-31 10:49:31.030|阅读 431 次

概述:通过InstallShield Automation界面,您可以在InstallShield IDE外部修改项目的属性,以及执行诸如构建发行版和补丁程序配置之类的操作。本文提供了一些示例,说明如何使用ISWiProductConfig和ISWiRelease对象从VBScript文件构建发行版。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

    InstallShield是构建Windows安装程序和MSIX包并直接在Microsoft Visual Studio中创建安装的最快速最简单的方法。借助InstallShield,您可以快速适应行业的变化,更快地进入市场并提供引人入胜的客户体验。    

点击下载InstallShield最新试用版


    通过InstallShield Automation界面,您可以在InstallShield IDE外部修改项目的属性,以及执行诸如构建发行版和补丁程序配置之类的操作。本文提供了一些示例,说明如何使用ISWiProductConfig和ISWiRelease对象从VBScript文件构建发行版。

ISWiProductConfig和ISWiRelease对象

    在InstallShield环境中使用时,可以使用发行向导来创建产品配置和发行名称,并可以将发行属性设置为媒体类型,是否包括Windows Installer可再发行文件以及是否压缩数据文件。您可以在版本视图中查看现有版本,并通过在版本视图中右键单击其图标并选择生成来重建版本,或按F7键来重建当前版本。

    在项目文件中,每个产品配置均由ISWiProductConfig Automation对象表示,每个发行版均由ISWiRelease对象表示。此外,还有称为ISWiProductConfigs和ISWiReleases的集合,用于存储项目中的所有产品配置和发行版。

    例如,您可以将以下代码放置在名为EnumReleases.vbs的VBScript文件中,并执行该文件以查看显示给定项目中所有产品配置和发行版的消息框。(使用自动化界面打开项目时,请注意,不应在InstallShield环境中打开该项目。)

' NOTE: ProgID changes with each InstallShield version;
' check documentation to see your version's ProgID
Set oISM = CreateObject("ISWiAuto14.ISWiProject")
' open project as read-only
oISM.OpenProject "D:\MySetups\BuildMe.ism", True
strAllReleases = ""
' walk through all product configurations
For Each oConfig in oISM.ISWiProductConfigs
strAllReleases = strAllReleases + vbNewLine + oConfig.Name + vbNewLine
' walk through all releases in current product configuration

For Each oRelease in oConfig.ISWiReleases
 strAllReleases = strAllReleases + vbTab + _ oRelease.Name + vbNewLine
Next ' oRelease 
Next ' oConfig
MsgBox strAllReleases, , "Product Configs and Releases"
oISM.CloseProject

清单1:EnumReleases.vbs

    运行EnumReleases.vbs时,应该看到类似于以下内容的消息框,其中显示了所有产品配置,并在每个产品配置名称下缩进了每个发行版名称。

1.jpg

Set oISM = CreateObject("ISWiAuto14.ISWiProject")
' open project as read-only
oISM.OpenProject "D:\MySetups\BuildMe.ism", True
' build the release
oISM.ISWiProductConfigs("Version1").ISWiReleases("cdrom").Build( )
' for testing purposes
MsgBox "Done!"
oISM.CloseProject

清单2:BuildRelease.vbs

    结合前面的两个示例,您可以构建项目中包含的每个发行版。

Set oISM = CreateObject("ISWiAuto14.ISWiProject")
' open project as read-only
oISM.OpenProject "D:\MySetups\BuildMe.ism", True
' walk through all product configurations
For Each oConfig in oISM.ISWiProductConfigs
' walk through all releases in current product configuration
For Each oRelease in oConfig.ISWiReleases
 oRelease.Build( ) 
' for testing purposes
MsgBox "Built " & oConfig.Name & "/" & oRelease.Name & "..."
Next ' oRelease
Next ' oConfig
' for testing
MsgBox "Done!"
oISM.CloseProject

创建发布

    您还可以使用自动化界面,通过AddProductConfig和AddRelease方法将产品配置和发行版添加到项目中。添加产品配置或发行版后,您可以使用创建的ISWiProductConfig或ISWiRelease对象的各个自动化属性来指定其属性(通常在发行向导中输入的属性)。

    例如,假设您要在一个名为DemoVersion1的现有产品配置中创建一个名为new的发行版。您可以在代码中使用AddRelease方法,如下所示。请注意,如果项目中已经存在您指定的发行版,则脚本将失败。

Set oISM = CreateObject("ISWiAuto14.ISWiProject")

' this time, open project as read-write
oISM.OpenProject "D:\MySetups\BuildMe.ism", False

' get existing configuration
Set oMyConfig = oISM.ISWiProductConfigs("DemoVersion1")
' add new release to existing configuration
Set oNewRelease = oMyConfig.AddRelease("new")

' set release properties
oNewRelease.Compressed = True

oNewRelease.SetupEXE = True
oNewRelease.TargetOS = 3 ' i.e., os9xNT: include both engines
' ...set other properties...
' if you want, build the new release

oNewRelease.Build( )

' for testing

MsgBox "Done!"

' this time, save the project before closing it

oISM.SaveProject
oISM.CloseProject

    本文仅概述您可以使用InstallShield Automation界面执行的操作:您可以查询和修改项目的操作和序列,摘要信息流,功能,组件,文件链接等。 

推荐文章:

MSI功能和组件的使用

从自定义操作写入日志文件PDF文档



如果您想要购买正版授权InstallShield,可以联系咨询相关问题。

关注慧聚IT微信公众号☟☟☟,了解产品的最新动态及最新资讯。

1561953111.jpg


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:Flexera

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP