Войти

Показать полную графическую версию : MInstAll - Мастер автоустановки приложений


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Сrack
19-04-2014, 15:25
s600, Что вы имеете ввиду? Выполнение консольных команд непосредственно из оболочки, минуя bat-файлы?
Через консольные команды реализованы пункты "Перезагрузка" и "Выключение".
В поле "Путь к приложению" указывайте путь %WinDir%\system32\cmd.exe а в ключах запуска вашу команду, только есть один нюанс, перед вашей командой нужно указать стандартный ключ /с он как раз передает в cmd.exe вашу команду.

В вашем случае это будет выглядеть так:
http://jpegshare.net/images/22/23/22236cd40d55fecf13b58fecfec20262.png (http://jpegshare.net/)

При работе с реестром есть нюанс, т.к. оболочка 32-битная, на 64-битной ОС данные попадут в 32-битную часть реестра, некоторые системные настройки не будут работать из 32-битной ветки реестра. Для решения этой задачи, в программе реализован метод импорта их reg-файлов, при этом есть ключ /x64, который направляет информацию в 64-битную ветку реестра, на 32-битной ОС этот ключ не учитывается.

http://jpegshare.net/images/68/7f/687fa919184423f23d19cf98bdeca3c8.png (http://jpegshare.net/)

Если вы пытаетесь реализовать эти команды через bat-файл, то они не срабатывают, т.к. программа при запуске bat-файла назначает текущий каталог на папку в которой лежит bat-файл, и соответственно он не видит некоторые команды, т.к. они лежат в папке %WinDir%\system32.
В вашем случае, нужно добавить в bat-ник переход в %WinDir%\system32 перед вызовом команды reg или вызывать ее указав прямой путь так
%WinDir%\system32\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
Тут опять же информация попадет в 32-битную ветку реестра, для доступа к 64-битной ветке реестра, надо вызывать через Sysnative примерно так:
%WinDir%\Sysnative\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
Сам я в подобных ситуациях использую исключительно SFX-Macros вызывая cmd.exe так %WinDir%\system32\cmd.exe или имитируя 64-битный процесс так %WinDir%\Sysnative\cmd.exe.
В SFX-Macros реализована виртуализация 64-битной командной строки при вызове %WinDir%\Sysnative\cmd.exe в качестве текущего каталога назначается 64-битная system32 которую нельзя увидеть из 32-битного приложения.

s600
19-04-2014, 17:17
Спасибо большое помогло, а есть еще способы установки?
А то к почти каждой программе у меня идет файл install.cmd с настройками. Есть ли какой-нибуть ключ или способ, чтоб не изменять install.cmd? Пользовался GPInst теперь пытаюсь перейти MInstAll и сталкиваюсь с проблемами.

Сrack
19-04-2014, 19:32
а есть еще способы установки?
А то к почти каждой программе у меня идет файл install.cmd с настройками. Есть ли какой-нибуть ключ или способ, чтоб не изменять install.cmd? »
Только если так:
http://jpegshare.net/images/c8/d1/c8d104b588ae0c94f57b04a83f17dd73.png (http://jpegshare.net/)

В таком случае в качестве текущего каталога будет %WinDir%\system32 и команды на типа reg будут работать.
Но так не удобно, и не будет работать автоматическая проверка наличия дистрибутива и проверка правильности путей.

s600
20-04-2014, 06:05
Сrack, спасибо за примеры буду дальше разбираться и адаптировать свои причиндалы под MInstAll.

s600
20-04-2014, 21:36
Уважаемый Сrack, нельзя ли сделать по проще запуск консольных программ, это прям беда почти каждую приходится переписывать. GPInst таких проблем не было.

Сrack
20-04-2014, 21:46
s600, Пришлите пример bat-файла с командами которые не работают. На какой ОС возникают проблемы?

Сам я не использую bat-ники, т.к. с ними постоянно проблемы, здесь работаю, здесь не работаю. А если он не сработает, меня зарплаты лишат, поэтому я написал для себя SFX-Macros.
Сейчас проверил работу через bat-файл, на WinXPx86, Win7x64, Win8.1x86 команда reg отработала на всех нормально.

s600
21-04-2014, 04:59
К примеру на Win7x64 не срабатывает полностью Reboot.cmd содержанием:
@echo off
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "WinSat" /t REG_SZ /d "winsat dwm -xml results.xml" /f
shutdown /r /t 0 /f
пришлось переписать:
@echo off
SetLocal EnableExtensions DisableDelayedExpansion
if not defined ProgramW6432 (
%WinDir%\system32\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
%WinDir%\system32\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "WinSat" /t REG_SZ /d "winsat dwm -xml results.xml" /f
) else (
%WinDir%\Sysnative\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v "AUOptions" /t REG_DWORD /d "0x1" /f
%WinDir%\Sysnative\reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "WinSat" /t REG_SZ /d "winsat dwm -xml results.xml" /f
)
shutdown /r /t 0 /f
exit
Я многих фишек не знаю но мне удобней с ними работать.
До MInstAll использовал WPI 8 и GPInst.
Ваша программа оказалось удобней.

Сrack
21-04-2014, 15:15
s600, В вашем случае данные попадали в 32-битную часть реестра, что касается системных настроек (твиков) то да, надо это учитывать при написании bat-ников.
Нужно учитывать, что bat(cmd)-файлы запускает 32-битное приложение, соответственно для них значение переменной %ProgramFiles% будет равно "C:\Program Files (x86)", а если тот же bat-ник запустить из 64-битного проводника Windows то для него значение переменной %ProgramFiles% будет равно "C:\Program Files". Аналогичная ситуация и с импортом данных в реестр.
Большая часть приложений, это 32-битные приложения, которые хранят свои настройки в 32-битной части реестра, и устанавливаются в 32-битную %ProgramFiles% то есть в "C:\Program Files (x86)".

В программе не хватает опции "Имитировать 64-битный процесс", пока ее нет.

Сrack
22-04-2014, 11:47
1. При запуске проги она сканирует профиль и подгружает иконки очень долго сек 5-10 сек (это кажется ерунда, но когда каждый день ставишь софт это немножко раздражает). При переходе между профилями задержек нет все быстро. Только при первом запуске. »
Попробуйте новый оптимизированный способ загрузки профилей, изменения будут после пересохранения профилей, сообщите о результатах.

s600, Пробуйте, для cmd и bat-файлов, для отключения редиректа на 64-битной ОС, нужно указать ключ /x64
этот ключ обрабатывает сама оболочка MInstAll, он не передается в целевое приложение, на 32-битной ОС этот ключ не учитывается.

Версия для теста:
http://checkdevice.narod.ru/download/beta/MInst.zip

Galavarez
22-04-2014, 14:58
Попробуйте новый оптимизированный способ загрузки профилей, изменения будут после пересохранения профилей, сообщите о результатах. »
http://checkdevice.narod.ru/download/beta/MInst.zip [post=2341478]»


По первым впечатлением действительно быстро. Потыкаю в разные машины посмотрю как себя поведет.

s600
22-04-2014, 15:37
Сrack спасибо, проверил на разно битных системах работу MInst с cmd и bat, прошло все на ура.

Сrack
23-04-2014, 21:32
Silent key finder (http://checkdevice.narod.ru/index/download/0-2) 1.0.0.10 Добавлены сигнатуры инсталляторов: WiX Toolset, Novostrim CreateInstall, Pantaray QSetup, Excelsior Installer, Softeza Actual Installer.

teapot08
24-04-2014, 14:43
использую сей софт на пк и очень доволен.
автору - спасибо за труд.
теперь вот думаю софт перенести на флешку.
флешка на 32 гиг.
планируется сделать ее как бы универсальной, то есть мольтифлешку с .исо образами ос и софтом для работы в дос + свой софт в .ехе
то есть загружаюсь в дос идет установка ос, в среде вин сразу запускается MInstAll при установки влешку в порт.
мультифлешку я сделал, теперь осталось сделать задуманное с MInstAll
думаю понятно объяснил.
получиться ли так сделать?

создал:
[Autorun]
Open=MInst.exe
Icon=MInst.exe

но запуск не происходит.
запускается папка.
но значок флешки сменился на значок MInst.exe
путь к MInst.exe указал правильно.

Сrack
24-04-2014, 16:20
teapot08, Вот тема:
http://forum.oszone.net/thread-128960.html

Пример bat-файла который запустит оболочку со сменного диска:
@echo off
for %%D in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%D:\MInstAll\MInst.exe set DiskRoot=%%D:

%DiskRoot%\MInstAll\MInst.exe /t 0
exit

Это автозапуск профиля по умолчанию, можно запустить с любым профилем, на пример так:
%DiskRoot%\MInstAll\MInst.exe %DiskRoot%\MInstAll\Profiles\AutoSetup.ini /t 0

Где 0 - это задержка в секундах до начала запуска установки.

-------
Вижу, вы про AutoRun.inf, так его давно прикрыли для флешек, на CD/DVD система все равно сама не запустит, сначала спросит.

teapot08
24-04-2014, 16:29
да мне бы просто сам MInst.exe запустить при подключении флешки, а не процесс установки софта.
оказывается это довольно сложно, ну ладно, буду вручную по ярлыку MInst.exe кликать.

Сrack
29-04-2014, 18:18
MInstAll (http://checkdevice.narod.ru/index/download/0-2) 1.0.1.18 История изменений (http://checkdevice.narod.ru/index/minstall_history/0-28)

Shift85
29-04-2014, 19:46
Сrack, Как задать запуск через FirstLogonCommands.

Сrack
29-04-2014, 20:06
Shift85, Я сам не пробовал, но наверно так же, как и через SetupComplete, пример на два поста выше #561.

Сrack
22-05-2014, 18:30
MInstAll (http://checkdevice.narod.ru/index/download/0-2) 1.0.1.20 История изменений (http://checkdevice.narod.ru/index/minstall_history/0-28)

Evg.Pl
24-05-2014, 13:19
Подскажите, пожалуйста, только у меня после версии 1.0.1.15 не обрабатывается переменная {P}? Я использую {P} и {Patch}, в 1.0.1.15 все работает, в последующих только {Patch}.




© OSzone.net 2001-2012