Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Копирование файлов с CD (http://forum.oszone.net/showthread.php?t=67503)

ProkVS 21-06-2006 06:50 452902

Копирование файлов с CD
 
Подскажите каким образом запустить капирование (например из RunOnceEx), чтобы во время его отображалась системная анимашка с перелитающими бумажками из одной папки в другую (думаю все поняли что я имею ввиду :). Необходимо копировать большой объём данных при первой загрузке и чтоб юзер не подумал что комп подвис, было бы здорово изобразить нечто подобное...

В процессе установки у меня всплывает копирование желаемым способом, но я не знаю как это реализовано. Если я не ошибаюсь, копируются драйвера, встроенные с помощью аддона интеграции драйверов от Bashrat the Sneaky (Boa Soft), покавыряв аддон так и не понял как это сделано...

vek 21-06-2006 08:56 452938

ProkVS
Можно попробовать написать скрипт на инф. Из RunOnceEx запустится однозначно. Проблема только в том что при копировании будет кнопочка "отмена" и юзер сможет отменить копирование. А можно, например, воспользоваться каким нибудь инсталятором (многие из них поддерживают системные переменные)

ANDYru 21-06-2006 10:25 452968

Как можно визуально показать процесс копирования файла? А то большой файл долго копируется и надо показывать пользователю сколько уже выполнено.

Declare Function CopyFileEx Lib "kernel32.dll" Alias "CopyFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal lpProgressRoutine As Long, lpData As Any, ByRef pbCancel As Long, ByVal dwCopyFlags As Long) As Long

· lpExistingFileName
Points to a null-terminated string that specifies the name of an existing file.

· lpNewFileName
Points to a null-terminated string that specifies the name of the new file.

· lpProgressRoutine
Specifies the address of a callback function of type LPPROGRESS_ROUTINE that is called each time another portion of the file has been copied. This parameter can be NULL. For more information on the progress callback function, see CopyProgressRoutine.

· lpData
Specifies an argument to be passed to the callback function. This parameter can be NULL.

· pbCancel
Points to a Boolean variable that can be used to cancel the operation. If this flag is set to TRUE during the copy operation, the operation is canceled.

· dwCopyFlags
Specifies how the file is to be copied. This parameter can be a combination of the following values:
COPY_FILE_FAIL_IF_EXISTS
The copy operation fails immediately if the target file already exists.
COPY_FILE_RESTARTABLE
Progress of the copy is tracked in the target file in case the copy fails. The failed copy can be restarted at a later time by specifying the same values for lpExistingFileName and lpNewFileName as those used in the call that failed.


может разберёшся (без комментариев увы)

ProkVS 21-06-2006 12:54 453055

Вот те нате... :( Ожидал увидить некую команду... А тут.. Чтоб расшифровать этот мунускрипт у меня уйдет пол жизни :)

vek 21-06-2006 13:20 453066

ProkVS
Если на инф то тут руководство http://oszone.net/display.php?id=3827
Запуск можно из батника примерно так:
Код:

Cmdow @ /HID
SET wdir=%~dp0
SET wdir=%wdir:~0,-1%
rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %wdir%\CAB.inf

или прямо из RunOnceEx примерно так:
Код:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %wdir%\CAB.inf

Vadikan 22-06-2006 00:11 453376

А если копировать из cmdlines.txt? И окошек никаких не надо, и пользователь ничего не увидит? xcopy /?

Судя по скриншоту в первом посте - INF, но там есть кнопка Отмена.

boss911 22-06-2006 00:51 453385

Vadikan
Так тут же:
Цитата:

Необходимо копировать большой объём данных при первой загрузке и чтоб юзер не подумал что комп подвис ...
ProkVS
Я вот тоже, больше скланяюсь к этому варианту
Цитата:

Цитата vek
например, воспользоваться каким нибудь инсталятором (многие из них поддерживают системные переменные)


Vadikan 22-06-2006 00:52 453386

boss911
Я видел, что при первой загрузке, потому и спросил нельзя ли копировать из cmdlines.txt. Откуда мне знать что там за файлы и откуда они копируются?

boss911 22-06-2006 01:13 453390

Vadikan
Цитата:

спросил нельзя ли копировать из cmdlines.txt
Сперва не понял, что это твоой вопрос, сори! Я просто подумал, что ему важно, чтоб отображался таскбар с копированием инфы!!

ProkVS 22-06-2006 11:30 453496

Спасибо за ответы, щас попробую разобратся с предложенными вариантами...

Надо именно при первой загрузке! Специфика моей автоматической установки следующая: после установки виндовс запускается CDSwitch и предлогает сменить диск, вставляю диск под завязку набитый прогами (MS Office и т.д.), всё это добро автоматом копируется на жесткий , далее запускается WPI и после определения с выбором ПО идет установка... Можно было бы конечно настроить установку с СD, но силент установки прог такие ронимые, что я просто устал боротся с глюками и решил для успокоения души копировать всё на винт. Это конечно затягивает установку, но зато потом - неизменно превасходный результат!

ProkVS 22-06-2006 13:06 453564

vek
Сложновастенько даются мне Inf-ы... С копированием одного файла что-то прояснилось, но папки...
Если не трудно, напиши пожалуйста, как должен выглядеть мой батник в Inf виде:

Код:

FOR %%i IN (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 %%i:\wpi.ico SET CDROM=%%i:

xcopy "%CDROM%\" "%systemdrive%\WPI\" /y /q /s


vek 22-06-2006 13:12 453569

ProkVS
Попробуй Вот этот наборчик http://forum.oszone.net/post-434018-30.html от XXXler. Всю основную работу он сделает за тебя. А потом совсем чуток придется подправить инф. Вышли мне его на E-mail разберемся.
P.S. А вообще в твоем случае лучше наверное какой нибудь инсталятор (можно будет настраивать кнопочку "отмена" при копировании, в зависимости от того, разрешить пользователю отменить процесс копирования или запретить).
P.S.S. Я так понимаю тебе нужно копирование когда система уже установлена? (просто на скрине почему-то Т-13). Вот я и подумал что лучше инф.

ProkVS 22-06-2006 15:10 453636

vek
Что значит использовать инсталятор? Какой например?

После сбора дистриба винды с массой аддонов, во время установки начало появлятся копирование файлов, что я и продемонстрировал на скрине. Однако разобратся как это работает не удалось...

Копировать действительно необходимо после установки виндовс, причем оно должно начатся в тот момент когда будет вставлен второй диск! У меня это реализовано с помощью пакетного файла, где команды идут попорядку: Ждать пока вставится диск - Диск вставлен - копирование (вот здесь и происходит заминка на 2-3 минуты которое необходимо чем-то заполнить ) - запуск WPI - и т.д...

Попробовал воспользоватся скриптом XXXler, так он мне забубенил инф более чем на 1500 строк, насоздавал файлов и папок, вобщем наворотил будь здоров... :) Наверно это решение здесь не подходит, т.к. копируемый диск практически ежедневно обновляется и пополняется, т.е. надо будет после каждого изменения генерить новый inf, а это не практично...

vek 22-06-2006 16:06 453663

ProkVS
Ну так возьми любой инсталятор Inno например. Ну а проблема все равно останется. Инсталятор зажмет все папки в один *.exe и после каждого обновления придется пересобирать инстал заново.
Вот только не пойму, зачем тебе такой геморой. Запускал-бы WPI прям с диска.
У меня вот тоже винда на одном, программы на другом. Поставил Виндоус. Потом ставлю диск с софтом, а там на авторан прописан батник, который по очереди запускает перепакованный софт. И обновляется легко и не привязан к системе, а то вдруг когда-нибудь не будет под рукой именно второго диска, что делать будешь? Тебе будет система говорить: - "вставь диск", а его тю-тю!!

boss911 22-06-2006 17:02 453703

vek
Цитата:

Ну а проблема все равно останется. Инсталятор зажмет все папки в один *.exe и после каждого обновления придется пересобирать инстал заново.
Необязательно, так как в Innо есть опция "вненшний", то есть указал нужную рядом дерикторию и он все будет от туда копировать куда ты ему укажеш!! Короче нечего нанадо будет перепаковывать, достаточно будет добавить\обновить файл в папке!!

ProkVS
Цитата:

Можно было бы конечно настроить установку с СD, но силент установки прог такие ронимые ...
В таких случаях, спасает SFX архив, который отлично пропускает ключи к главному инсталятору!!

vek 22-06-2006 17:13 453715

boss911
Цитата:

Необязательно, так как в Innо есть опция "вненшний",
Вот этого я не знал, спасибо. Иногда очень полезная вещь.
ProkVS
С таким параметром у тебя, наверное, получится все очень просто

ProkVS 22-06-2006 17:49 453743

После долгого перебора возможных вариантов установки софта, остановился именно на этом, по моему мнению, самому удобному и гибкому (не факт). Сейчас меня практически всё устраивает. Устанавливал данный комплэкт более сотни раз, всё проходит без единой ошибки. В этой теме преследую две цели - украшательство и повышение квалификации, при решении таких вот мелких задач приобретаешь попутно массу полезных знаний, благо люди на этом форуме отзывчивые, за что им огромное спасибо! :)

Щас разковыряю Inno, о результатах отпишусь...

boss911 22-06-2006 20:02 453791

ProkVS
Цитата:

Щас разковыряю Inno, о результатах отпишусь...
Тогда давайте переберемся в боле похожую по смыслу тему, может и я чем-то смогу помоч!!

Dmitry_K 31-03-2007 06:42 568823

Вложений: 1
"Неубиваемая" простым юзером и показываемая поверх всех окон анимашка... (с перелетающими бумажками из одной папки в другую, как того хотел автор)...
Процесс "прибивается" только через "Диспетчер задач" или утилитами типа "taskkill"...
Может, кому пригодится... Буду только рад... [ не забудьте нажать ссылку "Полезное сообщение" ;) ]


Время: 14:27.

Время: 14:27.
© OSzone.net 2001-