|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1269 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата Volonter908:
Тогда скрипт будет выглядеть вот так: |
|
Отправлено: 11:11, 23-10-2012 | #1171 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать El Sanchez, спасибо, последний вопрос: в коде через exec как правильно вносить 32-х и 64-х битные ключи реестра в 64-й ОС?
|
------- Отправлено: 11:33, 23-10-2012 | #1172 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
var OldState: Boolean; ResultCode: Integer; begin if IsWin64 then begin OldState := EnableFsRedirection(False); try //через regedit.exe... Exec(ExpandConstant('{win}\regedit.exe'), ExpandConstant('/S "{src}\test.reg"'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode); //...или reg.exe Exec(ExpandConstant('{sys}\reg.exe'), ExpandConstant('import "{src}\test.reg"'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode); finally EnableFsRedirection(OldState); end; end; end; |
|
Отправлено: 12:55, 23-10-2012 | #1173 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать El Sanchez,
я окончательно запутался а) для какого режима установщика (32/64) два вышеприведенных примера? б) последний пример занесет файл реестра в 32-х или в 64-х разрядную секцию реестра? |
------- Отправлено: 13:18, 23-10-2012 | #1174 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
Цитата R.i.m.s.k.y.:
|
||
Отправлено: 14:36, 23-10-2012 | #1175 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать El Sanchez, я окончательно перестал понимать
Можно тебя об одолжении рассортировать все написанное по моим вопросам для ArchitecturesInstallIn64BitMode=x64 и ArchitecturesInstallIn64BitMode=(blank) |
------- Отправлено: 14:54, 23-10-2012 | #1176 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y., ну тогда слушай теорию, повторять не буду. 64-битная система помимо нативных (родных, своих в доску, etc) 64-битных файлов имеет набор 32-битных файлов для поддержки запуска 32-битных программ через подсистему WOW64, не позволяющей обращаться 32-битному коду к 64-битным файлам и реестру. Грубо говоря, 64-битные программы работают с родными файлами из С:\Windows\system32 и родным реестром (напр. куст HKLM\SOFTWARE), а 32-битные со своим 32-битным набором из С:\Windows\SysWoW64 и своим 32-битным реестром в составе 64-битного (напр. куст HKLM\SOFTWARE\Wow6432Node). Программные группы тоже различаются: Program Files для 64-битных программ, Program Files (x86) для 32-битных. Inno, как и любое другое 32-битное приложение, при обращении к С:\Windows\system32 или к HKLM\SOFTWARE\MyProgram будет перенаправлено подсистемой WOW64 в соответстующие папку SysWoW64 и куст Wow6432Node, {sys} становится С:\Windows\SysWoW64, {pf} - C:\Program Files (x86), HKLM\SOFTWARE - HKLM\SOFTWARE\Wow6432Node и т.д. Если же установщик помимо 32-битных компонентов содержит 64-битные, то нужно позаботиться о том, чтобы неродные для 32-битной программы 64-битные файлы не попали куда не надо (флаг 64bit (для секций Files, Run и UninstallRun), функции IsWin64, EnableFsRedirection и т.д., префикс 64 для параметра Root секции Registry и т.д.).
[Run] ;64-bit mode OFF Filename: {sys}\calc.exe; WorkingDir: {sys} - запустит калькулятор из С:\Windows\SysWoW64 Filename: {sys}\calc.exe; WorkingDir: {sys}; Flags: 64bit - запустит калькулятор из С:\Windows\system32 [Registry] ;64-bit mode OFF Root: HKLM; Subkey: SOFTWARE\MyProgram; Flags: uninsdeletekey - запись в HKLM\SOFTWARE\Wow6432Node\MyProgram Root: HKLM64; Subkey: SOFTWARE\MyProgram; Flags: uninsdeletekey - запись в HKLM\SOFTWARE\MyProgram [Run] ;64-bit mode ON Filename: {sys}\calc.exe; WorkingDir: {sys} - запустит калькулятор из С:\Windows\system32 Filename: {sys}\calc.exe; WorkingDir: {sys}; Flags: 32bit - запустит калькулятор из С:\Windows\SysWoW64 Filename: {syswow64}\calc.exe; WorkingDir: {syswow64} - запустит калькулятор из С:\Windows\SysWoW64, не рекомендуется [Registry] ;64-bit mode ON Root: HKLM; Subkey: SOFTWARE\MyProgram; Flags: uninsdeletekey - запись в HKLM\SOFTWARE\MyProgram Root: HKLM32; Subkey: SOFTWARE\MyProgram; Flags: uninsdeletekey - запись в HKLM\SOFTWARE\Wow6432Node\MyProgram |
Отправлено: 17:40, 23-10-2012 | #1177 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать El Sanchez, благодарю,
Твой пост будет очень полезен и другим, помести ссылку на него в шапку. |
------- Отправлено: 18:36, 23-10-2012 | #1178 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать добрые люди!
скажите пожалуйста можно ли импортировать функции 7z.dll (лежит в папке архиватора) в Inno для распаковки (по возможности и запаковки) внешних архивов с отображением прогрессбара если да то можно мне пожалуйста код? кажись там даже можно юзать ком строку параметров (пропускать, перезаписывать ...) просьба не предлагать мне IsDone |
Отправлено: 01:16, 24-10-2012 | #1179 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Цитата Johny777:
Есть ещё модуль для распаковки 7-zip архивов (с отображением прогрессбара). Также где-то видел скрипт для запаковки в 7-zip архивы... Вот тут посмотри (первое и второе там точно есть). |
|
Отправлено: 07:04, 24-10-2012 | #1180 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|