Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Комбинированный SFX-инсталлятор для 32/64-битных систем

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Fri May 11, 2012 21:41    Post subject: SFX с автоустановкой х32 или х64 зависимо от разрядности ОС Reply with quote

http://forum.wincmd.ru/viewpost.php?p=92334
gora wrote:
Сделал x86 sfx в котором находятся обе версии ТС и он (sfx) ставит версию нужной разрядности в зависимости от разрядности системы на которой sfx запущен. Этим же sfx можно установить и х86 ТС на х64 систему, если так захочет пользователь.

gora,
Код sfx - в студию, пожалуйста!


Last edited by Mellomann on Fri May 11, 2012 22:29; edited 4 times in total
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Fri May 11, 2012 21:58    Post subject: Reply with quote

Code:
;!@Install@!UTF-8!
SetEnvironment="Name=Total Commander"
SetEnvironment="Vers= v8.0 rc 1 [%%P]"
SetEnvironment="PFx86=%SystemDrive%\\totalcmd86"
SetEnvironment="PFx64=%SystemDrive%\\totalcmd64"
SetEnvironment="EXEx86=Totalcmd.exe"
SetEnvironment="EXEx64=Totalcmd64.exe"
SetEnvironment="NameInf=TCmd"
SetEnvironment="QLP=Microsoft\\Internet Explorer\\Quick Launch"
SetEnvironment="DelDefShrtCut=shc0:hidcon:cmd /c Echo"
SetEnvironment="AddSoft=%%P:hidcon:cmd /c If Exist \"%%S\\TCaddSft\\TCaddSft.cmd\" CD /D \"%%S\\TCaddSft\" & \"%%S\\TCaddSft\\TCaddSft.cmd\""
Title="Установка %Name%"
BeginPrompt="Сейчас будет установлен
%Name%%Vers%

Для установки x86 ТС на x64 ОС
нажмите 'OK' удерживая [Shift]"
ExtractTitle="Распаковка файлов..."
ExtractDialogText="Придется подождать..."
FinishMessage="%Name%%Vers% установлен!"
;
GUIFlags="2+4+8+16+32+2048+4096"
GUIMode="1"
MiscFlags="4"
; Простая установка: x64 TC на x64 OS или x86 TC на x86 OS
RunProgram="fm20:%%P:hidcon:QLP.bat"
RunProgram="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_%%P.inf /y"
RunProgram="%%P:rundll32 advpack,LaunchINFSection %NameInf%_%%P.inf,DefaultInstall_%%P,0"
RunProgram="x86:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
RunProgram="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
RunProgram="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y /h /k"
RunProgram="%AddSoft%"
;
; Простая установка: x86 TC на любую OS
AutoInstall="fm20:%%P:hidcon:QLP.bat"
AutoInstall="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x86.inf /y"
AutoInstall="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x86.inf,DefaultInstall_x86,0"
AutoInstall="%%P:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
AutoInstall="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
AutoInstall="%AddSoft%"
;
; Автоустановка x86 без ярлыков
AutoInstall8="%%P:hidcon:QLP.bat"
AutoInstall8="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x86.inf /y"
AutoInstall8="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x86.inf,DefaultInstall_x86,0"
AutoInstall8="%%P:hidcon:xCopy x86\\* \"%PFx86%\\\" /s /e /i /y /h /k"
AutoInstall8="x86:hidcon:xCopy Windows\\* %WINDIR% /s /e /i /y"
;
; Автоустановка x64 без ярлыков
AutoInstall6="%%P:hidcon:QLP.bat"
AutoInstall6="%%P:hidcon:cmd /c Copy %NameInf%.inf %WINDIR%\\INF\\%NameInf%_x64.inf /y"
AutoInstall6="%%P:rundll32 advpack,LaunchINFSection %NameInf%_x64.inf,DefaultInstall_x64,0"
AutoInstall6="x64:hidcon:xCopy x64\\* \"%PFx64%\\\" /s /e /i /y /h /k"
;
; Установка дополнительного ПО
AutoInstallS="%AddSoft%"
;
; Ярлык в Пуск->Программы->Утилиты
AutoInstallu="%DelDefShrtCut%"
AutoInstallU="%DelDefShrtCut%"
; Ярлык на Рабочем столе
AutoInstalld="%DelDefShrtCut%"
AutoInstallD="%DelDefShrtCut%"
; Ярлык на панели быстрого запуска
AutoInstallq="%DelDefShrtCut%"
AutoInstallQ="%DelDefShrtCut%"
; Ярлык в Пуск->Программы->Автозагрузка
AutoInstalla="%DelDefShrtCut%"
AutoInstallA="%DelDefShrtCut%"
; Ярлык в Пуск->Программы
AutoInstallp="%DelDefShrtCut%"
AutoInstallP="%DelDefShrtCut%"
;
; Ярлык на панели быстрого запуска ************* по умолчанию *************
Shortcut="26,{%PF%%P%\\%EXE%%P%},{},{%QLP%},{Файловый менеджер},{%Name% (%%P)},{%PF%%P%}"
; Ярлык в Пуск->Программы->Утилиты
Shortcutu="Pu,{%PFx86%\\%EXEx86%},{},{Утилиты},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutU="Pu,{%PFx64%\\%EXEx64%},{},{Утилиты},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык на Рабочем столе
Shortcutd="Du,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutD="Du,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык на панели быстрого запуска
Shortcutq="26,{%PFx86%\\%EXEx86%},{},{%QLP%},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutQ="26,{%PFx64%\\%EXEx64%},{},{%QLP%},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык в Пуск->Программы->Автозагрузка
Shortcuta="7,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutA="7,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
; Ярлык в Пуск->Программы
Shortcutp="Pu,{%PFx86%\\%EXEx86%},{},{},{Файловый менеджер},{%Name% (x86)},{%PFx86%}"
ShortcutP="Pu,{%PFx64%\\%EXEx64%},{},{},{Файловый менеджер},{%Name% (x64)},{%PFx64%}"
Version="1.5.0 beta build 2367, (c) Oleg_Sch & gora"
;!@InstallEnd@!
Подробности здесь.
Хотя все это уже оффтоп, ИМХО.
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Fri May 11, 2012 22:25    Post subject: Reply with quote

Уййооо...
Нежданчик, я-то думал, оно покомпактнее будет...

1.
Это...
Quote:
RunProgram="fm20:%%P:hidcon:QLP.bat"
как бы намекает... Что за батничек?

2.
Quote:
BeginPrompt="Сейчас будет установлен
%Name%%Vers%

Для установки x86 ТС на x64 ОС
нажмите 'OK' удерживая [Shift]"
Каким конкретно параметром определяется альтернативное поведение при нажатии Shift?

Добавлено спустя 1 час 25 минут:

Покопался в справке к sfx-модулю:
Quote:
Основная секция - без суффиксов (только одна). Оригинальная для SFX модуля архиватора 7-Zip. Запись:

;!@Install@!UTF-8!
RunProgram="setup.exe"
;!@InstallEnd@!
Платформенные секции определяются суффиксами (только два вида):

x86 (i386) - для 32-битной операционной системы
x64 (amd64) - для 64-битной операционной системы

После запуска SFX архива начинается формирование рабочего файла конфигурации. Рабочий - это тот, который и будет выполнен при данном конкретном запуске с учетом языка и разрядности системы.
Получается, можно не городить этот огород, а указать нечто типа
Code:
;!@Install@!UTF-8:x86!
RunProgram="setup_86.exe"
;!@InstallEnd@:x86!
;!@Install@!UTF-8:x64!
RunProgram="setup_64.exe"
;!@InstallEnd@:x64!
, так?

Last edited by Mellomann on Fri May 11, 2012 22:32; edited 2 times in total
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Sat May 12, 2012 08:29    Post subject: Reply with quote

1 Небольшой батник для дописывания строк в inf файл:
Code:
ChCp 1251>Nul
Ver | Find "6.1" >Nul || (
Echo PROG_SDIR2   ="..\..\Рабочий стол"
Echo PROG_SDIR3   ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
Echo PROG_SDIR4   ="Автозагрузка"
)>>%NameInf%.inf
Ver | Find "6.1" >Nul && (
Echo PROG_SDIR2   ="..\..\..\..\..\..\Desktop"
Echo PROG_SDIR3   ="..\..\..\..\..\..\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch"
Echo PROG_SDIR4   ="Startup"
)>>%NameInf%.inf
ChCp 866>Nul
2 Так ведет себя модифицированный модуль. Ни каких параметров для этого не требуется.
3 Огород, говорите, хмм...
В Вашем варианте что из себя должны представлять эти самые setup_86.exe и setup_64.exe? Полноценные (оригинальные) инсталляторы ТС?
У меня задачи были другие. Если Вы прошли по ссылке и прочитали, что там написано, то увидели, что это компилятор для создания аддона (sfx архива) со многими дополнительными функциями (собственными настройками ТС, барами, плагинами, доп. утилитами, ярлыками и т.д. и т.п.).
Проще скачать компилятор и "кнопку..." и все попробовать самому, тогда половина вопросов отпадет. Сам компилятор, это обычный батник и все что он делает в нем можно увидеть. Конфиг, батник и другие файлы, нужные для sfx он создает сам.
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sat May 12, 2012 15:56    Post subject: Reply with quote

gora
понятно, вопросов больше нет
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group