|
|
'<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
|