PDA

Показать полную графическую версию : Маленькие хитрости автоустановки


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

ShaddyR
14-03-2006, 12:04
nsergeip: у меня тоже номер с DeskSaver не прошел.

denzill
14-03-2006, 16:59
в дополнение к Замена Boot Screen-на (http://forum.oszone.net/showpost.php?p=388869&postcount=9)

изменение boot.ini:
boot.cmd

bootcfg /addsw /ng /id 1
bootcfg /raw "/bootlogo" /a /id 1
bootcfg /default /id 1

Vadikan
18-03-2006, 23:19
Тестирование RunOnceEx без перезагрузки системы или завершения сеанса

В конце файла RunOnceEx.cmd добавьте rundll32.exe iernonce.dll,RunOnceExProcess
Команда инициирует запуск ключей RunOnceEx. Пожалуй, я добавлю это на сайт :)

DmitryOlenin
20-03-2006, 00:12
Всем известно, что своя тему оформления прописывается в файле *.sif.
CustomDefaultThemeFile = "%WinDir%\Cursors\theme.theme"
Но тема эта может не примениться, и останетесь вообще со стандартной темой Windows(даже не Luna).

Дело в том, что тема срабатывает при первом входе в систему(чуть раньше отображения ярлыков на раб. столе), после отработки RunOnceEx. Но если у вас последним пунктом стоит перезагрузка и до раб. стола дело не доходит... то вы рискуете получить то, что я описал выше.

Если у вас не применилась тема оформления, то маленький скрипт на AutoIt вам поможет.
В данном случае переменная var3 содержит путь до вашего файла с темой оформления.
Думаю, что надо писать именно в эту тему, т.к. случай необычный...

$allowed = 20 * 1000
$time = TimerInit()
$var = @SystemDir & '\' & 'rundll32.exe'
$var1 = @SystemDir & '\' & 'shell32.dll' & ',' & 'Control_RunDLL'
$var2 = @SystemDir & '\' & 'desk.cpl desk' & ',' & '@' & 'Themes ' & '/' & 'Action' & ':' & 'OpenTheme ' & '/' & 'file' & ':'
$var3 = @WindowsDir & '\' & 'Cursors' & '\' & 'theme.theme'
AutoItSetOption("WinTitleMatchMode", 4)
run($var & ' ' & $var1 & ' ' & $var2 & '"' & $var3 & '"')
Blockinput(1)
If TimerDiff($time) > $allowed Then _Abort()
For $k = 1 To 3
sleep(1000)
Send("{ENTER}")
Next
exit

Func _Abort()
; close process if exists then exit.
Dim $pid
If ProcessExists($pid) Then
ProcessClose($pid)
Exit(2)
Else
Exit(3)
EndIf
EndFunc

NikLok
21-03-2006, 18:24
Ну тогда вопрос ко всем!!! Так как amel27B не отвечает!

amel27В вашем комнаднике используется команда findstr.exe Где ея можно взять?

Vadikan
21-03-2006, 21:17
NikLok
Где ея можно взять?В дистрибутиве Windows XP. findstr /?

NikLok
28-03-2006, 11:26
После встраивания обновлений в дистрибутив XP с помомощью RVM интегратора в директории I386/svcpack файлы типа kb..........exe заменяются файлами с расширениями ca_ Поэтому я считаю, что нужно добавить также сканирование на файлы
Таким образом сейчас в макросе 2 ЦИКЛА. По идее они должны отлавливать наличие обоих файлов и вносить о них информацию! Может кому и нада?

echo Line5=Дата установки системы: %date% >> "%D%oeminfo.ini"
echo Line6= >> "%D%oeminfo.ini"
echo Line7=Время установки системы: %time% >> "%D%oeminfo.ini"
echo Line8= >> "%D%oeminfo.ini"
echo Line9=Установленные обновления: >> "%D%oeminfo.ini"
echo Line10= >> "%D%oeminfo.ini"

set i=10
set j=0
set string0=
set string1=
set string2=
set string3=
set string4=
set string5=

FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d\WIN51IP SET CDROM=%%d
For /F "TOKENS=1 delims=.exe" %%j in ('dir /B %CDROM%\I386\svcpack\KB*.exe') do ((set kbname=%%j) & (call :myprint))
For /F "TOKENS=1 delims=.ca_" %%j in ('dir /B %CDROM%\I386\svcpack\KB*.ca_') do ((set kbname=%%j) & (call :myprint))

if %j% == 1 echo Line%i%=%string0% >> "%D%oeminfo.ini"
if %j% == 2 echo Line%i%=%string0% %string1%>> "%D%oeminfo.ini"
if %j% == 3 echo Line%i%=%string0% %string1% %string2%>> "%D%oeminfo.ini"
if %j% == 4 echo Line%i%=%string0% %string1% %string2% %string3%>> "%D%oeminfo.ini"
if %j% == 5 echo Line%i%=%string0% %string1% %string2% %string3% %string4% >> "%D%oeminfo.ini"

GOTO :EOF
:myprint
if %j% == 0 set string0=%kbname%
if %j% == 1 set string1=%kbname%
if %j% == 2 set string2=%kbname%
if %j% == 3 set string3=%kbname%
if %j% == 4 set string4=%kbname%
if %j% == 5 set string5=%kbname%

if %j% == 5 echo Line%i%=%string0% %string1% %string2% %string3% %string4% %string5%>> "%D%oeminfo.ini"

if %j% == 5 set string0=
if %j% == 5 set string1=
if %j% == 5 set string2=
if %j% == 5 set string3=
if %j% == 5 set string4=
if %j% == 5 set string5=

if %j% == 5 set /A i=%i%+1
set /A j=%j%+1
if %j% == 6 set j=0
:EOF

Boa Soft
01-04-2006, 13:43
ни путей ничего, откуда система возьмет все остальные данные, помоему это маразм!!!

А вот отсюда:

После настройки на эталонном компьютере запускаем DeskSaver.exe s Копируем утилиту и полученный файл настроек DeskSaver.ini на остальныее компьютеры и запускаем DeskSaver.exe r

Ярлыки настраиваются по именам. Не найденные - пропускаются.

Porscheman
04-04-2006, 01:49
Для чтения DVD стандартным WMP9 или WMP10 достаточно добавить в %windir%system32 файл CLVSD.ax и зарегистрировать его командой %windir%\system32\regsvr32 -s %windir%\system32\CLVSD.ax любым батником и т.п.
Файл прилагаю, правда не могу сказать откуда он (не помню), соответственно про авторские права тоже... ;)
Качество вполне приемлемое.

amel27
04-04-2006, 08:40
не могу сказать откуда он (не помню), соответственно про авторские права тожеCyberLink Video/SP Filter
---
версия: 6.0.1402
производитель: CyberLink Corp.
продукт: CyberLink PowerDVD

amel27
07-04-2006, 12:45
Только для экспертов! FAKE-Setup своими руками.

Метод использования Fake-копии SETUP.EXE был придуман неким Pyron с форума MSFN и нынче широко используется для Unattend-пакетов, в основном драйверов (пакеты от Bashrat, BoaSoft и др.). Подробней о том как он фунциклирует можно почитать в мануалах к пакетам и на форумах MSFN. Несмотря на простой алгоритм, для написания EXE-файла нужно быть немного программером, а это ИМХО не совсем справедливо! ;). Поэтому я решил реализовать его на AutoIT, но здесь ждал облом - AutoIT v.3 напрочь отказывался запускаться в PRE-Setup окружении WinXP, хотя между тем прекрасно работал из под Win2K. К счастью, все заработало на версии 2.64, которая до сих пор доступна для скачивания.

Привожу пример скрипта, где совмещены обе возможности - AutoIT и PreSetup чтобы всегда можно было выбрать удобный интерфейс. Код намеренно не тестировался и может содержать ошибки - кому нужно, тот поймет что к чему. ;) Многое зависит еще от содержимого Presetup.Cmd
HideAutoItWin,On
SetBatchLines,100

;=======================================================
; Восстанавливаем параметры командной строки
;-------------------------------------------------------
SetEnv,i,0
Repeat,%0%
EnvAdd,i,1
StringTrimLeft,parm,%i%,0
SetEnv,CmdLine,%CmdLine% %parm%
EndRepeat

;=======================================================
; Установка путей к утилитам и драйверам
;-------------------------------------------------------
SetEnv,DrvTag,drv51
SetEnv,WrkDir,%SystemDrive%\\Install

;=======================================================
; Установка всех требуемых файлов
;-------------------------------------------------------
FileInstall,setupORG.exe,%SystemRoot%\\System32\\setupORG.exe
FileInstall,presetup.cmd,%WrkDir%\\presetup.cmd
FileInstall,cmdow.exe,%WrkDir%\\cmdow.exe
FileInstall,7za.exe,%WrkDir%\\7za.exe
FileInstall,setpath.exe,%WrkDir%\\setpath.exe
FileInstall,watchdrv.exe,%WrkDir%\\watchdrv.exe

;=======================================================
; Трикс с переименованием
;-------------------------------------------------------
IfExist,%SystemRoot%\\System32\\Setup.exe,RunWait,CMD /C REN Setup.exe SetupOld.exe,%SystemRoot%\\System32,Hide
IfExist,%SystemRoot%\\System32\\SetupORG.exe,RunWait,CMD /C REN SetupORG.exe Setup.exe,%SystemRoot%\\System32,Hide

;=======================================================
; Собственно запуск процесса установки
;-------------------------------------------------------
SetBatchLines,1
;-------------------------------------------------------
RunWait,CMD /C PreSetup.cmd %DrvTag% %WrkDir%,%WrkDir%\\,Hide
RunWait,Setup.exe %CmdLine%,%SystemRoot%\\System32

;=======================================================
; Чистим после себя
;-------------------------------------------------------
RunWait,CMD /C RD /Q /S %WrkDir%,%SystemDrive%\\,Hide
P.S. Несмотря на "убогость" и сложный синтаксис морально-устаревшей версии, использование AutoIT открывает широкие возможности для автоматизации установки, некоторые из которых я еще сам не освоил. Вот только некоторые:
1. Свобода от правки inf-файлов, все инструменты включены уже в один файл - SETUP.EXE, который устанавливается простым копированием.
2. Свобода выбора между WATCHDRV и стандартным AutoIT-методом отслеживания окон, тем более что WATCHDRV отрабатывает не всегда.
3. Возможность условного заполнения реквизитов. Например, загрузив из INI-файла базу всех ПК можно автоматически заполнить имя машины, лицензионный ключ и т.д. Сам не пробывал - нужды пока не было.
[hr]Обсуждение вынесено в отдельную тему (http://forum.oszone.net/showthread.php?t=64587)

GrandCat
10-04-2006, 06:07
Porscheman

"iviaudio.ax" - WinDVD Audio Decoder filter.
"ivivideo.ax" - WinDVD Video Decoder filter.
"claud.ax" - PowerDVD Audio Decoder filter.
"clvsd.ax" - PowerDVD Video Decoder filter.
"DSCinemAudioDecoder.dll" - CineMaster v4 Audio Decoder filter.
"DSCinemVideoDecoder.dll" - CineMaster v4 Video Decoder filter.

Вероятно claud.ax для полного комплекта понадобится.

ANDYru
01-05-2006, 20:28
shurikz
это не оригинально -1
просто а здесь таких путей не ищут -2
твоим способом нельзя на стадии установки добавлять строки в oeminfo.ini в зависимости от нужд -3

Shurikz
01-05-2006, 20:36
это не оригинально -1
просто а здесь таких путей не ищут -2
Ну да, я так и подумал :D
твоим способом нельзя на стадии установки добавлять строки в oeminfo.ini в зависимости от нужд -3
Вот теперь понятно, спасибо.

Old_man
06-05-2006, 09:06
amel27
winrecab.rar
Скачиваю, пытаюсь распаковать, а winrar (3.51) говорит - неожиданный конец архива :(

Kudeiar
09-05-2006, 12:18
При интеграции SP2 в WinXP Pro в папке дистрибутива появляется новая папка C:\XPCD\cmpnents которая разбита на две подпапки C:\XPCD\cmpnents\netfx\i386\netfx.cab и C:\XPCD\cmpnents\TABLETPC\i386, что с ними делать? Можно ли их удалить или куда-нибудь переместить?

simplix
09-05-2006, 15:13
Old_man перекачай, архив битый.
Kudeiar можно и удалить, они не нужны.

ProkVS
12-05-2006, 15:27
Может кто знает как осуществить такую маленькую хитрость:
надо некой командой запустить таймер на закрытие cmd-шного окна,
так сказать EXIT только по истечении например 30 секунд!
Это необходимо для вывода сообщения во время копирования большого объёма файлов с DVD
Типа "В ДАННЫЙ МОМЕНТ ИДЕТ КОПИРОВАНИЕ, ПОДОЖДИТЕ!"

ShaddyR спасибо! Вот весь форум перелопатил, а перед носом не посмотрел...

ShaddyR
12-05-2006, 15:35
ProkVS: а, как я понимаю, сначала читать - никак, ниасилил? Ведь второе сообщение (http://forum.oszone.net/post-385681-2.html) в данной теме.

SAOPP
23-05-2006, 00:45
А можно каким нить другим способом реализовать это
shutdown.exe -r -f -t 180 -c "Для того, чтобы внесённые изменения вступили в силу, Windows будет перезапущен через 3 минуты..."
net user aspnet /delete
только, что бы окошко было другое - просто окошко с надписью?!

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

зыы Этот (http://forum.oszone.net/post-389052-10.html) пост ОЧЕНЬ понравился, но кто бы подсказал как его немного подредактировать, а то что-то с отсчётом проблемы...




© OSzone.net 2001-2012