Скрипт для автоматизированной установки ACAD/Revit и т.д.
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Скрипт для автоматизированной установки ACAD/Revit и т.д.

Скрипт для автоматизированной установки ACAD/Revit и т.д.

Ответ
Поиск в этой теме
Непрочитано 14.06.2009, 22:13 #1
Скрипт для автоматизированной установки ACAD/Revit и т.д.
cad_trainer
 
Обучение, внедрение, сопровождение САПР (Autodesk)
 
Москва
Регистрация: 18.06.2008
Сообщений: 18

Доброго времени суток, Уважаемые!

Вот озаботился я автоматизированной установкой продуктов Autodesk, в частности нужно накатить Revit Structure\ACAD\Revit Arch на парк в n машин. Причем n такое, что проще потратить пару дней на скрипт чем делать руками, ну и плюс требование начальства. Групповые политики хорошо и вроде просто, но плохо что я не могу менять настройки установщикачерез использование например другого ini файла. Ну да суть не в этом, остановились на скрипте.
Вопрос вот в чем, Shell.run не держит паузу на скрипте (точнее держит некоторое время, секунд 10), до окончания первого setup'а, и запускается второй setup, который для REVIT'а. Ессно второй setup не запускается и выдает ошибку.
Вот пример, простейший.

Код:
[Выделить все]
dim shell

Set shell = CreateObject("WScript.Shell")

shell.run "D:\Autodesk\ACAD2009RUS_RS\AdminImage\setup.exe /I D:\Autodesk\ACAD2009RUS_RS\AdminImage\ACAD2009RUS_RS.ini",1,true

shell.run "D:\Autodesk\RevitStructure2009RUS\AdminImage\Setup.exe /I D:\Autodesk\RevitStructure2009RUS\AdminImage\RevitStructure2009RUS.ini",1,true

Wscript.quit()
Причем Shell.run с параметром True должен держать паузу до окончания процесса! Промониторил через ProcessViewer, стало понятно, этот гадский Setup запускает вторичный процесс, причем из временной папки в Temp. Вполне в стиле Autodesk.
Попробовал через shell.exec. через свойство status. То же самое, через несколько секунд status ставится в 1 (завершено), то есть обработчик не поставишь. Можно еще этот процесс поймать через PID, но он все время разный...
Вопрос, как все таки с этим справиться?
==================
P.S. На самом деле я обошел эту проблему, написал обработчик процесса setup из Диспетчера задач, через WMI. Вот код:

Код:
[Выделить все]
dim shell
dim WMI, Colprocesses
dim SetupCount

on error resume next
Set shell = CreateObject("WScript.Shell")
Set ACADSetupExec = Shell.Exec("D:\Autodesk\ACAD2009RUS_RS\AdminImage\setup.exe /I D:\Autodesk\ACAD2009RUS_RS\AdminImage\ACAD2009RUS_RS.ini")

set WMI=GetObject("winMgmts:")
Set colProcesses = WMI.ExecQuery("Select * from Win32_Process Where Name = 'setup.exe'")
SetupCount = colProcesses.Count

while SetupCount >= 1
  WScript.Sleep 5000
  Set colProcesses = WMI.ExecQuery("Select * from Win32_Process Where Name = 'setup.exe'")
  SetupCount = colProcesses.Count
wend
  
'MsgBox "col - " & colProcesses.Count
WScript.Sleep 5000

Set WMI=nothing
set WMI=GetObject("winMgmts:")
Set RSTSetupExec = Shell.Exec("D:\Autodesk\RevitStructure2009RUS\AdminImage\Setup.exe /I D:\Autodesk\RevitStructure2009RUS\AdminImage\RevitStructure2009RUS.ini")

Set colProcesses = WMI.ExecQuery("Select * from Win32_Process Where Name = 'setup.exe'")
SetupCount = colProcesses.Count

while SetupCount >= 1
  WScript.Sleep 5000
  Set colProcesses = WMI.ExecQuery("Select * from Win32_Process Where Name = 'setup.exe'")
  SetupCount = colProcesses.Count
wend

WScript.Sleep 5000
msgbox "Установка завершена!"&Chr(13)&"Проверьте наличие установленных программ на ПК"
 
Wscript.quit()
Код корявый, извините, я не программист, так, нахватался. Но вопрос все равно остается, как все таки правильно то?

Последний раз редактировалось cad_trainer, 14.06.2009 в 22:25. Причина: Вариант скрипта
Просмотров: 3806
 
Непрочитано 14.06.2009, 22:19
#2
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,258
<phrase 1=


http://forum.dwg.ru/showthread.php?p=410206 ты определись
Солидворкер вне форума  
 
Автор темы   Непрочитано 14.06.2009, 22:28
#3
cad_trainer

Обучение, внедрение, сопровождение САПР (Autodesk)
 
Регистрация: 18.06.2008
Москва
Сообщений: 18
<phrase 1=


Да это все часть одной задачи
cad_trainer вне форума  
 
Непрочитано 14.06.2009, 22:30
#4
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,258
<phrase 1=


тогда перетаскивай все сюда, а вторую тему я удаляю
Солидворкер вне форума  
 
Автор темы   Непрочитано 14.06.2009, 22:33
#5
cad_trainer

Обучение, внедрение, сопровождение САПР (Autodesk)
 
Регистрация: 18.06.2008
Москва
Сообщений: 18
<phrase 1=


ОК. Еще в этой же теме вопрос по AutoCAD Structure Detailing
===============================
Вопрос собственно простой, никто не пытался ставить сабж скриптом, либо через GPO либо еще как то? Ну то есть чтобы не руками.
Написал скрипт для автоматизированной установки Revit Structure и ACAD, который из под Revit Structure, а вот эта штука не поддается... Очень не хочется 50 раз жать кнопки .
В принципе я понял, что официально Autodesk не дает возможности делать образ для развертывания detailing, но может кто смог перехитрить их...
================================
cad_trainer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Скрипт для автоматизированной установки ACAD/Revit и т.д.

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу пример расчета инсоляции FINE Поиск литературы, чертежей, моделей и прочих материалов 266 25.10.2017 18:54
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Мониторы LCD CRT Разное 94 17.06.2008 10:51
БРЕД СИВОЙ КОБЫЛЫ Kryaker Разное 1876 29.12.2006 23:41