Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Hell_Dog2011
Дата сообщения: 15.10.2012 23:26
Snoopak96
спасибо большое, всё понятно сразу.
Автор: LagunaFAN
Дата сообщения: 17.10.2012 16:27
Всем добрый день! Имею проблему Для своих нужно хочется реализовать следующее:

2 типа инсталляции - обычная установка и установка в стим. С обычной установкой все понятно. А вот с установкой в стим затык

Допустим, есть 2 установщика - setup.exe (обычная установка) и steamsetup.exe (установка в стим).

Steamsetup.exe имеет свой путь установки непосредственно в стим. Хочется, чтобы на стадии инсталляции он запускал setup.exe, а тот распаковывал файлы по тому пути, который ему сообщит steamsetup.exe .

Подскажите, пожалуйста, как можно реализовать такое?

Ребят, я слаб в паскале, поэтому дико прошу помощи! Заранее благодарю!
Автор: log1stable
Дата сообщения: 17.10.2012 19:01
LagunaFAN, вау, не хило. Блин, я тоже с паскалем не силен) Но, можно попробовать записать нужную инфу в ini в {temp}, запускать setup.exe, который зачерпает инфу из ini-файла.
Автор: Mufer
Дата сообщения: 17.10.2012 19:11
Помогите кто нибудь, нужен код для бэкапа файлов и папок, НО не при установке а при деинсталляции. Не могу никак найти, нашел только бэкап при установке. Код нужен для сохранения настроек программы при деинсталляции, чтобы определил существует ли определенная папка или файлы, и если существует выдавал сообщение с запросом на бэкап. При ответе "ДА", чтобы файлы или папка копировались в другое место - например в Мои документы. Для стандартного Inno Setup.

Заранее спасибо.
Автор: Gnom3
Дата сообщения: 17.10.2012 19:32
Mufer
тот-же самый код, только вызываешь его не при установке, а при удалении.
Автор: Mufer
Дата сообщения: 18.10.2012 17:29
Gnom3
Не могли бы показать как вызвать при удалении? Если не трудно, а то у меня с кодом - беда.
Автор: Gnom3
Дата сообщения: 18.10.2012 19:34
Mufer
ты забыл свой скрипт показать.
Автор: Mufer
Дата сообщения: 19.10.2012 07:04
Скрипт тут - http://rghost.ru/41021767

Проверь заодно если не трудно, правильно ли вставлен код для скина ISSkinEx от китайцев.
Автор: Gnom3
Дата сообщения: 19.10.2012 07:20
прямо в шапке нашел. И при установке, и при удалении. Ненужное, как говорится, удалить.
А без кода... Это хде ты нашел без кода?
Автор: Chopser
Дата сообщения: 19.10.2012 07:26
/
Автор: Mufer
Дата сообщения: 19.10.2012 07:35

Цитата:
прямо в шапке нашел

Я так понимаю надо взять только самый нижний блок кода?
Автор: Gnom3
Дата сообщения: 19.10.2012 07:58
Mufer CurUninstallStepChanged - выполняется при удалении.
if CurUninstallStep = usPostUninstall then - в самом конце, когда прогрессбар подошел к концу. вариации -
usAppMutexCheck - видимо новый флаг, появившийся в последних версиях, по логике - происходит когда только запущен деинсталлятор на этапе проверки того, не запущено-ли приложение с заявленым мьютексом.
usUninstall - до начала удаления, когда страница удаления уже показана.
usDone - по окончании удаления, когда показано сообщение о том, что ваша программа удалена.
Автор: Mufer
Дата сообщения: 19.10.2012 08:18
А как лучше то, когда правильней делать бэкап? Скрипт нужен не для игры, а для установки программ. Бэкапить настройки программы при удалении. Я вообще делал их без кода, он там в принципе и не нужен (инсталл с простым фейсом). Этот скрипт я насобирал из кусков надерганых здесь. Просто скрины разные тут посмотрел решил попробовать для программ сделать.

Напиши пожалуйста правильный код для скина при установке и удалении для ISSkinEx от Китайцев, а то я читал тут глюки разные с ним бывают.

P.S.
Я тут где то видел скрипт "Закос под BlackBox", вот его бы под программы приспособить. Ни лишних картинок ни логотипов - самый раз для программ. Я его качал, но там "примочек" полно ISDone и т.д. И деинсталлятор без скина. Не мог бы ты его доработать немного? Очистить от ISDone и добавить код скина для деинсталлятора?
Автор: Sanprof
Дата сообщения: 23.10.2012 10:41
подскажите как в скрипте узнать пароль текущего залогиного пользователя, нужно для конфигурирования службы windows
Автор: troyan90
Дата сообщения: 23.10.2012 12:36
Sanprof
функция GetUserNameString
Автор: Sanprof
Дата сообщения: 23.10.2012 14:01

Цитата:
функция GetUserNameString

я так понимаю она только возвращает имя пользователя, а мне нужен пароль

Добавлено:
мне нужно выполнить такую команду в инсталяторе, где вместо '11111' должен быть пароль текущего залогиного пользователя
Filename: "{cmd}";Components: postgres;Parameters: "/C sc config ""PostgreSQL-9.2"" obj= LocalSystem password= 11111";
Автор: troyan90
Дата сообщения: 23.10.2012 17:38
Sanprof
извиняюсь не дочитал )
никак.
Автор: SotM
Дата сообщения: 23.10.2012 20:28
Sanprof
Как уже и было сказано, что пароль текущего пользователя нельзя узнать. Ты думаешь что пароль так просто где-то хранится, что любая программа запросто получает этот пароль?!
Автор: log1stable
Дата сообщения: 24.10.2012 10:20
Sanprof, если б так было, то винда давно бы от эпидемии вирей погибла.
Автор: Gnom3
Дата сообщения: 24.10.2012 11:11
Ну отчего-же. Можно дать поле ввода и попросить пользователя ввести свой пароль входа в систему. но лично я не только никогда этого не сделаю, но еще и пожалуюсь везде, где только можно на приложение, которое этого просит.
Автор: Sanprof
Дата сообщения: 24.10.2012 12:00
ок, ваши предложения как сделать



Добавлено:
как я уже писал мне нужно
Filename: "{cmd}";Components: postgres;Parameters: "/C sc config ""PostgreSQL-9.2"" obj= LocalSystem password= 11111";
Автор: Gnom3
Дата сообщения: 24.10.2012 12:46
Sanprof
Никак не сделать. Единственный вариант - попросить пользователя ввести свой пароль в предоставленное поле ввода. но это спорный способ, большинство здравомыслящих людей никогда этого не сделает.
Еще вариант - обратиться на сайты вирусо-писателей, но как я отвечал на другом форуме, даже с помощью различного вредоносного по не всегда удается получить пароль пользователя винды.
Автор: Sanprof
Дата сообщения: 24.10.2012 13:06
может вопрос и не по теме (на форуме PostreSQL спрашивал, до сих пор никто не ответил), я вот устанавливаю свою программу, требуется установить Postgres (это без проблем) в тихом режиме

Filename: "{src}\Postgres\postgresql-9.2.0-1.exe";Components: postgres;StatusMsg:"Установка PostgreSQL 9.2...";Flags: skipifdoesntexist;Parameters: --mode unattended --unattendedmodeui minimal --superaccount amuser --superpassword 11111;

теперь требуется создать кластеры для Postgres, но для пользователя 'amuser', а не для текущего, под которым была выполнена установка (в моем случае это 'Sanprof'), делаю

Filename: "{#PGDir}\initdb";Components: postgres;StatusMsg:"Создание кластера базы данных...";Flags: skipifdoesntexist; Parameters: "--username=amuser -D {code:GetDBDir}";

но кластер все равно создается для текущего пользователя Sanprof.
Автор: Andrey128
Дата сообщения: 25.10.2012 09:35
Как сделать, чтобы имя выходного файла содержало версию без конечных нулей.
Например версия 2.0.1.0, а имя выходного файла было бы MyApp2.0.1.exe

Пытался сделать так:
#define FormatVersion(str Text) copy(Text, 1, Pos('.0.', Text + '.') - 1)
#define AppVersion FormatVersion(GetFileVersion("MyApp.exe"))
[Setup]
OutputBaseFilename=MyApp{#AppVersion}

Но тогда получается MyApp2.exe, а нужно MyApp2.0.1.exe.
Поможите
Автор: Mailchik
Дата сообщения: 25.10.2012 11:30
Andrey128
[Setup]
OutputBaseFilename=MyApp2.0.1
Автор: Andrey128
Дата сообщения: 25.10.2012 13:18
Mailchik
Конечно спасибо!
Но мне хотелось бы, чтобы это делалось автоматом.
Автор: Snoopak96
Дата сообщения: 25.10.2012 21:19
Andrey128

Код: #define FormatVersion(str Text) copy(Text, 1, 5)
#define AppVersion FormatVersion(GetFileVersion("MyApp.exe"))
Автор: Genri
Дата сообщения: 26.10.2012 13:35
Andrey128

Цитата:
Как сделать, чтобы имя выходного файла содержало версию без конечных нулей.
-- например так:

Код: [no]
#dim MyVer[4]
#define MyVer[0] 3
#define MyVer[1] 8
#define MyVer[2] 4
#define MyVer[3] 5
#define VerFullText
#define VerTrimText
#define i
#define z 0

#expr VerFullText = Str(MyVer[0]) + "." + Str(MyVer[1]) + "." + Str(MyVer[2]) + "." + Str(MyVer[3])

#sub CheckVer
#if (Int(z) == 0) && (MyVer[i] > 0)
#for {z = 0; z <= i; z++} VerTrimText = VerTrimText + "." + Str(MyVer[z])
#endif
#endsub

#for {i = 3; i > -1; i--} CheckVer

[Setup]
AppName=My Program
AppVersion={#VerFullText}
VersionInfoVersion={#VerFullText}
DefaultDirName={pf}\My Program
OutputBaseFilename=MyApp{#VerTrimText}

[/no]
Автор: Habib2302
Дата сообщения: 26.10.2012 17:55
как сделать так чтобы создавался ярлык в панели управления windows 7?
Автор: Gideon Vi
Дата сообщения: 29.10.2012 09:38
У inno из коробки с многоядерностью совсем плохо? Едва нагружает два ядра из четырех.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.