|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1270 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
Вы не поняли. Поставить на последнюю страницу URL или файл я могу и в этом сложного ничего нет. Мне надо после того как прошла установка в зависимости от результата показать чекбокс "порейти на сайт", а вот урл должен иметь возможность измениться в зависимости от результатов установки. |
|
Отправлено: 13:31, 21-11-2012 | #1301 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать al70, использовать Check не вариант?
[CODE] Function Check1():boolean; begin //твоя проверка end; Function Check2():boolean; begin //твоя проверка нумер 2 end; [RUN] Check: Check1; Filename: http://www.svp-team.com/wiki/Main_Page/ru; Description: посетить сайт; Flags: shellexec skipifsilent postinstall Check: not Check1; Filename: http://microsoft.com; Description: посетить другой сайт; Flags: shellexec skipifsilent postinstall Если подчековая функция возвращает ТРУ - строчка скрипта выполняется, если фолсе - строчка пропускается и следов от нее нет. Или опять не то? |
------- Последний раз редактировалось R.i.m.s.k.y., 21-11-2012 в 13:48. Отправлено: 13:37, 21-11-2012 | #1302 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
В точку, спасибо! |
|
Отправлено: 14:08, 21-11-2012 | #1303 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать El Sanchez, я заметил, что в TFolderTreeView иконки другие (покрасивее). Судя по исходному коду инно там используется функция ShellAPI:
function SHGetFileInfo(pszPath: PAnsiChar; dwFileAttributes: DWORD; var psfi: _SHFILEINFO; cbFileInfo, uFlags: UINT): DWORD; external 'SHGetFileInfo{#A}@shell32.dll stdcall'; твой код вывода данных о хардах у меня в 2-х видах: 1: малость упрощённый для инсталла халфы (без процентов и инфы о файловой системе) 2: оригинал как есть я портировал вот этот код http://delphiworld.narod.ru/base/get_filetype_ico.html в свою модифицированную версию работает, но код стал медленнее решил улучшить и заметил что в структуре type _SHFILEINFO = record hIcon: HICON; { out: icon } iIcon: Integer; { out: icon index } dwAttributes: DWORD; { out: SFGAO_ flags } szDisplayName: array [0..MAX_PATH-1] of Char; { out: display name (or path) } szTypeName: array [0..79] of Char; { out: type name } end; а это как я понимаю тоже самое что в твоей функции загрузки иконки function ExtractIcon(hInst: THandle; lpszExeFileName: String; nIconIndex: UINT): HICON; external 'ExtractIcon{#A}@shell32.dll stdcall'; получился такой код, но иконки не отобржаются (не пойму что не так сделал) в общем прошу по возможности помочь, тк иконки хороши (есть диск, сис, диск, флэшка) PS: можно б было их и напрямую грузить, но не знаю где они лижат |
Последний раз редактировалось Johny777, 22-11-2012 в 12:09. Отправлено: 11:57, 22-11-2012 | #1304 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Помогите пожалуйста убрать "выбор установки", затемнить правую половинку окна где описание к компонентам и еще почему то не работает строка "russian.ComponentsDescription0=Наведите курсов мыши на компонент, что бы прочитать его описание." когда курсор не наведен с право в окне пусто.
|
Последний раз редактировалось pritoreanic, 23-11-2012 в 03:19. Отправлено: 12:15, 22-11-2012 | #1305 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Добрый день! Имеется следующая конструкция
3 компонента которые можно устанавливать по выбору. 1 главный компонент с exe файлом, с возможностью создания ярлыка на рабочем столе запуске приложения после установки. 2 компонент это просто папка с файлами там нет exe 3 компонент фрейворк (один экзешник). Подскажите как сделать чтобы, например, когда мы хотим установить только компонент два, не было пункта (чекбоксов) хотите ли вы поместить ярлык на рабочих стол или запуск после установки(так как будет высыпаться ошибка, оно и понятно там нет исполняемых файлов). Эти пункты должны быть только для первого приложения. Как сделать чтобы при выборе компонента 1 с компонентом 3(фрейворк) они ставились по очереди(те поставилось приложение, а далее идет установка фрейворка). Сейчас, у меня происходит просто распаковка файла фрейворка в директорию, но он не запускается. Спасибо. |
Отправлено: 12:17, 22-11-2012 | #1306 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать InnoQuest, а ответ один - добавлять к строчкам параметр Components: 1 2 3
1. [Files] Components:KMBD; Source: "C:\Users\NIC\Desktop\Install\res\KMBD1311\*"; DestDir: "{app}"; Components: KMBD; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Components:KMBD; Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\RunApp\{#MyAppExeName}" [Tasks] Components: MAP and not (KMBD and Framework); Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Components: MAP and not (KMBD and Framework); Name: quicklaunchicon; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\RunApp\{#MyAppExeName}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Tasks: desktopicon; Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\RunApp\{#MyAppExeName}"; Tasks: quicklaunchicon; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\RunApp\{#MyAppExeName}"; [Run] Components: KMBD; Filename: "{app}\RunApp\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: postinstall skipifsilent Components: Framework; Filename: "{app}\.NET Framework 4.0\{#MyFrameWorkName}"; Description: "{cm:LaunchProgram,{#MyFrameWorkName}}"; Flags: skipifsilent |
------- Отправлено: 12:40, 22-11-2012 | #1307 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать pritoreanic, пардон за недоработку. Исправил!
и убирай пожалуйста крупные коды и скрины под спойлер! |
Отправлено: 13:47, 22-11-2012 | #1308 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y. Спасибо.
Еще 3 проблемы возникло, если не трудно дайте наводку куда копать 1) При обычной установки (те когда выбран 1и/или второй компонент), вылазит ошибка, что мол не могу запустить 3компонент(хотя он и не был выбран для установки), установка проходит нормально, но не пойму почему он пытается выполнить 3 компонент? 2) Если устанавливать только второй компонент(это простая папка с файлами без экзешника, по сути нужно е просто распаковать), в конце тоже появляется окно предлагающее запустить KMBD, ну и естественно ошибка из вопроса номер 1 вылазит. 3) Если устанавливаем только 3 компонент(фрейворк- простой экзешник), все проходит нормально(тут кстати нет ошибки что не удается запустить 1 компонент), но в конце опять тоже окошко о запуске KMBD(хоть мы его и не выбирали) . Я так понимаю нужно какую-то проверку написать в тегах[code] на то какие компоненты выбраны и какой из [Run] запускать в завимости от выбранного В принципе если закомментить все Source вы можете посмотреть логику работы установщика Буду благодарен за помощь, а то завтра нужно проект показывать уже, а установщик сырой Сейчас выглядит так |
Отправлено: 14:40, 22-11-2012 | #1309 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата InnoQuest:
а) не понял что я писал в прошлом посте для тебя и б) недокопировал что я писал в прошлом посте для тебя Цитата InnoQuest:
|
||
------- Отправлено: 14:49, 22-11-2012 | #1310 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|