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 
原文地址:https://www.cnblogs.com/wanbinghong/p/1806440.html