-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathInstall-mIRC.wsf
152 lines (102 loc) · 4.24 KB
/
Install-mIRC.wsf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<job id="Install-mIRC">
<script language="VBScript" src="..\..\scripts\ZTIUtility.vbs"/>
<script language="VBScript">
' //----------------------------------------------------------------------------
' //
' // Solution: Richard's Deployment Script
' // File: Install-mIRC.wsf
' //
' // Purpose: This will install mIRC
' //
' // Author: Richard Tracy
' //
' // Usage: cscript Install-mIRC.wsf [/arch:x64|x86] [/debug:true]
' //
' //----------------------------------------------------------------------------
'//----------------------------------------------------------------------------
'// Global constant and variable declarations
'//----------------------------------------------------------------------------
Option Explicit
Dim iRetVal
'//----------------------------------------------------------------------------
'// Main routine
'//----------------------------------------------------------------------------
'On Error Resume Next
iRetVal = ZTIProcess
ProcessResults iRetVal
On Error Goto 0
'//---------------------------------------------------------------------------
'// Function: ZTIProcess()
'//---------------------------------------------------------------------------
Function ZTIProcess()
Dim sVersion,sArch,sFile
Dim sInstallName, sInstallerPath
Dim sInstalledPath
Dim sLogFolder,sLogName,sLogPath
Dim sPrefix
Dim mergedVer
'// Apply Architecture arguments:
'// If no argument provided check for MDT/SCCM variable
'// If no variable or argument is provided, defualt to x86
sArch = "x86"
' check if MDT variable exists
If oUtility.Arguments.Exists("prefix") Then
sPrefix = LCase(oUtility.Arguments("prefix"))
ElseIf oEnvironment.Exists("Prefix") Then
sPrefix = oEnvironment.Item("Prefix")
End if
'// Variables:
'// Change if needed
sVersion = "6.2.1"
mergedVer = Replace(sVersion,".","")
sInstallName = "mIRC"
sFile = "mIRC" & mergedVer & ".msi"
sInstallerPath = oUtility.ScriptDir & "\Source\" & sVersion & "\" & sFile
'// Build log path (incase not used in task sequence)
If oEnvironment.Exists("_SMSTSLogPath") Then
sLogFolder = oEnvironment.Item("_SMSTSLogPath") & "\AppLogs"
Else
sLogFolder = oEnv("TEMP") & "\AppLogs"
End If
oUtility.VerifyPathExists sLogFolder
sLogName = Replace(sInstallName & "_" & sVersion & "_" & sArch & ".log"," ","")
sLogPath = sLogFolder & "\" & sLogName
'// Start the process
oLogging.CreateEntry "Starting " & sInstallName & " (" & sVersion & ") " & sArch & " installation", LogTypeInfo
If not oFSO.FileExists(sInstallerPath) then
oLogging.CreateEntry sInstallerPath & " was not found, unable to install " & sInstallName & " (" & sVersion & ")", LogTypeError
ZTIProcess = Failure
Exit Function
End if
'// Disable Zone Checks
oEnv("SEE_MASK_NOZONECHECKS") = 1
iRetVal = oUtility.RunWithHeartbeat("msiexec /i """ & sInstallerPath & """ /qn /norestart /l*v """ & sLogPath & """")
if (iRetVal = 0) or (iRetVal = 3010) then
ZTIProcess = Success
oUtility.RunWithHeartbeat(oEnv("Windir") & "\system32\sdbinst.exe """ & oUtility.ScriptDir & "\Configs\mIRC Compatibility for Windows 6.1 or higher.sdb""")
If sArch = "x64" then
sInstalledPath = "C:\Program Files\mIRC"
Else
sInstalledPath = "C:\Program Files (x86)\mIRC"
End If
'Set user wrtie permissions to mirc insdtall folder
If not oFSO.FileExists(sInstalledPath & "\channels") then
oFSO.CreateFolder sInstalledPath & "\channels"
oFSO.CreateFolder sInstalledPath & "\download"
oFSO.CreateFolder sInstalledPath & "\logs"
oFSO.CreateFolder sInstalledPath & "\sounds"
oUtility.RunWithHeartbeat(oEnv("Windir") & "\system32\cacls.exe """ & sInstalledPath & """ /T /E /G ""Users"":W""")
End If
'Copy mIRC configuration files
oFSO.CopyFile (oUtility.ScriptDir & "\Configs\" & sPrefix & "\servers.ini"), (sInstalledPath & "\servers.ini"), True
'oFSO.CopyFile (oUtility.ScriptDir & "\Configs\" & sPrefix & "\channel.ini"), (sInstalledPath & "\channel.ini"), True
oLogging.CreateEntry "Finished " & sInstallName & " installation", LogTypeInfo
Else
ZTIProcess = Failure
oLogging.CreateEntry sInstallName & " installation failed with exit code = " & iRetVal, LogTypeError
End If
'// Enable Zone Checks
oEnv.Remove("SEE_MASK_NOZONECHECKS")
End Function
</script>
</job>