Войти

Показать полную графическую версию : Тихая установка 3DMark06


DaDe
08-03-2008, 23:25
Долго искал путь тихой установки 3DMark 2006, без использования AutoIT скриптов, но не нашел подходящего стабильного варианта. Если кто знает, напишите.
Поэтому по извращавшись с установкой 3DMark 2006 придумал извращенный метод, но работающий.
Вкратце:
До запуска установки запускается программа, которая устанавливает OpenAl библиотеки.
И в папке, куда устанавливается 3Dmark, создается файл с именем OpenALwEAX.exe и блокируется запись в этот файл.
Во время установки 3Dmark осуществляет копирование файлов, OpenALwEAX.exe заменить не сможет, поэтому то и не возникнет данного окошка.

В результате данного метода 3Dmark тихо устанавливается, но есть небольшие побочные явления:
1. Для данного метода нужен другой файл ответов. В связи с тем, что 3Dmark не смог скопировать OpenALwEAX.exe, он спросит, перезагрузить компьютер или нет после установки.
2. Запишет команду в реестр, в результате которой после перезагрузки переименует один файл в папке 3Dmark (но это совсем не критично).
Вроде и все, больше ничего побочного не нашел.

P.S. Если кому пригодится, то смогу выложить программку, которая все это делает (Если найдутся такие экспериментаторы).

KAPAKyPT
09-03-2008, 10:33
Я поступил проще. Но для 3DMark05. Думаю для 06 разница небольшая.
На рабочую машину установмл Марк, пропатчил (В том числе и сисинфо для новых АТИ), запаковал в sfx-архив.

Параметры архива:

Path=%systemdrive%\Test\3DMark05\
SavePath
Setup=regedit -s %systemdrive%\Test\3DMark05\reg.reg
Silent=1
Overwrite=1

Файл reg.reg

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\3DMark05]
"UninstallString"="%systemdrive%\\Test\\3DMark05\\uninst.bat"
"DisplayName"="3DMark05"
"DisplayIcon"="%systemdrive%\\Test\\3DMark05\\3DMark05.exe"
"DisplayVersion"="1.2.0"
"InstallLocation"="%systemdrive%\\Test\\3DMark05"
"Version"=dword:01020000
"MajorVersion"=dword:00000001
"MinorVersion"=dword:00000002

[HKEY_CURRENT_USER\Software\Futuremark]

[HKEY_CURRENT_USER\Software\Futuremark\3DMark05]

[HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark]

[HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark05]
"KeyCode"="*****-*****-*****-*****"

[HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark05\1.0.0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark05\1.2.0]

файл uninst.bat:

cmdow @ /HID
regedit -s uninstall.reg
RD /S /Q "%systemdrive%\3DMark05"

файл uninstall.reg:

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\3DMark05]

[-HKEY_CURRENT_USER\Software\Futuremark\3DMark05]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark05]

У меня все работает (пробовал на многих машинах).

Spirkaa
09-03-2008, 11:52
KAPAKyPT, на 06 версии такой способ тоже работает, никаких заморочек с батниками и скриптами

R@MZEZzz
09-03-2008, 15:49
Я в reg.reg еще такие строчки добавил, чтобы марк не раздражал подсказками.

[HKEY_CURRENT_USER\Software\Futuremark\3DMark05\Settings]
"NextTip"=dword:00000000
"DoNotShowTipOfTheDay"=dword:00000001


И в параметрах SFX прописал ярлык как "3dmark05.exe -nosysteminfo". Так он запускается гораздо быстрее, а systeminfo и в Everest'е посмотреть можно :)

unikum111
09-03-2008, 18:05
ИМХО, вместо SFX проще (хотя не для всех) воспользоваться инсталлятором, напеример INNO. Во-первых, более корректное удаление ключей реестра после деинсталляции, Во-вторых по размеру, как правило, сопоставимо с SFX (метод сжатия одинаковый - Lzma), В-третих, приятный графический интерфейс инсталлятора с возможностью выбора различных опций.

e_consul
11-05-2008, 21:05
Доброго времени суток.
Почитал все 3 темы, посвященные автоустановке 3DMark и везде ключ добавляется отдельным .reg файлом, хотя в файле setup.iss есть отдельная строчка для него. Она не работает? Есть ли способы поставить программу, чтобы ключ подхватился автоматически?
Я запускал уже и запакованный и распакованный вариант. Все замечательно устанавливается, но ключ потом все равно просит. :( Ставлю способом RunOnceEx.

Valek271183
18-01-2013, 20:46
Подскажите пожалуйста, есть ли у 3DMakr06 возможность запуска из командной строки

GM001
20-11-2013, 00:06
пример функции тихой установки марка 06, перед вызовом функции не забываем #RequireAdmin
серийник вводится в реестр, ненужные запросы при запуске выключаются
возможно будет запрос на установку DirectX 9, но у меня он ставится отдельно ранее

Func mark2006 ()
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark06", "KeyCode")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark06", "")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Futuremark\3DMark06", "KeyCode")
RegDelete("HKEY_CURRENT_USER\Software\Futuremark\3DMark06\")
Global $Title='3DMark06 - InstallShield Wizard', $serial='тут я думаю понятно....'
Run("3DMark06_v102_installer.exe ")
WinWait ( $Title, 'Welcome to the InstallShield Wizard for 3DMark06 (version 1.0.2)' )
WinActivate ( $Title, 'Welcome to the InstallShield Wizard for 3DMark06 (version 1.0.2)' )
Sleep (500)
Send ( '{ENTER}' )
WinWait ( $Title, 'License Agreement' )
WinActivate ( $Title, 'License Agreement' )
Sleep (500)
Send ("{UP}")
Sleep (500)
Send ( '{ENTER}' )
Sleep (500)
Send ( '{ENTER}' )
Sleep (500)
Send ( '{ENTER}' )
WinWait ( 'OpenAL Installer', 'Creative Labs' )
WinActivate ( 'OpenAL Installer', 'Creative Labs' )
ControlClick ('OpenAL Installer', "OK", "Button2") ; нажали ОК
Sleep (500)
WinWait ( 'OpenAL Installer Message', 'Installation complete' )
WinActivate ( 'OpenAL Installer Message', 'Installation complete' )
Sleep (500)
Send ( '{ENTER}' )
WinWait ( $Title, 'Futuremark Registration' )
WinActivate ( $Title, 'Futuremark Registration' )
Sleep (500)
Send ( '{TAB 3}' )
Sleep (500)
Send ( '{ENTER}' )
Sleep (500)
Send ( '{SPACE}' )
Sleep (500)
Send ( '{ENTER}' )

RegWrite("HKEY_CURRENT_USER\Software\Futuremark\3DMark06\Settings","DoNotShowTipOfTheDay","REG_DWORD","1")
If $bit_win7=32 Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Futuremark\3DMark06","KeyCode","REG_SZ",$serial)
Else
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Futuremark\3DMark06", "KeyCode", "REG_SZ", $serial)
EndIf

ProcessWaitClose ( "3DMark06_v102_installer.exe", 50 )
Return
EndFunc

$bit_win7 у меня равна 32 либо 64, вычисляется другой функцией




© OSzone.net 2001-2012