Цитата 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, запускаемый из бат-ника, выполняющегося
от имени системы, уже выполняется
не от имени Системы ?