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,  1 True )

安装包工程代码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  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值