Общее - [решено] Ищу простой способ установки приложений

Аватара пользователя
Guru431

Общее - [решено] Ищу простой способ установки приложений

Сообщение Guru431 »

Объясню, в чем моя проблема:

Долгое время занимался автоустановкой XP и софта. Очень нравится метод cmdlines.txt!!! Из него я запускаю твики реестра, автологин и, конечно же, RunOnceEx.cmd. Через RunOnceEx.cmd я ставлю софт, обновления, батники с настройками и многое другое. Одним словом есть давно сложившаяся архитектура с двумя папками ($OEM$ и Install) и легко переносимая на разные образы простым копированием.

Но есть проблема - в MS Vista нет cmdlines.txt. И мне казалось, это поправимо, надо только заменить cmdlines.txt на батник и запускать из него тот же самый RunOnceEx.cmd и остальное, что было в cmdlines.txt. Впоследствии этот батник надо будет просто запустить перед последней перезагрузкой во время установки Vista.



И вот вопрос: Как это сделать просто и красиво?



Почему мне не подходят имеющиеся варианты:

Вариант 1 -
SetupComplete.cmd через $OEM$


Наиболее красивый вариант как раз то, что надо, но... Но при этом во время установки копируется весь дистрибутив - у меня это 4,5 Гб. Это потеря времени и места, и всё из-за одного батника.



Вариант 2 -
SetupComplete.cmd вшитый в образ с помощью imagex


Я часто вношу изменения в свою структуру. И если файл будет в образе, это будет очень неудобно, а также будет уходить много времени на подключение и последующее сохранение образа.



Вариант 3 -
FirstLogonCommands


Проблема в том, что батник будет запускаться при первом входе пользователя, вместе с созданием профиля. А мне нужно чтобы батник был запущен до перезагрузки, а при первом входе в сеанс уже бы срабатывал RunOnceEx.cmd.



Вариант 4 -
Установка приложений в режиме аудита


Честно говоря, не совсем понятно, и, кажется не то, что мне нужно



Может еще есть варианты, но я их не нашел. Буду рад, если подскажите. Мне кажется, что должна быть возможность запустить пакетный файл во время установки из AutoUnattend.xml.



Еще раз повторяю проблему: Мне нужно во время установки, перед последней перезагрузкой запустить всего один батник, который добавит мои настройки, новых пользователей, автологин и ключи RunOnceEx в реестр, чтобы после перезагрузки при первом входе в сеанс началась установка софта и обновлений.



Спасибо за помощь!
Аватара пользователя
Vadikan

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Vadikan »

Цитата Guru431:



Вариант 2 - SetupComplete.cmd вшитый в образ с помощью imagex

Я часто вношу изменения в свою структуру. И если файл будет в образе, это будет очень неудобно, а также будет уходить много времени на подключение и последующее сохранение образа.
Общее - [решено] Ищу простой способ установки приложений




А вы один раз добавьте туда команду



Код:

Код: Выделить всё

%diskroot%\install\myfile.cmd

а свой файл положите в \install. И все Изображение




Цитата Guru431:



ключи RunOnceEx в реестр
Общее - [решено] Ищу простой способ установки приложений




Таким способом у вас все равно не получится настроить пользовательские параметры всех учетных записей одинаковым образом. Варианты описаны в статье о твиках реестра.
Аватара пользователя
Guru431

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Guru431 »

Цитата Guru431:



Просто всё таки придется изменять образ.
Общее - [решено] Ищу простой способ установки приложений




А вы обновления или драйверы в него не интегрируете? Тоже ведь приходится изменять...




Цитата Guru431:



А если есть несколько образов, а если они в будущем будут меняться
Общее - [решено] Ищу простой способ установки приложений




Ну потратите 10 минут на каждый - это меньше, чем вы потратили на предыдущий пост Изображение




Цитата Guru431:



А еще есть такой нюанс - вдруг мне понадобиться сделать чистый образ без автоустановки или просто убрать свой батник. Я его уберу, а ссылка на него в "%diskroot%\install\myfile.cmd" останется и при установке, скорее всего, ругнется, что файл не найден. В таком случаи опять придется лесть в образ, и убирать от туда батник.
Общее - [решено] Ищу простой способ установки приложений




Нужно разграничить понятия WIM-образ и ISO-образ. setupcomplete.cmd входит в WIM-образ, а ваш батник совсем необязательно размещать в нем - положите его в папку DVD\Install, как я сказал, он будет частью ISO-образа. Если вы захотите убрать автоустановку, то батник ваш к ней вообще не имеет отношения - она контролируется файлом ответов. Если же речь о командах, которые вы вдруг не захотите запускать, то удалите их из батника и замените на echo hello world!.




Цитата Guru431:



Должна же быть возможность запустить его из AutoUnattend.xml!!!
Общее - [решено] Ищу простой способ установки приложений




Запускайте из FirstLogonCommands. Изучив ваши подробные объяснения на тему
Цитата Guru431:



Честно говоря, получиться
Общее - [решено] Ищу простой способ установки приложений




я пришел к выводу, что вы все равно импортируете параметры реестра обходным путем, который подробно описан в
Применение твиков реестра ко всем учетным записям после установки ОС
. Ничто не мешает вам сделать то же самое с помощью FirstLogonCommands, т.е. для текущей учетной записи использовать стандратный REG-файл HKCU, а для Default User - видоизмененный.



Мне не очень понятно, зачем вы так делаете, учитывая то, что в XP можно использовать cmdlines.txt для импорта параметров реестра во все учетные записи не только REG-файлом, но также и командным файлом. Но это ваше дело.



Суть в том, что в Vista фактически есть все те же возможности, что и в XP, не говоря уже о новых. Просто нужно немного скорректировать свой процесс в соответствии с архитектурой установки ОС. Если процесс сложно скорректировать, значит он чересчур сложен - его нужно упростить Изображение
Аватара пользователя
Vadikan

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Vadikan »

Цитата Vadikan:



А вы обновления или драйверы в него не интегрируете? Тоже ведь приходится изменять...



Драйверы интегрирую только в XP (с помощью пакета DriverPacks). Vista многое сама находит, а что не находит, то ставлю вручную.

А вообще жду, когда команда DriverPacks выпустит полноценную версию для MS Vista.



Обновления я вообще никогда не интегрирую. Они меняются (заменяются, добавляются) каждый месяц. Образы я поддерживаю в актуальном состоянии, поэтому интегрирование это не выход для меня. Обновления я ставлю вместе с программами, с батника, в котором нет привязки к именам файлов обновлений:

Для XP


читать дальше »



Цитата:



REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinVista

exit



:Win7

exit



:WinXP

for %%a in (*.exe) do start /w %%a /quiet /norestart







Для Vista


читать дальше »




!install.bat


Цитата:





REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinXP

exit



:Win7

exit



:WinVista

for %%a in (*.exe) do start /w %%a /quiet /norestart

for %%a in (*.msu) do start /w %%a /quiet /norestart

start /wait /d Ultimate install.bat

exit



install.bat (запускается из !install.bat)


Цитата:





REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinXP

exit



:Win7

exit



:WinVista

set dir=%temp%\ult

md %dir%

For %%i In (*.cab) Do (expand %%i -f:* %dir% && pkgmgr /ip /m:%dir% /norestart && del /f /s /q %dir%)

rd /s /q %dir%

for %%a in (*.exe) do start /w %%a /q







Поэтому поддержка обновлений в актуальном виде, для меня сводится только к копированию их в папку Updates - очень удобно! Изображение



----------------------------------------------------------------------------------------------------



Ну а вообще это всё уже "вода". По поводу вопроса этой темы - для меня уже понятно - наиболее оптимальный вариант, это интегрирование SetupComplete.cmd в образ.





Спасибо за консультации! Изображение
Аватара пользователя
Guru431

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Guru431 »

Цитата Vadikan:



А вы обновления или драйверы в него не интегрируете? Тоже ведь приходится изменять...



Драйверы интегрирую только в XP (с помощью пакета DriverPacks). Vista многое сама находит, а что не находит, то ставлю вручную.

А вообще жду, когда команда DriverPacks выпустит полноценную версию для MS Vista.



Обновления я вообще никогда не интегрирую. Они меняются (заменяются, добавляются) каждый месяц. Образы я поддерживаю в актуальном состоянии, поэтому интегрирование это не выход для меня. Обновления я ставлю вместе с программами, с батника, в котором нет привязки к именам файлов обновлений:

Для XP


читать дальше »



Цитата:



REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinVista

exit



:Win7

exit



:WinXP

for %%a in (*.exe) do start /w %%a /quiet /norestart







Для Vista


читать дальше »




!install.bat


Цитата:





REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinXP

exit



:Win7

exit



:WinVista

for %%a in (*.exe) do start /w %%a /quiet /norestart

for %%a in (*.msu) do start /w %%a /quiet /norestart

start /wait /d Ultimate install.bat

exit



install.bat (запускается из !install.bat)


Цитата:





REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",XP" | findstr /i XP > nul: 2>&1 && goto WinXP

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",Vista" | findstr /i Vista > nul: 2>&1 && goto WinVista

REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | findstr /i /v ",7" | findstr /i 7 > nul: 2>&1 && goto Win7



:WinXP

exit



:Win7

exit



:WinVista

set dir=%temp%\ult

md %dir%

For %%i In (*.cab) Do (expand %%i -f:* %dir% && pkgmgr /ip /m:%dir% /norestart && del /f /s /q %dir%)

rd /s /q %dir%

for %%a in (*.exe) do start /w %%a /q







Поэтому поддержка обновлений в актуальном виде, для меня сводится только к копированию их в папку Updates - очень удобно! Изображение



----------------------------------------------------------------------------------------------------



Ну а вообще это всё уже "вода". По поводу вопроса этой темы - для меня уже понятно - наиболее оптимальный вариант, это интегрирование SetupComplete.cmd в образ.





Спасибо за консультации! Изображение
Аватара пользователя
Vadikan

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Vadikan »

Скажите, а такой способ пройдет?



Код:

Код: Выделить всё

<settings pass="specialize">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Description>Install</Description> 
                    <Order>1</Order>
                    <Path>cmd /c "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:\install\myfile.cmd start /wait %%d:\install\myfile.cmd"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
  </settings>

Мои ожидания: в какой-то момент, во время установки, запустится myfile.cmd из Autounattend.xml, добавит ключи RunOnceEx в реестр, произойдет перезагрузка и при первом входе в сеанс начнется установка приложений.



Я прав?
Аватара пользователя
Guru431

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Guru431 »

Скажите, а такой способ пройдет?



Код:

Код: Выделить всё

<settings pass="specialize">
    <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Description>Install</Description> 
                    <Order>1</Order>
                    <Path>cmd /c "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:\install\myfile.cmd start /wait %%d:\install\myfile.cmd"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
  </settings>

Мои ожидания: в какой-то момент, во время установки, запустится myfile.cmd из Autounattend.xml, добавит ключи RunOnceEx в реестр, произойдет перезагрузка и при первом входе в сеанс начнется установка приложений.



Я прав?
Аватара пользователя
Vadikan

Re: Общее - [решено] Ищу простой способ установки приложений

Сообщение Vadikan »

Цитата Guru431:



Почему мне не подходят имеющиеся варианты:

Вариант 1 - SetupComplete.cmd через $OEM$

Наиболее красивый вариант как раз то, что надо, но... Но при этом во время установки копируется весь дистрибутив - у меня это 4,5 Гб. Это потеря времени и места, и всё из-за одного батника.
Общее - [решено] Ищу простой способ установки приложений




Есть недокументированая возможность.



Поместите папку $OEM$ не в корень диска, а в \sources\.



Общее - [решено] Интеграция OEM сертификата в дистрибутив windows




Это срабатывает даже без файла ответов.
Ответить

Вернуться в «Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista»