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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   [решено] Запуск установки .Net Frameowrk на этапе RunOnceEx (http://forum.oszone.net/showthread.php?t=234962)

Aquila 18-05-2012 22:45 1918539

Запуск установки .Net Frameowrk на этапе RunOnceEx
 
Здравствуйте. Сделал аддон - DotNetRun. Но мне сообщили то что он не совершенен - пост 1649. Я исправил, но что то не так, из рабочей системы всё работает на ура, а когда ставлю систему выдаёт ошибку о том что такого файла не существует.
Вот мой файлик cmd:
читать дальше »
@echo off
COPY "DOTNET.EXE" "%SYSTEMROOT%\DOTNET.EXE"
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100

REG ADD %KEY% /V TITLE /D "Пожалуйста, подождите..." /f

REG ADD %KEY%\%i% /VE /D "Microsoft .NET Framework" /f

REG ADD %KEY%\%i% /V 1 /D "%SYSTEMROOT%\DOTNET.EXE" /f
REG ADD %KEY%\%i% /V 2 /D "cmd.exe /C DEL /F /Q %SYSTEMROOT%\DOTNET.EXE" /f
SET /A i+=1
EXIT

Помогите мне форумчане, кто чем сможет.

Сlassic 18-05-2012 23:43 1918562

Цитата:

Цитата Aquila
COPY "DOTNET.EXE" "%SYSTEMROOT%\DOTNET.EXE" »

А это, как это ? DOTNET.EXE в DOTNET.EXE ?

Aquila 18-05-2012 23:46 1918564

Сlassic, да, сам не пойму откуда это взял, но работает. Не думаю что из за этого такая проблема.

Сlassic 19-05-2012 00:23 1918580

Цитата:

Цитата Aquila
Не думаю что из за этого такая проблема. »

А что мешает изменить и проверить ?

boss911 19-05-2012 02:07 1918601

Цитата:

Цитата Сlassic
А это, как это ? DOTNET.EXE в DOTNET.EXE ? »

А что вас смущает в этой команде? Происходит копирование файла в другую директорию с указанием нового (в данном случае старого) имени файла. Вполне допустимая команда. Ничего криминального в этом нет, причина не в этом.

Aquila

Попробуйте копировать не в корень %SYSTEMROOT%, а в подкаталог, соответственно прописать установку из этого подкаталога.

Цитата:

Цитата Aquila
из рабочей системы всё работает на ура, а когда ставлю систему выдаёт ошибку о том что такого файла не существует. »

А разве RunOnceEx не рабочая система? Я не совсем понял, что значит, работает на рабочей системе и что выдает о не нахождении файла. Если запустить RunOnceEx.cmd вручную, DOTNET.EXE появляется в %SYSTEMROOT%? Если перезагрузить компьютер, установка из RunOnceEx начинается?

Aquila 19-05-2012 02:29 1918603

Цитата:

Цитата boss911
Попробуйте копировать не в корень %SYSTEMROOT%, а в подкаталог, соответственно прописать установку из этого подкаталога. »

Что мне это даст?

Цитата:

Цитата boss911
Я не совсем понял, что значит, работает на рабочей системе »

На рабочей, значит на уже установленной, у которой произведено больше 2 загрузок.

Цитата:

Цитата boss911
что выдает о не нахождении файла »

Обычную команду. Процитировать не могу: данный файл не найден, ищите в поисковике...

Цитата:

Цитата boss911
Если запустить RunOnceEx.cmd вручную, DOTNET.EXE появляется в %SYSTEMROOT%? »

да

Цитата:

Цитата boss911
Если перезагрузить компьютер, установка из RunOnceEx начинается? »

Если система "рабочая" то да.

Сlassic 19-05-2012 03:27 1918608

На скорую проверил на виртуалке, вместо DOTNET.EXE подложил AIMP.EXE. Установка проходит. RunOnceEx.cmd запускается из cmdlines.txt, все это: AIMP.EXE, RunOnceEx.cmd в папке $OEM$. Содержимое RunOnceEx.cmd
Код:

@echo off
 COPY "AIMP_2.61.583.exe" "%SYSTEMROOT%\"
 SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
 SET i=100

 REG ADD %KEY% /V TITLE /D "Пожалуйста, подождите..." /f

 REG ADD %KEY%\%i% /VE /D "Microsoft .NET Framework" /f

 REG ADD %KEY%\%i% /V 1 /D "%SYSTEMROOT%\AIMP_2.61.583.exe" /f
 REG ADD %KEY%\%i% /V 2 /D "cmd.exe /C DEL /F /Q %SYSTEMROOT%\AIMP_2.61.583.exe" /f
 SET /A i+=1
 EXIT


boss911 19-05-2012 05:55 1918620

Aquila

Этап RunOnceEx на только что свежо установленной ОС уже считается рабочей ОС, второй или последующие ее запуски не делает ее "живее". А вот запуск батника происходит не на “живой” ОС, а установка DOTNET.EXE будет происходить на “живой”.

Запуск вручную батника на рабочей ОС доказывает, что все нормально, судя из ваших слов, посему можно предположить, что на этапе Т13 не копируется DOTNET.EXE, раз оно ругается на отсутствия файла. Уберите в батнике @echo off и перед EXIT пропишите PAUSE, на этапе Т13 в консоли будет видно, как отработали команды, все ли прошло нормально, например, был ли скопирован DOTNET.EXE.

Я просто в свое время для подобных целей использовал $OEM$\cmdlines.txt.

Aquila 19-05-2012 13:37 1918697

boss911, Сlassic,
Папкой $OEM$ не хочется пользоваться, лучше пропишу так, только не в cmdlines.txt, а напрямую в реестр через батник, аддон всё же.

Цитата:

Цитата boss911
на этапе Т13 не копируется DOTNET.EXE »

Да, задача из задач, может обратиться напрямую к cmd.exe?
читать дальше »
cmd.exe /C COPY "DOTNET.EXE" "%SYSTEMROOT%\"

Petya V4sechkin 19-05-2012 16:30 1918783

Цитата:

Цитата Aquila
задача из задач

Ну и?

Цитата:

Цитата boss911
Уберите в батнике @echo off и перед EXIT пропишите PAUSE, на этапе Т13 в консоли будет видно, как отработали команды, все ли прошло нормально, например, был ли скопирован DOTNET.EXE

Цитата:

Цитата Aquila
COPY "DOTNET.EXE" "%SYSTEMROOT%\DOTNET.EXE"

А так?
Код:

COPY /Y "%~dp0DOTNET.EXE" %SYSTEMROOT%\

Aquila 19-05-2012 17:54 1918820

Цитата:

Цитата Petya V4sechkin
Код:

COPY /Y "%~dp0DOTNET.EXE" %SYSTEMROOT%\
»

У меня такая идейка как раз и возникла, спасибо, искал что прописать чтобы файл ловился из того же раздела где и файл .cmd.
Щас всё проверю.

Aquila 20-05-2012 17:59 1919339

Большое всем спасибо!
В итоге вот что получилось:
читать дальше »
Код:

@echo off
COPY /Y "%~dp0DOTNET.EXE" %SYSTEMROOT%\
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100

REG ADD %KEY% /V TITLE /D "Пожалуйста, подождите..." /f

REG ADD %KEY%\%i% /VE /D "Microsoft .NET Framework" /f

REG ADD %KEY%\%i% /V 1 /D "%SYSTEMROOT%\DOTNET.EXE" /f
REG ADD %KEY%\%i% /V 2 /D "cmd.exe /C DEL %SYSTEMROOT%\DOTNET.EXE" /f
SET /A i+=1
EXIT

Тема закрыта.


Время: 18:51.

Время: 18:51.
© OSzone.net 2001-