Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: [статья] SetupComplete.cmd
Показать сообщение отдельно

Пользователь


Сообщения: 73
Благодарности: 3

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
Чтобы запускать CMD с полными правами, нужно использовать пункт "Запуск от имени администратора" в контекстном меню. »
Я знаю.
Цитата Vadikan:
У VBS такого пункта нет, но если вы запускаете его из полноправного CMD или из командной строки, запущенной с полными правами, это не важно. См. также Так ли страшен контроль учетных записей? »
И это тоже всё мне известно.
Цитата Vadikan:
Здесь нет телепатов, которые могли бы понять, как вы устанавливаете то, что не устанавливается. Об этом я вам говорил, но вы принципиально не хотите опубликовать свой скрипт. »
Вы точно также принципиально не хотите читать то, что я вам написал. Даже на этой странице. Цитирую себя же:
Цитата Leon_K:
У меня нет абсолютно никаких проблем с cmdlines.vbs, к тому же я его приводил раньше (фрагмент). #151, если не ошибаюсь. »
Хорошо, если вам надо, чтобы всё было на одной странице ещё раз опубликую "весь" скрипт
Цитата Vadikan:
Но даже если телепаты будут, им вряд ли станет понятно, зачем вызывать VBS из CMD, чтобы установить FAR. »
Я рад, что телепаты всё-таки есть . Где-то. Что до FAR'а - не в нём суть. Это лишь пример, один из многих. Есть наработанная технология для установки приложений из .vbs-скрипта, которой уже пользуюсь более 10 лет (ещё со времён 2000-й). И я не вижу совершенно никаких причин, почему бы этим не воспользоваться и сейчас.
Тем более, что Создание переменной среды, соответствующей букве установочного диска не выносит никакой критики - только 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
Цитата Vadikan:
Да, случай не тот. Но я рассчитывал, что вы сообразите, что показана концепция, и точно так же можно запустить командную строку от имени системы, чтобы потом выполнить в ней cscript script.vbs »
Этого я не сообразил. Но сообразил запустить от имени Администратора - всё установилось. Значит, и от имени системы всё должно установиться! Или же нет?
Или же script.vbs, запускаемый из бат-ника, выполняющегося от имени системы, уже выполняется не от имени Системы ?

Отправлено: 15:11, 02-02-2012 | #181

Название темы: [статья] SetupComplete.cmd