PDA

Показать полную графическую версию : [статья] Установка приложений по окончании установки Windows Vista


Vadikan
18-01-2009, 18:25
http://www.oszone.net/figs/pics/avatar-BigMac-2097370165496143cce63c6.jpg (http://www.oszone.net/8595/Install_Apps_Simple)Автоматическая установка Windows Vista (http://www.oszone.net/8662/) » Установка приложений по окончании установки Windows Vista (http://www.oszone.net/8595/Install_Apps_Simple)
В этой статье рассматривается самый простой способ установки приложений. Приложения размещаются на USB-диске или установочном DVD-диске виста, а установка производится по оконачнии установки Windows Vista - либо до первого входа в систему от имени системной учетной записи, либо при первом входе пользователя в систему.... (http://www.oszone.net/8595/Install_Apps_Simple)


Читать дальше... (http://www.oszone.net/8595/Install_Apps_Simple)

Boa Soft
18-01-2009, 23:47
Есть еще один не совсем стандартный способ. "Подсмотрен" мной у одного бренда в заливке ноутбука. Метод работоспособный и проверенный мной лично.

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

1. Создаем командные файл cmd
пример:

@echo off

Title=Настройка первого запуска

echo Выполнение предварительной настройки системы
echo Пожалуйста, не выключайте компьютер!!!
echo По окончанию настройки компьютер, возможно, будет перезагружен.
есно Потерпите немного! Настройка не займет много времени.
echo.

echo Запуск: %Date% %Time% > c:\install.tag
echo. >> c:\install.tag
echo Пример запуска программы при первом запуске системы >> c:\install.tag
echo Можно задать почти любые действия по настройке >> c:\install.tag

net user Администратор /active:yes
regedit /s "%SystemRoot%\oem\FirstRun.reg" >nul

echo. >> c:\install.tag
echo Окончание: %Date% %Time% >> c:\install.tag

cls
exit


2. Помещаем его в папку ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
тут возможно два варианта:
a: Включить его в сам instll.wim (http://www.oszone.net/8603/Add_Files#system)
б: Воспользоватся структурой $OEM$ папок (http://www.oszone.net/8603/Add_Files#oem)

3. При первом входе любого пользователя он будет выполнен. Но тут есть подводный камень. Файл далее будет выполнятся при каждом входе любого пользователя. Нам это не надо. Поэтому добавим в наш сценарий строчку для удаления отработавшего сценария. Сделать такой "суицид" несложно - командные файлы не лочатся ситемой при выполнении, и его свободно можно удалить.

пример:

@echo off

Title=Настройка первого запуска

echo Выполнение предварительной настройки системы
echo Пожалуйста, не выключайте компьютер!!!
echo По окончанию настройки компьютер, возможно, будет перезагружен.
есно Потерпите немного! Настройка не займет много времени.
echo.

echo Запуск: %Date% %Time% > c:\install.tag
echo. >> c:\install.tag
echo Пример запуска программы при первом запуске системы >> c:\install.tag
echo Можно задать почти любые действия по настройке >> c:\install.tag

net user Администратор /active:yes
regedit /s "%SystemRoot%\oem\FirstRun.reg" >nul

echo. >> c:\install.tag
echo Окончание: %Date% %Time% >> c:\install.tag

cls
del %0
exit


PS Содержимое коммандного файла приведено чисто для примера.

Vadikan
19-01-2009, 01:15
Boa Soft, способ понятен, но у него есть недостатки, как мне видится, даже помимо описанного тобой подводного камня.
При первом входе любого пользователя он будет выполнен. »
Административные задачи таким способом не автоматизируешь, потому что у пользователя не хватит прав, и он в лучшем случае получит запрос UAC, а в худшем - сообщения типа "отказано в доступе" и все. Только встроенный Администратор свободно сможет выполнить эти задачи. Метод работоспособный и проверенный мной лично. »
Неужели ни разу не возникало проблем? Впрочем, зависит от выполняемых задач...

В этом и заключается отличие описанных в статье способов, от подсмотренного тобой. setupcomplete.cmd (http://www.oszone.net/8604) выполняется от имени LocalSystem, a при использовании FirstLogonCommands (http://www.oszone.net/8609) при входе любой административной уч. записи происходит автоматическое повышение прав.

Странно, что ОЕМ-сборщик пошел этим путем. Понятно, что FirstLogonCommands он использовать не мог, а отказ от setupcomplete.cmd (http://www.oszone.net/8604) оправдать можно только желанием настроить именно пользовательские параметры. Поэтому добавим в наш сценарий строчку для удаления отработавшего сценария »
Это ты сам добавлял или ОЕМ-сборщик все-таки догадался это сделать? :)

Boa Soft
20-01-2009, 01:05
Странно, что ОЕМ-сборщик пошел этим путем. Понятно, что FirstLogonCommands он использовать не мог, а отказ от setupcomplete.cmd оправдать можно только желанием настроить именно пользовательские параметры. »

Именно так. Там были некоторые настройки пользовательских параметров.

Кроме того, у еще одного производителя этот трюк использовался в режиме аудита - запускалась утилита, убивающая окно суспрепа и запускалось несколько скриптов.

Я пробовал внести из setupcomplete.cmd некотрые настройки пользователя - они не применились, видимо были перекрыты при создании профиля. Кроме юзерских настроек я и ничего не пытался сделать.

Vadikan
20-01-2009, 03:01
Я пробовал внести из setupcomplete.cmd некотрые настройки пользователя - они не применились, видимо были перекрыты при создании профиля. »
Дело не в этом. Файл запускается до входа пользователя в систему от имени LocalSystem, поэтому пользовательские настройки просто некуда импортировать.

Кроме того, у еще одного производителя этот трюк использовался в режиме аудита - запускалась утилита, убивающая окно суспрепа и запускалось несколько скриптов. »
Это тоже не очень понятно... :) Зачем убивать sysprep, который сам и запускаешь? В режиме аудита можно задать синхронные команды, ставя sysprep последней. А идущие перед ним команды использовать для настройки параметров вошедшего в систему пользователя (очевидно, встроенного админа, чтобы потом его профиль копировать в default user). В общем, это и есть рекомендуемый ОЕМ-сборщикам способ.




© OSzone.net 2001-2012