Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Тихая установка Promt8 (http://forum.oszone.net/showthread.php?t=93565)

DImaN! 06-11-2007 09:02 673397

Тихая установка Promt8
 
Помогите с тихой установкой Promt8, заранее благодарен
P.S. На форуме есть данные по тихой установке Promt XT и Promt7 - они не подходят...

KillHunter 06-11-2007 12:22 673526

Цитата:

Цитата DImaN!
Помогите с тихой установкой Promt8, заранее благодарен
P.S. На форуме есть данные по тихой установке Promt XT и Promt7 - они не подходят... »

setup.exe /s /v"/qn REBOOT=ReallySuppress"
У меня по крайней мере так ставится.....

Strategos 06-11-2007 17:56 673720

А со словарями и созданием аддона или административной точки как всегда косяк... :(

DImaN! 07-11-2007 09:32 674017

KillHunter, у меня с Вашим ключем программа не хочет устанавливаться...

KillHunter 07-11-2007 10:34 674042

DImaN! А у Вас стоит .NET Framework???

DImaN! 07-11-2007 10:40 674045

стоят и .NET Framework 2 и .NET Framework 3, а также установлен VSTO 2005 SE

KillHunter 07-11-2007 13:57 674170

Ну не знаю... У меня всё ставится....причём на разных машинах.....
P.S. у меня стоит Promt 8.0 Gigant

NikLok 07-11-2007 14:04 674173

Вот может кому пригодится скриптик для Expert - для остальных версий адаптируете сами ( нет дистрибутов их )
Код:

#cs
----------------------
Приложение: PROMT
На какой(их) версии(ях) тестировалось: Expert 8 Giant

Автор скрипта: NikLok (http://forum.oszone.net/member.php?u=15218)
----------------------
#ce
;#NoTrayIcon
AutoItSetOption ( "TrayIconDebug", 1 )
;AutoItSetOption("TrayIconHide", 1)
;BlockInput(1)

$key1="********"  ;Ключ установки Промт
$key2="*******************" ;Ключ установки словарей

Opt("MouseCoordMode",0)

$p = "\Distrib\Office\PROMT8_Expert\"
$n = "PROMT Expert 8 Giant.msi"
$t = ""
If FileExists( $n ) Then
  $t = ""
Else
        $var = DriveGetDrive( "all" )
        If NOT @error Then
                For $i = 1 to $var[0]
                        $star = DriveStatus( $var[$i] & "\" )
                        If $star == "READY" Then
                                If FileExists($var[$i] & $p & $n) Then
                                        $t = $var[$i] & $p
                                        ExitLoop
                                EndIf
                        EndIf
                Next
        EndIf
EndIf

If $t <> "" OR FileExists( $n ) Then
        Run($t & "SETUP.EXE",$t        )

        WinWait("InstallShield Wizard","Перед установкой PRO")
        If Not WinActive("InstallShield Wizard","Перед установкой PRO") Then WinActivate("InstallShield Wizard","Перед установкой PRO")
        WinWaitActive("InstallShield Wizard","Перед установкой PRO")
        ControlClick("InstallShield Wizard","Перед установкой PRO","Button1")

        $title="PROMT Expert 8 Giant  - InstallShield Wizard"
        WinWait($title,"Программа InstallShi")
        If Not WinActive($title,"Программа InstallShi") Then WinActivate($title,"Программа InstallShi")
        WinWaitActive($title,"Программа InstallShi")
        ControlClick($title,"Программа InstallShi","Button1")

        WinWait($title,"Я не п&ринимаю услов")
        If Not WinActive($title,"Я не п&ринимаю услов") Then WinActivate($title,"Я не п&ринимаю услов")
        WinWaitActive($title,"Я не п&ринимаю услов")
        ControlClick($title,"Я не п&ринимаю услов","Button3")
        Sleep(30)
        ControlClick($title,"Я не п&ринимаю услов","Button5")

        WinWait($title,"Сведения о пользоват")
        If Not WinActive($title,"Сведения о пользоват") Then WinActivate($title,"Сведения о пользоват")
        WinWaitActive($title,"Сведения о пользоват")
        ControlClick($title,"Сведения о пользоват","Button5")

        WinWait($title,"Папка назначения")
        If Not WinActive($title,"Папка назначения") Then WinActivate($title,"Папка назначения")
        WinWaitActive($title,"Папка назначения")
        ControlClick($title,"Папка назначения","Button3")

        WinWait($title,"Изменение текущей папки назначения")
        If Not WinActive($title,"Изменение текущей папки назначения") Then WinActivate($title,"Изменение текущей папки назначения")
        WinWaitActive($title,"Изменение текущей папки назначения")
        $InstPath = ControlGetText($title,"Изменение текущей папки назначения","RichEdit20W1")
        ControlClick($title,"Изменение текущей папки назначения","Button1")

        WinWait($title,"Папка назначения")
        If Not WinActive($title,"Папка назначения") Then WinActivate($title,"Папка назначения")
        WinWaitActive($title,"Папка назначения")
        ControlClick($title,"Папка назначения","Button1")

        WinWait($title,"Вид установки")
        If Not WinActive($title,"Вид установки") Then WinActivate($title,"Вид установки")
        WinWaitActive($title,"Вид установки")
        ControlClick($title,"Вид установки","Button3")
        Sleep(30)
        ControlClick($title,"Вид установки","Button5")

        WinWait($title,"Выборочная установка")
        If Not WinActive($title,"Выборочная установка") Then WinActivate($title,"Выборочная установка")
        WinWaitActive($title,"Выборочная установка")
        Send("{DOWN 20}{NUMPADADD}{DOWN 2}")
        For $i=1 To 8 Step 1
                Send("{DOWN}{ALTDOWN}{DOWN}{ALTUP}{UP}{ENTER}")
        Next
        ControlClick($title,"Выборочная установка","Button5")

        WinWait($title,'Нажмите кнопку "Установить"')
        If Not WinActive($title,'Нажмите кнопку "Установить"') Then WinActivate($title,'Нажмите кнопку "Установить"')
        WinWaitActive($title,'Нажмите кнопку "Установить"')
        ControlClick($title,'Нажмите кнопку "Установить"',"Button1")

        WinWait($title,"Программа InstallShi")
        If Not WinActive($title,"Программа InstallShi") Then WinActivate($title,"Программа InstallShi")
        WinWaitActive($title,"Программа InstallShi")
        ControlClick($title,"Программа InstallShi","Button1")

        WinWait("PROMT Extensions Manager","&Применить")
        If Not WinActive("PROMT Extensions Manager","&Применить") Then WinActivate("PROMT Extensions Manager","&Применить")
        WinWaitActive("PROMT Extensions Manager","&Применить")
        ControlClick("PROMT Extensions Manager","&Применить","SysTreeView321")
        ControlClick("PROMT Extensions Manager","&Применить","Button1")
        ;Send("{CTRLDOWN}{ALTDOWN}{CTRLUP}{ALTUP}")

        If WinWait("PROMT Extensions Manager","Перезапустите прилож",60) Then
                If Not WinActive("PROMT Extensions Manager","Перезапустите прилож") Then WinActivate("PROMT Extensions Manager","Перезапустите прилож")
                WinWaitActive("PROMT Extensions Manager","Перезапустите прилож")
                ControlClick("PROMT Extensions Manager","Перезапустите прилож","Button1")
        EndIf

        FileCopy($t & "\crack\PrmtPro.dat",@AppDataCommonDir & "\PRMT\8.0\Protect\",1)
        FileCopy($t & "\crack\StlVer.dat",@AppDataCommonDir & "\PRMT\8.0\Protect\",1)

        Run($t & "crack\Reg_&_Activate_PROMT_Expert_8_Giant.exe")
        WinWait("Регистрация и активация PROMT Expert 8 Giant","Процесс регистрации и активации")
        If Not WinActive("Регистрация и активация PROMT Expert 8 Giant","Процесс регистрации и активации") Then WinActivate("Регистрация и активация PROMT Expert 8 Giant","Процесс регистрации и активации")
        WinWaitActive("Регистрация и активация PROMT Expert 8 Giant","Процесс регистрации и активации")
        ControlClick("Регистрация и активация PROMT Expert 8 Giant","Процесс регистрации и активации","Button2")
       
        Run($t & "130_spec_vocs_for_PROMT_8.exe")
        WinWait("Установка 130 специализированных словарей","Процесс установки")
        If Not WinActive("Установка 130 специализированных словарей","Процесс установки") Then WinActivate("Установка 130 специализированных словарей","Процесс установки")
        WinWaitActive("Установка 130 специализированных словарей","Процесс установки")
        ControlClick("Установка 130 специализированных словарей","Процесс установки","Button2")
       
        $file = FileOpen(@ProgramFilesDir & "\software_install.log",1)
        ; Check if file opened for writing OK
        If $file = -1 Then
                MsgBox(0, "Error", "Unable to open " & @ProgramFilesDir & "\software_install.log file.")
                Exit
        Else
;            FileWriteLine($file,"        Install pathh" & $InstPath)
                FileWriteLine($file,"Promt 8: - OK        Install path=" & $InstPath)
;            FileWriteLine($file,"        Serial Number=" & $InstPath)
;            FileWriteLine($file,"        Access code  =" & $InstPath)
;            FileWriteLine($file,"        Install pathh" & $InstPath)
                FileClose($file)
        EndIf
Else
        ;MsgBox(0,"Attention","I can't find " & $p,600)
        $file = FileOpen(@ProgramFilesDir & "\software_install.log",1)
        ; Check if file opened for writing OK
        If $file = -1 Then
                MsgBox(0, "Error", "Unable to open " & @ProgramFilesDir & "\software_install.log file.")
                Exit
        Else
                FileWriteLine($file,_NowTime() & " Promt 8: - I can't find " & $n)
                FileClose($file)
        EndIf
EndIf
Exit


DImaN! 07-11-2007 14:45 674201

KillHunter , такой вопрос тогда, ключ, который Вы мне дали должен быть такой:
REG ADD %KEY%\%i% /VE /D "Promt8" /f
REG ADD %KEY%\%i% /V 1 /D "%systemdrive%\Install\Promt8\setup.exe /s /v"/qn REBOOT=ReallySuppress"" /f
SET /A i+=1
???

DmB89 02-07-2008 17:53 840606

Способ создания тихой установки PROMT Expert 8 Giant , предназначенный для установки на систему с установленным .NET Framework, и обновлением KB893803 (установщик Windows 3.1).

1. Скачиваем PROMT8_Expert_Rus_ERE_FRF_GRG_SRS_IR.exe
2. Распаковываем содержимое этого файла в отдельную папку.
3. Удаляем лишние файлы. WindowsInstaller-KB893803-x86.exe, dotnetfx.exe, dotnetfx20.exe, а также в папке ISSetupPrerequisites удаляем папку Microsoft .NET Framework 3.0.
4. В файле setup.ini удаляем отмеченное красным:
Код:

[Setup.bmp]
Type=0
[dotnetfx.exe]
Type=0
Location=dotnetfx.exe
[WindowsInstaller-KB893803-x86.exe]
Type=0
Location=WindowsInstaller-KB893803-x86.exe

[ISSetupPrerequisites]
PreReq0=Microsoft .NET Framework 3.0.prq
PreReq1=VSTO 2005 SE.prq

5. Создаём SFX RAR архив со следующим комментарием:
Код:

Setup=setup.exe /s /v"/qn REBOOT=ReallySuppress"
TempMode
Silent=1
Overwrite=1

Тихая инсталляшка готова! Осталось только активировать. Для этого нужны два файла: PrmtPro.dat и StlVer.dat, которые берём с установленного и активированного продукта в папке
Код:

C:\Documents and Settings\All Users\Application Data\PRMT\8.0\PROTECT
Также запаковываем их в SFX RAR архив с комментарием:
Код:

Path=%ALLUSERSPROFILE%\Application Data\PRMT\8.0\PROTECT
SavePath
Silent=1
Overwrite=1

Остаётся добавить, что можно объединить эти два архива, и запускать установку и активацию последовательно с помощью .bat или .cmd файла. Размер получаемого инсталляционного файла около 210 МБ, то есть выигрыш составляет почти 100 МБ, что на мой взгляд - неплохо.

NeSkoda 03-07-2008 02:45 841037

DmB89, жаль, на последний UpdatePack-XPSP3-Rus тихо не становится, наверно из-за отсутствия в нём KB893803. А вот на Vista стало прекрасно.

DmB89 04-07-2008 00:48 841828

NeSkoda, SP3 у меня пока только на виртуалке, но специально проверил - всё ставится и работает! Установщик Windows 3.1 там стоит, так что причина в другом.
А вот насчёт Vista хочу дополнить - активационные файлы там размещаются несколько в другом месте. Если в Windows XP это
Код:

C:\Documents and Settings\All Users\Application Data\PRMT\8.0\PROTECT
или в относительных путях
Код:

%ALLUSERSPROFILE%\Application Data\PRMT\8.0\PROTECT
То в Windows Vista путь такой:
Код:

C:\ProgramData\PRMT\8.0\PROTECT
или в относительных путях
Код:

%ALLUSERSPROFILE%\PRMT\8.0\PROTECT

gora 05-07-2008 11:49 842854

Цитата:

Цитата DmB89
специально проверил - всё ставится и работает! »

То что ставится и работает, подтверждаю, но вот абсолютно "тихой" установки не получается. При установке мелькает консольное окно с текстом
Цитата:

Microsoft (R) .NET Framework CasPol 1.1.4322.573
(C) Корпорация Майкрософт, 1998-2002. Все права защищены.
К уровню Machine добавлена группа кода объединения с условием членства "-url".
Успешно
и еще один системный диалог (не успеваю прочитать что в нем).

katok888 04-11-2008 13:17 942628

Цитата:

Цитата gora
При установке мелькает консольное окно с текстом »

То же самое, только запаковал в 7zSFX.

challenger80 10-11-2008 14:15 948571

А кто-нибудь подскажет, как в 7zSFX засунуть словари?

Speznazovez 25-03-2010 09:33 1376659

А в винде 7 относительные пути такие же как и в висте?

И еще можно ли батником определить какая операционка, что бы инсталятор сам выбирал в какую папку забрасывать регистрацию?

jentoso 26-03-2010 19:26 1377988

Цитата:

Цитата Speznazovez
И еще можно ли батником определить какая операционка, что бы инсталятор сам выбирал в какую папку забрасывать регистрацию? »

Почитай здесь

Chopser 16-12-2011 21:31 1816561

Цитата:

Цитата DImaN!
стоят и .NET Framework 2 и .NET Framework 3, а также установлен VSTO 2005 SE »

Для 8-го Промта ничего этого не нужно, он прекрасно работает и без этого "добра". Просто это "добро" прописано в файле setup.ini - просто удали из этого файла строки содержащие "dotnet" или запускай установку файлом - PROMT xxx.msi


Время: 21:11.

Время: 21:11.
© OSzone.net 2001-