|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
|
Отправлено: 16:09, 04-04-2018 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Vanadiy777:
|
|
|
Отправлено: 12:54, 27-10-2022 | #851 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать nik1967, El Sanchez,
Огромное сердечное вам спасибо! Оба варианта работают. |
|
------- Отправлено: 14:56, 27-10-2022 | #852 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Не могу сам разобраться, а примеров не нашел...
Нужно считать из реестра путь установленной программы. Проблема заключается в том, что название программы - постоянное, а вот версия может быть разная. Подскажите пожалуйста на примере Opera или Mozilla Firefox, в ней вообще посложнее будет... Opera
Mozilla Firefox 1
Mozilla Firefox 2
То, что написано красным, меняется в зависимости от установленной версии. Как правильно прописать функцию, чтобы считывалось только название программы, а остальные данные (которые красным) игнорировались? Или, возможно, есть другой способ как-то получить директорию установки программы? Помогите, пожалуйста (ткните носом), если это вообще реализуемо средствами Inno... Заранее благодарен за помощь. |
|
------- Последний раз редактировалось Vanadiy777, 30-10-2022 в 01:42. Причина: Дополнение Отправлено: 21:02, 29-10-2022 | #853 |
|
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Как сделать так, чтобы при определенном условии отменить установку?
Допустим, не проходим по системным требованиям. Есть экран проверки. И вот на нем при нажатии "Далее" выдавать сообщение и сразу на последний экран. Или экран с ошибкой может какой есть? В общем, надо правильно прервать установку. Я пробовал Abort, но возникает ошибка и установщик зависает. |
|
Отправлено: 14:07, 30-10-2022 | #854 |
|
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Решил проблему так:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageId = wpWelcome then begin
if IsWin64() then begin
MsgBox('Ваш ПК не соответствует минимальным требованиям. Установка невозможна.', mbInformation, MB_OK);
IsCanInstall := false;
end
end
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if not IsCanInstall then begin
case (PageID) of
ChooseVersionPage.ID: Result := True
wpSelectDir: Result := True
wpSelectComponents: Result := True
wpSelectTasks: Result := True
wpReady: Result := True
end
end
else
Result := False;
end;
function PrepareToInstall(var NeedsRestart: Boolean): String;
begin
if not IsCanInstall then
Result := 'Ваша ПК не соответствует минимальным требованиям.'
else
Result := '';
end;
Не уверен, что способ правильный, но в моем случае рабочий. |
|
Отправлено: 15:15, 30-10-2022 | #855 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата EdMSL:
главное - результат! ![]() |
|
|
------- Отправлено: 15:40, 30-10-2022 | #856 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать nik1967,
Спасибо Вам огромное! Если установлена Mozilla Firefox x64, то все отрабатывает отлично. Если Mozilla Firefox x86 - то путь не видит. Буду экспериментировать... По результатам отпишусь... |
|
------- Отправлено: 19:28, 30-10-2022 | #857 |
|
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Нужно получить данные о системе. В шапке есть скрипт, но выглядит он громоздко. Может есть какой-то более современный способ?
Я пробовал этим способом https://stackoverflow.com/questions/...-in-inno-setup Но видеопамять определяется неверно, хотя если делать это все через wmic напрямую, то данные выдает верные. Пишу так: на выходе получаю -1048576 |
|
Отправлено: 19:58, 30-10-2022 | #858 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата nik1967:
nik1967, да, эти варианты тоже уже пробовал - тогда х64 не работает, а х86 работает. |
|
|
------- Отправлено: 20:51, 30-10-2022 | #859 |
|
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать nik1967,
в общем, попробовал все возможные варианты... Поиск идет конкретно по тем параметрам, которые указаны в #define. Если указано HKLM64 и SOFTWARE\Microsoft\, то ищет путь для х64, если HKLM и SOFTWARE\WOW6432Node\Microsoft\, то, соответственно, для х86. Попытался добавить дополнительные значения в #define, естественно, с другими именами, и продублировать процедуру поиска, чтобы искал сразу по двум ключам, но, покуда я не в зуб ногой, естественно, ни фига путного не получилось... Т.е. надо как то организовать поиск одновременно по ключам "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" и "SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall", а затем уже как то это вывести в Result:= Path; Но для меня это вообще темный лес, и я, безусловно, сам с этим никогда не справлюсь. Если есть возможность, то помогите пожалуйста. С уважением, и заранее благодарю за помощь. |
|
------- Отправлено: 01:07, 31-10-2022 | #860 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
| Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
| Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
| Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
| Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
|