PDA

Показать полную графическую версию : UpdatePack-XPSP2-Rus версия 7.6.17


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14

volk1234
25-07-2007, 15:05
Я в шоке. Решил проверить с помощью RegShot, чего вносится при регистрации. Оказалось, гораздо больше, чем в [Product.Add.Reg]. Соответственно, надо использовать RegisterDlls. Это выбивает из колеи (вдруг где-то еще такой же косяк). >>>

ты в смысле в ранних апдейтах может быть такойже косяк??

Boa Soft
25-07-2007, 22:52
Petya V4sechkin

К стати, у самих M$ некотрые вещи делаются не через regsvr32/RegisterDlls а через прямое внесение в реестр. На памяти - WGA. Там в оригинале именно добавляются все ключи.
К тому же, MS рекомендует при изготовление инсталляторов не использовать regsvr32, а напрямую вносить в реестр необходимые ключи. Иногда интересно посмотреть содержимое ресурсов этих библиотек.

Видимо, это далеко не первый случай, когда программисты MS, исправляя одну ошибку, забывают о функциях регистрации библиотеки, выпуская обновление с нерабочими функциями регистрации.

loginvovchyk
25-07-2007, 23:29
Майкрософт выпустила незапланированные обновления для Vista/XP/Server 2003 все они доступны для загрузки на веб-узле MDC.

Vista (x86):
- KB936150 : Установите это обновление, чтобы исправить ошибку передачи при входе на компьютерах под управлением Windows Vista из спящего режима.
Windows XP:
- KB938828 : Это - обновление надежности. Установите это обновление, чтобы улучшить стабильность компьютеров на базе Windows XP.

и еще 4 обновления для Windows XP 64-бит/Windows Server 2003/Vista (x64):

prankster
25-07-2007, 23:52
Здраствуйте
Можно ли сделать так, чтобы UpdatePack-XPSP2-Rus брал чистый дистрибутив, но модернизировал его в другую папку? т.е. чтобы конечный дистр получался не в начальной папке (заданной в Distr.ini), а в другой.

vserd
26-07-2007, 00:53
prankster Можно ли сделать так, чтобы UpdatePack-XPSP2-Rus брал чистый дистрибутив, >>>
Cудя по __PATCH.CMD кинь в Out.ini путь к конечному дистрибутиву, в Distr.ini путь к исходному. Должно помочь.
Еще можеш воспользоваться моими командниками для создания мультибута
http://forum.oszone.net/attachment.php?attachmentid=5171&d=1185396580
или написать свой.

mercuryn
26-07-2007, 09:31
Boa Soft Видимо, это далеко не первый случай, когда программисты MS, исправляя одну ошибку, забывают о функциях регистрации библиотеки, выпуская обновление с нерабочими функциями регистрации. >>>
... скорее это обход технологических недостатков стандартных функций регистрации библиотек...

Petya V4sechkin
26-07-2007, 10:05
Boa Soft
К стати, у самих M$ некотрые вещи делаются не через regsvr32/RegisterDlls а через прямое внесение в реестр.Ну да, во всех стандартных обновлениях (хотфиксах) именно так и делается.

В inf-файле содержится секция Product.Add.Reg. Но там отсутствуют классы (которые вносятся при обычной регистрации imapi2fs.dll):
IMAPI2FS.EnumFsiItems
IMAPI2FS.EnumProgressItems
IMAPI2FS.FileSystemImageResult
IMAPI2FS.FsiDirectoryItem
IMAPI2FS.FsiFileItem
IMAPI2FS.FsiStream
IMAPI2FS.ProgressItem
IMAPI2FS.ProgressItems

Интересно, где ошибка, в inf-файле или в DllRegisterServer? Наверное, сделаю и так и этак (AddReg, потом RegisterDlls).

Petya V4sechkin
26-07-2007, 13:18
vserd
:Halt
If Not "%~1"=="" Echo %~1

Echo.
pause
Exit

на строки
:Halt
If Not "%~1"=="" Echo %~1

Echo.
If not ("%UsePauseOnExit%"=="0") Pause
Goto :eof
Подумай получше.
Что будет при вызове из скрипта Call :Quit ...? Там много таких вызовов. После Goto :eof оно не выйдет (как должно быть в случае ошибки), а вернется на строчку, следующую за вызовом. Тогда уж вместо Goto :eof делать Goto :EndOfFile, а в конце файла вставить метку :EndOfFile.

vserd
26-07-2007, 14:57
Ок. Уговорил, не проанализировал этот аспект :(. Тогда так:

Call :ProcessFinishEvent

Set NormalEnd=1
Call :Quit "Скрипт завершил свою работу."
goto :Eof

:Quit
If Exist Temp RD /S /Q Temp

:Halt
If Not "%~1"=="" Echo %~1

Echo.

if not Defined NormalEnd Set NormalEnd=0
if not "!NormalEnd!"=="1" (
Pause
set NormalEnd=
Exit
)
If not "%UsePauseOnExit%"=="0" Pause
Goto :eof


Суть такова, что после нормальной отработки, нужно не закрыть CMD, а вернуть управление в командник высшего уровня.

Petya V4sechkin
26-07-2007, 16:22
vserd
Прошу прощения, посмотрел твой новый вариант внимательнее, должно работать.

Petya V4sechkin
27-07-2007, 14:05
Еще любопытный момент: русский ActiveX Microsoft Update (и судя по этой теме (http://www.ryanvm.net/forum/viewtopic.php?t=4818), не только русский) пока не содержит (не предлагает к установке) файлы mucltui.dll, mucltui.dll.mui. Соответственно, там только muweb.dll.

Debugger
27-07-2007, 18:40
vserd
А я тоже __patch.cmd из своего батника для мультибута запускаю, но особо не вникал, убрал просто паузу в конце...

vserd
27-07-2007, 18:46
я тоже __patch.cmd из своего батника для мультибута запускаю, но особо не вникал, убрал просто паузу в конце...
Если для себя, то да, если "на публику" тогда нужно делать как правильно, а не как получается.

Debugger
27-07-2007, 19:09
Если для себя, то да, если "на публику" тогда нужно делать как правильно, а не как получается.
Тогда конечно. Я и выкладывать не стал, да и не собирался.

Dilinjer
28-07-2007, 02:33
Как можно быстро определить к какому обновлению из UpdatePack относится конкретный файл?
З.Ы. Пытался гуглю скормить, например так: srvsvc.dll site:support.microsoft.com - так там туева телега ссылок, мот есть какойнить файл с описанием что и куда?

jameszero
28-07-2007, 08:49
Dilinjer
Можно посмотреть в файле RusUpPck.inf:
HKLM,"%SP3Updates%\KB888302","InstalledDate",0,"2/7/2005"
HKLM,"%SP3Updates%\KB888302","InstalledBy",0,"SYSTEM"
HKLM,"%SP3Updates%\KB888302","Description",0,"Пакет исправлений для Windows XP - KB888302"
HKLM,"%SP3Updates%\KB888302","Type",0,"Update"
HKLM,"%SP3Updates%\KB888302\Filelist\0","FileName",0,"srvsvc.dll"

Boa Soft
28-07-2007, 09:44
Petya V4sechkin

На Раеновском форуме нашел приблуду для автоматического заполнения Filelist при интеграции апдейтов. Ну, там имя файла, дата-время сборки, контрольная сумма. Но, это писано на Perl и требует его наличия для выполнения. Если руки дойдут, напишу консольку на Delphi. думаю, и тебе может пригодится.

Dilinjer
28-07-2007, 13:03
Boa Soft, неплохо бы на основе этого Filelist.txt делать апдейт UpdatePack-XPSP2-Rus. Т.е. на общедоступном ресурсе(ресурсах) лежит актуальный Filelist.txt со всем содержимым UpdatePack-XPSP2-Rus(На шаре также выложить UpdatePack-XPSP2-Rus одним архивом,Обновление версии и все файлы UpdatePack-XPSP2-Rus запакованные отдельно), скачиваем его, сравниваем содержимое с локальным Filelist.txt(если локальный отсутствует закачиваем UpdatePack-XPSP2-Rus одним архивом) по CRC (в случае разлчия CRC закачиваем, например WGET-ом, необходимый запакованный файл распаковываем его и перезаписываем и т.п.). Все это дело можно автоматизировать с помощью cmd-шника. Есть ли в моих рассуждениях доля здравого смысла?

З.Ы. Boa Soft, если будете делать тулзу, создающую Filelist.txt, просьба: к каждому файлу помимо дата-время сборки, контрольная сумма, добавитть и KB к которому он относиться....

vserd
28-07-2007, 15:15
неплохо бы на основе этого Filelist.txt делать апдейт UpdatePack-XPSP2-Rus. Т.е. на общедоступном ресурсе(ресурсах) лежит актуальный Filelist.txt со всем содержимым UpdatePack-XPSP2-Rus(На шаре также выложить UpdatePack-XPSP2-Rus одним архивом,Обновление версии и все файлы UpdatePack-XPSP2-Rus запакованные отдельно), скачиваем его, сравниваем содержимое с локальным Filelist.txt(если локальный отсутствует закачиваем UpdatePack-XPSP2-Rus одним архивом) по CRC (в случае разлчия CRC закачиваем, например WGET-ом, необходимый запакованный файл распаковываем его и перезаписываем
Читал несколько раз, но так и не понял чего хочешь.....
Кроме того, кто будет это держать в актуальном состоянии, тестировать и отвечать на жалобы и вопросы когда будет новая версия? Petya V4sechkin? Boa Soft? Так у них, IMHO, своих проблем масса. Остается только Dilinjer-у этим заняться.

P.S. отмазка на то что я неумею, я не занаю и т.п. оставьте при себе, Petya V4sechkin, Boa Soft, авторы аддонов и множестов других людей на форуме тоже этого не умели и не знали.

Baw17
28-07-2007, 16:54
Dilinjer обсалютно это точно не нужно и так все хорошо




© OSzone.net 2001-2012