Показать полную графическую версию : [статья] SetupComplete.cmd
Чтобы запускать CMD с полными правами, нужно использовать пункт "Запуск от имени администратора" в контекстном меню. »
Я знаю.
У VBS такого пункта нет, но если вы запускаете его из полноправного CMD или из командной строки, запущенной с полными правами, это не важно. См. также Так ли страшен контроль учетных записей? »
И это тоже всё мне известно.
Здесь нет телепатов, которые могли бы понять, как вы устанавливаете то, что не устанавливается. Об этом я вам говорил, но вы принципиально не хотите опубликовать свой скрипт. »
Вы точно также принципиально не хотите читать то, что я вам написал. Даже на этой странице. Цитирую себя же:У меня нет абсолютно никаких проблем с cmdlines.vbs, к тому же я его приводил раньше (фрагмент). #151, если не ошибаюсь. »
Хорошо, если вам надо, чтобы всё было на одной странице ещё раз опубликую "весь" скрипт
Но даже если телепаты будут, им вряд ли станет понятно, зачем вызывать VBS из CMD, чтобы установить FAR. »
Я рад, что телепаты всё-таки есть ;). Где-то. Что до FAR'а - не в нём суть. Это лишь пример, один из многих. Есть наработанная технология для установки приложений из .vbs-скрипта, которой уже пользуюсь более 10 лет (ещё со времён 2000-й). И я не вижу совершенно никаких причин, почему бы этим не воспользоваться и сейчас.
Тем более, что Создание переменной среды, соответствующей букве установочного диска (http://www.oszone.net/8602) не выносит никакой критики - только M$ способна на такое. От .xml назад к бат-никам - офигеть, какое достижение!
Ладно, вот скрипт. Ещё раз. Целиком. ;)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
Dim dc, d
Set dc = fso.Drives
Dim LCDROM
LCDROM = ""
For Each d in dc
If d.DriveType = 4 Then
If d.IsReady Then
If fso.FileExists(d.DriveLetter & ":\sources\install.wim") Then
LCDROM = d.DriveLetter
Exit For
End If
End If
End If
Next
If LCDROM="" Then
d=MsgBox("Не обнаружен CDROM", VbExclamation, "OPT_1")
Else
WshShell.Run "%windir%\regedit.exe /s " & LCDROM & ":\DISTR\hklm.reg", 2, true
WshShell.Run """powercfg.exe"" -change -monitor-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -disk-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -hibernate-timeout-ac 0", 2, true
WshShell.Run """powercfg.exe"" -change -standby-timeout-ac 0", 2, true
'1. Install FAR File Manager x64
WshShell.Run """" & LCDROM & ":\DISTR\FAR\Far20b1807.x64.20110203.msi"" /Q", 2, true
'1. Install FAR File Manager x64
'2. WinRAR 4.10 Rus x64
WshShell.Run """" & LCDROM & ":\DISTR\Soft\winrar-x64-410ru.exe"" -s", 2, true
'2. WinRAR 4.10 Rus x64
'3. Install W7 Classic Menu
WshShell.Run """" & LCDROM & ":\DISTR\Soft\W7 Classic Menu\ClassicShellSetup_3_3_0.exe"" /Q", 2, true
'3. Install W7 Classic Menu
End If
Да, случай не тот. Но я рассчитывал, что вы сообразите, что показана концепция, и точно так же можно запустить командную строку от имени системы, чтобы потом выполнить в ней cscript script.vbs »
Этого я не сообразил. Но сообразил запустить от имени Администратора - всё установилось. Значит, и от имени системы всё должно установиться! Или же нет?
Или же script.vbs, запускаемый из бат-ника, выполняющегося от имени системы, уже выполняется не от имени Системы ?
Leon_K, я не знаю, что вы знаете. Но я вижу, что вы пытаетесь установить программы с обычными правами Запускаю скрипт (двойной клик мышкой по значку) »
Для меня это означает, что вы не знаете одного из двух:
1. Как запустить скрипт с полными правами
2. Для установки программ нужны права администратора.
Хорошо, если вам надо, чтобы всё было на одной странице ещё раз опубликую "весь" скрипт »
Это уже второе одолжение, которое вы мне делаете. Но мне они не нужны, ибо проблема у вас, а не у меня.
Точнее проблем у вас две:
1. Неправильно поставлена задача (http://www.outsidethebox.ms/13148/#_Toc314611149)
Вы решаете задачу перрректально, внося в тестируемую среду дополнительные переменные.
Ваша задача в том, чтобы установить ПО вместе с системой, а не установить его VBS-скриптом. Вы избрали setupcomplete - замечательно. Но зачем вы из него запускаете vbscript с командами, которые прекрасно запускаются из CMD?
Видимо, потому, что вам лень менять наработанный скрипт даже в ситуации, когда диагностика просто необходима.
Я не знаю, будет ли нормально работать ваша последовательность установки приложений, потому что я не скриптовик. В CMD я бы использовал start /wait и не морочил бы себе голову.
Поэтому я и отправил вас в форум скриптов, но вы это проигнорировали, равно как и первые два толстых намека на необходимость предоставить свой несчастный скрипт.
2. Недостаточно информации для первоначальной диагностики проблемы (http://www.outsidethebox.ms/13148/#_Toc314611151)
Причем вы не желаете давать информацию. Только с третьего пинка вы соизволили выдать скрипт, нехотя. И вы думаете, что все побегут вам навстречу с распростертыми объятиями после этого?
Kстати, видя ваш скрипт, я обнаруживаю, что FAR устанавливается из MSI пакета. Это открывает вам огромные возможности для диагностики, но только запускать нужно не так, как делаете вы. А так:
Start /Wait msiexec.exe /I <path>\package.msi /L* C:\temp\mylog.txt
Далее я отвечу лишь на тот вопрос, который был порожден предложенным мною способом диагностики, а именно - запустить VBS от имени системы и смотреть, что не работает.
Значит, и от имени системы всё должно установиться! Или же нет? »
Проверьте указанным методом и узнаете.
Или же script.vbs, запускаемый из бат-ника, выполняющегося от имени системы, уже выполняется не от имени Системы ? »
От имени системы.
Желаю удачи!
Но я вижу, что вы пытаетесь установить программы с обычными правами »
Я - да. Но из под SetupComplete.cmd программы то устанавливаются с привелегиями Системы!
Это уже второе одолжение, которое вы мне делаете. Но мне они не нужны, ибо проблема у вас, а не у меня. »
Я не одолжение делаю, а лишь указываю, что уже давал ответ на поставленный вопрос. Дважды давал. Только и всего. Вы же уводите куда-то в сторону...
Вы решаете задачу перрректально, внося в тестируемую среду дополнительные переменные. »
Очень умная фраза, не отражающая тем не менее, ситуации. Говорит лишь о том, что мы говорим на разных языках ;).
Ваша задача в том, чтобы установить ПО вместе с системой, а не установить его VBS-скриптом. »
А откуда вы знаете, какая моя задача? Вы телепат? А говорили...
Вы избрали setupcomplete - замечательно. Но зачем вы из него запускаете vbscript с командами, которые прекрасно запускаются из CMD? »
А что, из SetupComplete.cmd нельзя устанавливать Софт ? Об этом где-то сказано? Наоборот, насколько я читал, рекомендуется - запуск "от Системы" и всё прочее.
Далее. Я вам уже объяснял, для чего запускаю скрипт из SetupComplete.cmd. Дважды. Ещё раз повторю:
Цитата Vadikan:
Он просто указал путь к нему синхронной командой. См. Создание переменной среды, соответствующей букве установочного диска »
Это я читал. Но дело в том, что в моём случае мне не нужно создавать переменные среды (к тому же, по-моему, весьма "кривоватеньким" методом): я использую SetupComplete только для того, чтобы запустить Complete.vbs, а уже Complete.vbs "сам определяет" местонахождение установочных файлов. Чтобы не говорить многословно, приведу пример (фрагмент) Complete.vbs: »
Это было, если ошибаюсь, три страницы назад. Далее.
Причем вы не желаете давать информацию. »
Иформация была дана сразу же, том же посту. Три странички назад.
Только с третьего пинка вы соизволили выдать скрипт, нехотя. И вы думаете, что все побегут вам навстречу с распростертыми объятиями после этого? »
Скрипт был дан там же. Сразу же. Насчёт "распростёртых объятий" - это явно лишнее.
Поэтому я отвечу лишь на тот вопрос, который был порожден предложенным мною способом диагностики, а именно - запустить VBS от имени системы и смотреть, что не работает. »
Спасибо. Серьёзно. Попробую, потом обязательно отпишусь.
Скрипт был дан там же. Сразу же »
Не надо втирать очки никому. Вы ни разу не предоставили скрипт целиком до сообщения 178. В 151 (http://forum.oszone.net/post-1844018-151.html) нет ни намека на установку программ!
Очень умная фраза, не отражающая тем не менее, ситуации. Говорит лишь о том, что мы говорим на разных языках . »
Нет, она говорит о том, что вы не понимаете:
1. Как проще всего установить программы.
2. Как диагностировать проблему путем устранения любых факторов, которые могут влиять на нее.
Остальной пост состоит из моих цитат, вашего бла-бла и выпадов в сторону Microsoft, которая вообще не рекомендовала нигде создание переменной DiskRoot. Это обходной метод для школьников, делающих свои сборки с софтом. А взрослые дяденьки используют централизованные средства развертывания ПО.
Если еще есть что-то написать по делу - пишите. Но дальше вам помогать будет уже кто-то другой.
Не надо втирать очки никому. Вы ни разу не предоставили скрипт целиком до сообщения 178. В 151 нет ни намека на установку программ! »
Спокойнее, товарищ, спокойнее. Для меня (думал, и остальным это понятно) фрагмента из скрипта вполне достаточно, чтобы понять, как там происходит установка программ. Конкретно, вот это:
'Запускаем установку приложений
WshShell.Run "%windir%\regedit.exe -s " & LCDROM & ":\$oem$\$$\Script\nastr.reg", 2, true »
По мне, этого вполне достаточно в качестве примера. Возможно, конечно лучше было, если бы была приведена строчка типа WshShell.Run """" & LCDROM & ":\DISTR\FAR\Far20b1807.x64.20110203.msi"" /Q", 2, true Но это не существенно. Извините, если для кого-то это непонятно.
Если еще есть что-то написать по делу - пишите. Но дальше вам помогать будет уже кто-то другой. »
Напишу и дальше. Для других. Как я писал ранее, скрипт без проблем запускается (и отрабатывает) под учётной записью администратора. Проверил я запуск скрипта и от имени системы (использовал PsExec) - всё работает.
Моей ошибкой было, что я считал, что .vbs-скрипт, запущенный "из под" SetupComplete.cmd будет тоже выполняться от имени системы. Это не так. Но способ обойти это есть.
vitalik9
06-02-2012, 10:09
Vadikan, у меня такой вопрос как в setupcomplete прописать чтоб при установке 32 битной системы запускался твик реестра для 32 битной системы а для 64 битной системы запускался твик реестра для 64 битной системы хотелось бы прописать твик реестра для полноценного значка ie9 а он есть для 32 битных и для 64 битных систем
Devils0411
06-02-2012, 10:25
vitalik9, Допишите такие строчки:
if exist "%ProgramFiles(x86)%" (set bit=x64) else (set bit=x86)
REGEDIT /S C:\Tweaks_%bit%.reg
Соответственно на диске C, должно быть два файла Tweaks_x86.reg, Tweaks_64.reg.
vitalik9
06-02-2012, 12:50
Devils0411, скажите пожалуйста куда положить файлы в $OEM$ чтобы после установки дистрибутива файлы находились на диске C. не отрабатывает твик
Devils0411
06-02-2012, 13:49
vitalik9, $OEM$\$1 Тогда файл Tweaks_%bit%.reg с копируется на диск C.
Ваш предыдущий пост - не по адресу! Вам сюда (http://forum.oszone.net/thread-89175.html)
Xaser_VI
20-03-2012, 11:58
Всем доброго времени суток! Перейду сразу к проблеме.
Суть в том, что купил лицензионные ключи на следующие продукты : Ashampoo Burning Studio 11, Reg Organizer.
Создал виртуальную машину(Oracle VM VirtualBox) , установил Windows 7 x64 , в режиме аудита поставил нужный мне софт и Ashampoo Burning Studio 11, Reg Organizer, и решил сделать образ через sysprep.exe, создал образ , но при следующем его развертывание на ПК данные продукты ( Ashampoo Burning Studio 11, Reg Organizer) оказались не активированными , хотя в режиме аудита я активировал их ключем. После нашел в реестре строку которая отвечает за данную активацию, вытащил ее из реестра ( на скринах пометил , что вытаскивал) и решил вставить эти reg файлы в SetupComplete.cmd, но при установки остальные программы из списка SetupComplete.cmd срабатывают т.е устанавливаются, а данные reg файлы не как не применяются в реестре , а попадают в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\. Читал похожую тему но я хочу сделать из SetupComplete.cmd их интеграцию , так же не срабатывают другие твики реестра скачанные с данного сайта, в ручном же режиме все работает , может кто нибудь мне скажет в чем проблема?
Скрины прилагаю.
Imperator Mad
24-03-2012, 15:44
А вы правильно reg-файлик создали? Создайте с помощью autoit сценарий установки Ashampoo Burning Studio 11 в нем пропишите весь период установки.потом сделайте reg файл с ключом, и cmd файлик в нем путь к reg файлу. и это все в один sfx архив в нем нужно будет сделать запуск проги и cmd файла
Xaser_VI
25-03-2012, 06:09
а есть инструкция или более простой способ
Xaser_VI
25-03-2012, 10:04
80 просмотром и один ответ
Lennyvets
25-03-2012, 21:11
Читал похожую тему но я хочу сделать из SetupComplete.cmd их интеграцию »
почитайте также про SetupComplete.cmd (http://forum.oszone.net/thread-128960.html).
Ваши твики для текущего пользователя, а в SetupComplete.cmd выполняются они от имени системной учетной записи LocalSystem
Попробуйте организовать импорт при входе пользователя, например через RunOnceEx (http://forum.oszone.net/thread-142476.html).
Boa Soft
25-03-2012, 22:03
Вообще, регистрация лежит
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ashampoo\Ashampoo Burning Studio 10\ash_inet
RegKey
Система 64 бит, 10 Ashampoo Burning Studio.
Для 11 - уточните.
Xaser_VI
26-03-2012, 05:31
истрация лежит »
почитайте также про SetupComplete.cmd.
Ваши твики для текущего пользователя, а в SetupComplete.cmd
Цитата:
выполняются они от имени системной учетной записи LocalSystem
Попробуйте организовать импорт при входе пользователя, например через RunOnceEx. »
Почитал и сделал как там написано , но все равно не работает.
И как заставить , что бы они выполнялись от имени текущего пользователя?
Делал так запаковывал винраром исоздавал sfx тот же в свою очередь распаковывая твики в C:\Windows\Setup начинает их запускать поочередно командой regedit /s C:\Windows\Setup\1.reg, всего в SFX архиве 8 твиков , 6 которых с данного форума и все равно не работают
Xaser_VI
26-03-2012, 05:48
Вообще, регистрация лежит
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ashampoo\Ashampoo Burning Studio 10\ash_inet
RegKey
Система 64 бит, 10 Ashampoo Burning Studio.
Для 11 - уточните. »
Для Ashampoo Burning Studio 11 все аналогично HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ashampoo\Ashampoo Burning Studio 11\ash_inet
RegKey
Система тоже x64 Windows 7
Xaser_VI
10-04-2012, 06:12
Что ни кто мне ответить не может ?
Всем доброго времини суток!
Можно запустить WPI с SetupComplete.cmd?
Доброго времени суток!
Подскажите, пожалуйста, ключи для автоматической установки обновлений с сайта Майкрософта в формате .msi (я нашел эти "...Windows6.1-KB917607-x86 /quiet /norestart"). Также нужны ключи для установки NET FW 4 с расширением .exe.
Определить тип инсталлятора и ключи под него оказалось для меня затруднительно... :)
P.S. Установка будет производиться через SetupComplete.cmd
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.