mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.7 KiB
117 lines
3.7 KiB
'<script language='VBScript'>
|
|
' wiconsts.inc - VBScript constants
|
|
'
|
|
' 2000/06/12 - created - Rob Mensching (robmen@microsoft.com)
|
|
'
|
|
' requires:
|
|
' none
|
|
'
|
|
' entrypoints:
|
|
' ResolveFileSourcePath
|
|
' ResolveDirectorySourcePath
|
|
'
|
|
' GetDefaultDir
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' ResolveFileSourcePath
|
|
Function ResolveFileSourcePath(db, sKey, fLong)
|
|
Dim sDir, sFile
|
|
Dim vw, rec
|
|
|
|
Set vw = db.OpenView("SELECT `Directory_`, `FileName` FROM `Component`, `File` WHERE `Component`.`Component`=`File`.`Component_` AND `File`.`File`='" & sKey & "'")
|
|
vw.Execute
|
|
Set rec = vw.Fetch
|
|
If rec Is Nothing Then
|
|
ResolveFileSourcePath = Empty
|
|
Else
|
|
sDir = ResolveDirectorySourcePath(db, rec.StringData(1), fLong)
|
|
sFile = GetDefaultDir(rec.StringData(2), True, fLong)
|
|
|
|
ResolveFileSourcePath = sDir & sFile
|
|
End If
|
|
End Function ' ResolveFileSourcePath
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' ResolveFileTargetPath
|
|
Function ResolveFileTargetPath(db, sKey, fLong)
|
|
Dim sDir, sFile
|
|
Dim vw, rec
|
|
|
|
Set vw = db.OpenView("SELECT `Directory_`, `FileName` FROM `Component`, `File` WHERE `Component`.`Component`=`File`.`Component_` AND `File`.`File`='" & sKey & "'")
|
|
vw.Execute
|
|
Set rec = vw.Fetch
|
|
If rec Is Nothing Then
|
|
ResolveFileTargetPath = Empty
|
|
Else
|
|
sDir = ResolveDirectoryTargetPath(db, rec.StringData(1), fLong)
|
|
sFile = GetDefaultDir(rec.StringData(2), False, fLong)
|
|
|
|
ResolveFileTargetPath = sDir & sFile
|
|
End If
|
|
End Function ' ResolveFileTargetPath
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' ResolveDirectorySourcePath
|
|
Function ResolveDirectorySourcePath(db, sKey, fLong)
|
|
Dim vw, rec
|
|
|
|
Set vw = db.OpenView("SELECT Directory_Parent, DefaultDir FROM Directory WHERE Directory=?")
|
|
Set rec = installer.CreateRecord(1)
|
|
rec.StringData(1) = sKey
|
|
ResolveDirectorySourcePath = widir_ResolveDirectory(vw, rec, True, fLong)
|
|
End Function ' ResolveDirectorySourcePath
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' ResolveDirectoryTargetPath
|
|
Function ResolveDirectoryTargetPath(db, sKey, fLong)
|
|
Dim vw, rec
|
|
|
|
Set vw = db.OpenView("SELECT Directory_Parent, DefaultDir FROM Directory WHERE Directory=?")
|
|
Set rec = installer.CreateRecord(1)
|
|
rec.StringData(1) = sKey
|
|
ResolveDirectoryTargetPath = widir_ResolveDirectory(vw, rec, False, fLong)
|
|
End Function ' ResolveDirectoryTargetPath
|
|
|
|
|
|
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' widir_ResolveDirectory
|
|
Function widir_ResolveDirectory(vw, rec, fSource, fLong)
|
|
Dim sDir, sPath, sTemp
|
|
|
|
sPath = Empty
|
|
Do
|
|
sDir = rec.StringData(1)
|
|
|
|
vw.Execute rec
|
|
Set rec = vw.Fetch
|
|
|
|
If rec Is Nothing Then Exit Do
|
|
|
|
If Not fSource Then
|
|
Select Case rec.StringData(1)
|
|
Case "ProgramFilesFolder" : sPath = "PFILES\" & sPath : Exit Do
|
|
Case "WindowsFolder" : sPath = "WIN\" & sPath : Exit Do
|
|
Case "SystemFolder" : sPath = "SYS\" & sPath : Exit Do
|
|
Case "System16Folder" : sPath = "Sys16\" & sPath : Exit Do
|
|
End Select
|
|
End If
|
|
|
|
sTemp = GetDefaultDir(rec.StringData(2), fSource, fLong)
|
|
If 0 < Len(sTemp) And "." <> sTemp Then sPath = sTemp & "\" & sPath
|
|
Loop While (0 < Len(rec.StringData(1)))
|
|
|
|
widir_ResolveDirectory = sPath
|
|
End Function ' widir_ResolveDirectory
|
|
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
' GetDefaultDir
|
|
Function GetDefaultDir(ByVal s, fSource, fLong)
|
|
Dim a
|
|
a = Split(s, ":")
|
|
If fSource And 1 = UBound(a) Then s = Split(a(1), "|") Else s = Split(a(0), "|")
|
|
If fLong And 1 = UBound(s) Then GetDefaultDir = s(1) Else GetDefaultDir = s(0)
|
|
End Function ' GetDefaultDir
|