zoukankan      html  css  js  c++  java
  • InstallShield安装打包编译自动化(1) 通过命令行进行源代码控制操作

    版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。

    近期正在研究InstallShield中的自动化过程,今天先与大家分享一下InstallShield自带帮助中一节内容:

    前提:

    1. 使用Microsoft Visual SourceSafe进行应用程序源码管理,

    2. 实现使用VBScript。 

    获取最新版本的InstallShield工程并编译安装包

     1 Const VSSFLAG_USERRONO   = 1
     2 Const VSSFLAG_TIMEMOD= 8
     3 Const VSSFLAG_REPREPLACE = 128
     4 Const PROJECT_SCC_INI_LOC = "\\Server\srcsafe.ini"
     5 Const PROJECT_SCC_FOLDER = "$/MyFiles/"
     6 Const PROJECT_SCC_BASE_NAME = "MyProject"
     7 Const PROJECT_SCC_LOCAL_FOLDER = "C:\Project"
     8 ' Create a ref to Microsoft Visual SourceSafe
     9 Set VSS = CreateObject("SourceSafe")
    10 ' Point to the VSS database
    11 VSS.open PROJECT_SCC_INI_LOC
    12 ' Get the project file
    13 Set VSSISVFile = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME + ".ism")
    14 VSSISVFile.Get PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME + ".ism", SSFLAG_TIMEMOD + VSSFLAG_USERRONO + VSSFLAG_REPREPLACE
    15 'Get all remaining files
    16 Set VSSIDTFolder = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME)
    17 VSSIDTFolder.LocalSpec = PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME
    18 For Each VSSObj In VSSIDTFolder.Items(False)
    19 VSSObj.Get , VSSFLAG_TIMEMOD + VSSFLAG_USERRONO + VSSFLAG_REPREPLACE
    20 Next
    21 strFileBasePath = PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME + ".ism"
    22 strCmdLine = "ISCmdBld.exe -p """ + strFileBasePath + ".ism"""
    23 ' Build your installation
    24 Set wshshell = CreateObject("Wscript.Shell")
    25 RunCmdLine = wshshell.Run(strCmdLine, 1True)

    安装包工程代码Check Out,修改,Check In

     1 Const VSSFLAG_USERRONO = 1
     2 Const VSSITEM_FILE     = 1
     3 Const PROJECT_SCC_INI_LOC = "\\Server\srcsafe.ini"
     4 Const PROJECT_SCC_FOLDER = "$/MyFiles/"
     5 Const PROJECT_SCC_BASE_NAME = "MyProject"
     6 Const PROJECT_SCC_LOCAL_FOLDER = "C:\Project"
     7 ' Create a ref to Microsoft Visual SourceSafe
     8 Set VSS = CreateObject("SourceSafe")
     9 ' Point to the VSS database
    10 VSS.open PROJECT_SCC_INI_LOC
    11 ' Check out the project file
    12 Set VSSISVFile = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME + ".ism")
    13 VSSISVFile.CheckOut , PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME + ".ism", VSSFLAG_USERRONO
    14 'Check out all remaining files
    15 Set VSSIDTFolder = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME)
    16 VSSIDTFolder.LocalSpec = PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME
    17 For Each VSSObj In VSSIDTFolder.Items(False)
    18     If VSSObj.Type = VSSITEM_FILE Then
    19         VSSObj.CheckOut , , VSSFLAG_USERRONO
    20     End If
    21 Next
    22 ' Create a reference to the InstallShield Automation Interface
    23 Set m_ISWiProject = CreateObject("IswiAuto16.ISWiProject")
    24 strFileBasePath = PROJECT_SCC_LOCAL_FOLDER + PROJECT_SCC_BASE_NAME + ".ism"
    25 ' Open your project
    26 m_ISWiProject.OpenProject strFileBasePath
    27 ' Add a feature
    28 m_ISWiProject.AddFeature "Robofeature1"
    29 ' Save the project
    30 m_ISWiProject.SaveProject
    31 ' Close the project
    32 m_ISWiProject.CloseProject
    33 ' Check in the project file
    34 Set VSSISVFile = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME + ".ism")
    35 VSSISVFile.CheckIn
    36 'Check in all remaining files
    37 Set VSSIDTFolder = VSS.VSSItem (PROJECT_SCC_FOLDER + PROJECT_SCC_BASE_NAME)
    38 For Each VSSObj In VSSIDTFolder.Items(False)
    39     If VSSObj.Type = VSSITEM_FILE Then
    40         VSSObj.CheckIn "Check In Comment"
    41     End If
    42 Next 
  • 相关阅读:
    移动端适配
    javscript_DOM 拖动事件
    Nginx
    文件和二进制数据的操作
    数组方法
    JS异步开发
    网络协议
    八大排序
    硬链接与软链接的区别
    入门计算机一段时间的感想
  • 原文地址:https://www.cnblogs.com/wanbinghong/p/1806440.html
Copyright © 2011-2022 走看看