Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


m0nkrus, насколько я понимаю, искомое здесь:
Код: Выделить весь код
' Fetch each file and request the source path, then verify the source path
Dim fileKey, fileName, folder, sourcePath, delim, message, attributes
Do
	Set record = view.Fetch : CheckError
	If record Is Nothing Then Exit Do
	fileKey    = record.StringData(1)
	fileName   = record.StringData(2)
	folder     = record.StringData(3)
	sequence   = record.IntegerData(4)
	attributes = record.IntegerData(5)
	If (attributes And msidbFileAttributesNoncompressed) = 0 Then
		If sequence <= lastSequence Then
			If Not sequenceFile Then Fail "Duplicate sequence numbers in File table, use /S option"
			sequence = lastSequence + 1
			record.IntegerData(4) = sequence
			view.Modify msiViewModifyUpdate, record
		End If
		lastSequence = sequence
		delim = InStr(1, fileName, "|", vbTextCompare)
		If delim <> 0 Then
			If shortNames Then fileName = Left(fileName, delim-1) Else fileName = Right(fileName, Len(fileName) - delim)
		End If
		sourcePath = session.SourcePath(folder) & fileName
		outStream.WriteLine """" & sourcePath & """" & " " & fileKey
		If installer.FileAttributes(sourcePath) = -1 Then message = message & vbNewLine & sourcePath
	End If
Loop
outStream.Close
REM Wscript.Echo "SourceDir = " & session.Property("SourceDir")
If Not IsEmpty(message) Then Fail "The following files were not available:" & message
Какие «файлы» попадают в выдачу? Только те «файлы», у которых поле Attributes содержит значение с не установленным семнадцатым битом (0x2000).

Т.е., вот это:
Код: Выделить весь код
Const msidbFileAttributesNoncompressed = &h00002000
и вот это:
Код: Выделить весь код
If (attributes And msidbFileAttributesNoncompressed) = 0 Then
    …
End If
приводит к тому, что все файлы, в поле Attributes которых содержатся значения 8192 или 8704, в выдачу не попадут.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:00, 03-04-2020 | #6