SharkyEXE
12-11-2009, 09:39
Здравствуйте. Прошу прощения, что создал новую тему на форуме, в принципе, аналогичной этой (http://forum.oszone.net/post-1267997.html#post1267997), но автор этой (http://forum.oszone.net/post-1267997.html#post1267997) темы отметил ее решенной (для меня отметка его темы решенной-под вопросом), и поэтому, туда вроде как и никто не зайдет :). В общем следующая проблема:
Из статьи здесь (http://oszone.net/2986/), начиная с пункта RunOnceEx до Создание мультизагрузочного диска с помощью Bootable CD Wizard (BCDW), что сделал я (остальное содержимое этой (http://oszone.net/2986/) статьи мне не нужно):
1. В файл winnt.sib ответа добавил следующее:
[GuiUnattended]
DetachedProgram="%systemdrive%\Pustyshki\dummy2.exe"
Содержимоего моего файла ответов winnt.sib полностью:
;SetupMgrTag
[Data]
Autopartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"
AutomaticUpdates=Yes
[Unattended]
UnattendMode=FullUnattended
OemSkipEulA=Yes
OemPreinstall=Yes
TargetPath=\WINDOWS
Repartition=No
FileSystem=*
Unattendswitch="Yes"
WaitForReboot="No"
[GuiUnattended]
AdminPassword=12345
EncryptedAdminPassword=No
OEMSkipRegional=1
TimeZone=145
OemSkipWelcome=1
DetachedProgram="%systemdrive%\Pustyshki\dummy2.exe"
[Display]
BitsPerPel=32
XResolution=1024
YResolution=768
Vrefresh=60
[RegionalSettings]
LanguageGroup=1,2,3,4,5
SystemLocale=00000419
UserLocale=00000419
InputLocale=0409:00000409,0419:00000419
[Identification]
JoinWorkgroup=WORKGROUP
[Networking]
InstallDefaultComponents=Yes
[UserData]
FullName="Admin"
OrgName="Super-Puper"
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
ComputerName=*
Это все работает.
2. Создал 3 файла-пустышки с нулевым размером: dummy1.fle, dummy2.fle, dummy3.fle. Упаковал каждый по отдельности в отдельный sfx архив, каждый sfx архив содержит следующий комментарий:
;Расположенный ниже комментарий содержит команды SFX-сценария
Path=%systemdrive%\Pustyshki\
Silent=1
Overwrite=1
Получилось 3 sfx архива: DUMMY1.EXE, DUMMY2.EXE, DUMMY3.EXE.
Это все работает.
3. Создал файл через AkelPad cmdlines.txt с содержимым:
[COMMANDS]
"choice.bat"
положил cmdlines.txt в корень папки $OEM$.
Это все работает.
4. Создал через AkelPad файл choice.bat с содержимым:
@echo off
if exist %systemdrive%\Pustyshki\dummy1.fle goto START1
if exist %systemdrive%\Pustyshki\dummy2.fle goto START2
if exist %systemdrive%\Pustyshki\dummy3.fle goto START3
....
goto END
:START1
RD /S /Q %systemdrive%\qeqe
GOTO END
:START2
start /wait %systemdrive%\useraccounts.bat
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
GOTO END
:START3
RD /S /Q %systemdrive%\xaxa
GOTO END
....
:END
положил choice.bat в корень папки $OEM$.
Этот choice.bat работает частично. (подробности ниже)
5. Директория $ОЕМ$ в моем случае выглядит так:
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$
09.11.2009 15:30 <DIR> .
09.11.2009 15:30 <DIR> ..
09.11.2009 15:30 <DIR> $$
11.11.2009 19:00 <DIR> $1
11.11.2009 19:06 515 choice.bat
09.11.2009 14:28 24 cmdlines.txt
2 файлов 539 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$$
09.11.2009 15:30 <DIR> .
09.11.2009 15:30 <DIR> ..
09.11.2009 22:58 <DIR> system32
0 файлов 0 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$$\system32
09.11.2009 22:58 <DIR> .
09.11.2009 22:58 <DIR> ..
19.12.2004 11:32 31 232 cmdow.exe
21.12.1999 06:58 80 384 cusrmgr.exe
31.12.2002 14:00 28 672 renuser.exe
3 файлов 140 288 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$1
11.11.2009 19:00 <DIR> .
11.11.2009 19:00 <DIR> ..
09.11.2009 19:49 66 Delete_cmdow.bat
09.11.2009 17:51 2 990 hkcu.reg
07.11.2009 18:37 4 761 hklm.reg
09.11.2009 15:01 <DIR> Pustyshki
09.11.2009 17:46 106 Tweaks_for_hkcu.bat
09.11.2009 17:46 106 Tweaks_for_hklm.bat
09.11.2009 23:23 582 useraccounts.bat
6 файлов 8 611 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$1\Pustyshki
09.11.2009 15:01 <DIR> .
09.11.2009 15:01 <DIR> ..
09.11.2009 15:00 96 437 dummy1.exe
09.11.2009 15:00 99 509 dummy2.exe
09.11.2009 15:01 101 557 dummy3.exe
09.11.2009 14:59 117 Текстовый документ.txt
4 файлов 297 620 байт
6. Папку D:\Svoj_distributiv_Windows\$OEM$\ со всем ее содержимым полностью скопировал в корень папки моего будущего образа (папка будущего моего образа D:\XPCD, папка D:\Svoj_distributiv_Windows\$OEM$\ лежит в корне папки D:\XPCD, т. е. так: D:\XPCD\$OEM$\).
Это все работает.
Моя проблема: как написал в конце пункта 4., файл choice.bat работает частично. Т. е. из всего этого:
start /wait %systemdrive%\useraccounts.bat
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
у меня отрабатывает только файл:
%systemdrive%\useraccounts.bat
остальное содержимое секции :START2 файла choice.bat (что должно отработать тоже):
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
не рабтает.
Что сделать, чтобы содержимое секции :START2 файла choice.bat отрабатывало полностью, а не только одна строка:
%systemdrive%\useraccounts.bat
? Спасибо.
Из статьи здесь (http://oszone.net/2986/), начиная с пункта RunOnceEx до Создание мультизагрузочного диска с помощью Bootable CD Wizard (BCDW), что сделал я (остальное содержимое этой (http://oszone.net/2986/) статьи мне не нужно):
1. В файл winnt.sib ответа добавил следующее:
[GuiUnattended]
DetachedProgram="%systemdrive%\Pustyshki\dummy2.exe"
Содержимоего моего файла ответов winnt.sib полностью:
;SetupMgrTag
[Data]
Autopartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"
AutomaticUpdates=Yes
[Unattended]
UnattendMode=FullUnattended
OemSkipEulA=Yes
OemPreinstall=Yes
TargetPath=\WINDOWS
Repartition=No
FileSystem=*
Unattendswitch="Yes"
WaitForReboot="No"
[GuiUnattended]
AdminPassword=12345
EncryptedAdminPassword=No
OEMSkipRegional=1
TimeZone=145
OemSkipWelcome=1
DetachedProgram="%systemdrive%\Pustyshki\dummy2.exe"
[Display]
BitsPerPel=32
XResolution=1024
YResolution=768
Vrefresh=60
[RegionalSettings]
LanguageGroup=1,2,3,4,5
SystemLocale=00000419
UserLocale=00000419
InputLocale=0409:00000409,0419:00000419
[Identification]
JoinWorkgroup=WORKGROUP
[Networking]
InstallDefaultComponents=Yes
[UserData]
FullName="Admin"
OrgName="Super-Puper"
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
ComputerName=*
Это все работает.
2. Создал 3 файла-пустышки с нулевым размером: dummy1.fle, dummy2.fle, dummy3.fle. Упаковал каждый по отдельности в отдельный sfx архив, каждый sfx архив содержит следующий комментарий:
;Расположенный ниже комментарий содержит команды SFX-сценария
Path=%systemdrive%\Pustyshki\
Silent=1
Overwrite=1
Получилось 3 sfx архива: DUMMY1.EXE, DUMMY2.EXE, DUMMY3.EXE.
Это все работает.
3. Создал файл через AkelPad cmdlines.txt с содержимым:
[COMMANDS]
"choice.bat"
положил cmdlines.txt в корень папки $OEM$.
Это все работает.
4. Создал через AkelPad файл choice.bat с содержимым:
@echo off
if exist %systemdrive%\Pustyshki\dummy1.fle goto START1
if exist %systemdrive%\Pustyshki\dummy2.fle goto START2
if exist %systemdrive%\Pustyshki\dummy3.fle goto START3
....
goto END
:START1
RD /S /Q %systemdrive%\qeqe
GOTO END
:START2
start /wait %systemdrive%\useraccounts.bat
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
GOTO END
:START3
RD /S /Q %systemdrive%\xaxa
GOTO END
....
:END
положил choice.bat в корень папки $OEM$.
Этот choice.bat работает частично. (подробности ниже)
5. Директория $ОЕМ$ в моем случае выглядит так:
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$
09.11.2009 15:30 <DIR> .
09.11.2009 15:30 <DIR> ..
09.11.2009 15:30 <DIR> $$
11.11.2009 19:00 <DIR> $1
11.11.2009 19:06 515 choice.bat
09.11.2009 14:28 24 cmdlines.txt
2 файлов 539 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$$
09.11.2009 15:30 <DIR> .
09.11.2009 15:30 <DIR> ..
09.11.2009 22:58 <DIR> system32
0 файлов 0 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$$\system32
09.11.2009 22:58 <DIR> .
09.11.2009 22:58 <DIR> ..
19.12.2004 11:32 31 232 cmdow.exe
21.12.1999 06:58 80 384 cusrmgr.exe
31.12.2002 14:00 28 672 renuser.exe
3 файлов 140 288 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$1
11.11.2009 19:00 <DIR> .
11.11.2009 19:00 <DIR> ..
09.11.2009 19:49 66 Delete_cmdow.bat
09.11.2009 17:51 2 990 hkcu.reg
07.11.2009 18:37 4 761 hklm.reg
09.11.2009 15:01 <DIR> Pustyshki
09.11.2009 17:46 106 Tweaks_for_hkcu.bat
09.11.2009 17:46 106 Tweaks_for_hklm.bat
09.11.2009 23:23 582 useraccounts.bat
6 файлов 8 611 байт
Содержимое папки D:\Svoj_distributiv_Windows\$OEM$\$1\Pustyshki
09.11.2009 15:01 <DIR> .
09.11.2009 15:01 <DIR> ..
09.11.2009 15:00 96 437 dummy1.exe
09.11.2009 15:00 99 509 dummy2.exe
09.11.2009 15:01 101 557 dummy3.exe
09.11.2009 14:59 117 Текстовый документ.txt
4 файлов 297 620 байт
6. Папку D:\Svoj_distributiv_Windows\$OEM$\ со всем ее содержимым полностью скопировал в корень папки моего будущего образа (папка будущего моего образа D:\XPCD, папка D:\Svoj_distributiv_Windows\$OEM$\ лежит в корне папки D:\XPCD, т. е. так: D:\XPCD\$OEM$\).
Это все работает.
Моя проблема: как написал в конце пункта 4., файл choice.bat работает частично. Т. е. из всего этого:
start /wait %systemdrive%\useraccounts.bat
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
у меня отрабатывает только файл:
%systemdrive%\useraccounts.bat
остальное содержимое секции :START2 файла choice.bat (что должно отработать тоже):
start /wait %systemdrive%\Tweaks_for_hklm.bat
start /wait %systemdrive%\Tweaks_for_hkcu.bat
start /wait %systemdrive%\Delete_cmdow.bat
не рабтает.
Что сделать, чтобы содержимое секции :START2 файла choice.bat отрабатывало полностью, а не только одна строка:
%systemdrive%\useraccounts.bat
? Спасибо.