powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Inno Setup есть ли такая команда...
13 сообщений из 13, страница 1 из 1
Inno Setup есть ли такая команда...
    #39449817
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все указанные команды выполняются.
Извлечение с заменой только если файл(ы) существует
если файла(ов) с данной версией нет, обновления не извлекаются.
Вопрос.
Возможно ли настроить установщик, чтобы на ПК с отсутствующим каталогом
программы - в %programfiles% не создавалась пустая папка с названием этой программы?

Причём, если написать CreateAppDir=false - то даже в установленный (на другом ПК) каталог
обновления не извлекутся. Не смотря на то, что в строке AppName= путь и имя папки указаны.

Основная задача - вызвать СООБЩЕНИЕ о том, что -
DirDoesntExistTitle=программа не установлена, обновлять нечего - с прерыванием установки.
Что не так, и как добиться двух этих результата?

(сама программа, как и обновление рассчитаны для систем моложе висты)
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39449871
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39449897
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вы наверно сами ту тему не читали -
там всё НАОБОРОТ.
просто что-то знакомое на английском типа Don't install if file exists
автор темы не знает как запретить установку, если программа уже была установлена
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39450064
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosednii,

естественно читал.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39450447
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,
или сразу вопрос данной темы не поняли -
предлагать абсолютно противоположное.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39450555
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosedniiпредлагать абсолютно противоположное.
Я дал подсказку, предложил подумать.
По мне, там мышления меньше секунды.
Возмущения на форуме писать дольше.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39451599
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanЯ дал подсказку, предложил подумать.
По мне, там мышления меньше секунды.Осталось подумать, о чём думать в то время, когда вместо строчки с требуемой командой
прекращения установки в случае, если папки нет , предлагают почитать вопрос о вызове
совсем другой - противоположной команды - в случае, если папка есть.

wadmanВозмущения на форуме писать дольше.А кто возмущался то? o_O
Всего лишь вам дали понять, что нужно думать - соответствует ваш ответ вопросу ;)
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452236
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosedniiОсталось подумать, о чём думать в то время, когда вместо строчки с требуемой командой
прекращения установки в случае, если папки нет , предлагают почитать вопрос о вызове
совсем другой - противоположной команды - в случае, если папка есть.
Мда...
sosedniiОсновная задача - вызвать СООБЩЕНИЕ о том, что -
DirDoesntExistTitle=программа не установлена, обновлять нечего - с прерыванием установки.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function IsMyProgramInstalled: boolean;
begin
  result := FileExists('C:\MyProgramFolder\MyProgram.exe');
end;

function InitializeSetup: boolean;
begin
  //Called during Setup's initialization. Return False to abort Setup, True otherwise.
  result := not IsMyProgramInstalled; //Здесь нужно подумать, в каком случае продолжить, а в каком прервать
end;


И всё. Понимаю, сложный мыслительный процесс и всё такое...
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452453
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanМда...
Код: pascal
1.
Здесь нужно подумать, в каком случае продолжить, а в каком прервать


И всё. Понимаю, сложный мыслительный процесс и всё такое...Вот именно ― Мда...
Скопировать не то, что надо - там думать не надо ;)
А вот ответить прямо на поставленный вопрос...
Короче не морочте людям голову раз сами не знаете.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452611
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosedniiwadmanМда...
Код: pascal
1.
Здесь нужно подумать, в каком случае продолжить, а в каком прервать



И всё. Понимаю, сложный мыслительный процесс и всё такое...Вот именно ― Мда...
Скопировать не то, что надо - там думать не надо ;)
А вот ответить прямо на поставленный вопрос...
Короче не морочте людям голову раз сами не знаете.
Ответил прямо "подсказка", что придется подумать.
Даже на это iq не хватило.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452858
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosedniiВсе указанные команды выполняются.
Извлечение с заменой только если файл(ы) существует
если файла(ов) с данной версией нет, обновления не извлекаются.
Вопрос.
Возможно ли настроить установщик, чтобы на ПК с отсутствующим каталогом
программы - в %programfiles% не создавалась пустая папка с названием этой программы?

Причём, если написать CreateAppDir=false - то даже в установленный (на другом ПК) каталог
обновления не извлекутся. Не смотря на то, что в строке AppName= путь и имя папки указаны.

Основная задача - вызвать СООБЩЕНИЕ о том, что -
DirDoesntExistTitle=программа не установлена, обновлять нечего - с прерыванием установки.
Что не так, и как добиться двух этих результата?

(сама программа, как и обновление рассчитаны для систем моложе висты)
Ты вроде как сам полностью описал алгоритм, делай, хелп небольшой, примеров масса. Непонятно, что ты хочешь.

Да, все это доступно. В каждой секции (кроме [Languages], [Types], [Components] и [Tasks]) для каждого элемента секции можно указать два необязательный параметра: BeforeInstall и AfterInstall, каждый параметр специфицируется функцией паскаль-скрипта, которая быдет вызываться соответственно до и после реализации элемента списка.

То есть, процесс инсталляции полностью в твоих руках.
В скрипте ты можешь, например, проверить наличие директории: http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_direxists
- и, если нужно - вывести сообщение http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_direxists
- или, к примеру, остановить инсталляцию (любым подходящим/доступным способом, хоть WinAPI-шный ExitProcess() вызови).

Можешь в паскаль-скрипте тупо реализовать коллбек-метод function InitializeSetup(): Boolean;

Код: pascal
1.
function InitializeSetup(): Boolean;


- который, проверив наличие директории, вернет False, и инсталляция завершится.

Читай Help, короче.
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452860
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sosednii,

пардон, на самом деле вывести сообщение нужно вот так:
http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_msgbox

а все остальное тоже уже wadman расписал, только короче: 20477091
...
Рейтинг: 0 / 0
Inno Setup есть ли такая команда...
    #39452884
sosednii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Занимаюсь другим делом на пк..
Случайно заглянул.
Название темы (внимание) ― Inno Setup.
В файле *.iss такие строчки ( function InitializeSetup(): Boolean; ) не прокатывают.
Даже пробовать не стал.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Inno Setup есть ли такая команда...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]