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

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

Автор: Apelsinn
Дата сообщения: 20.12.2012 18:20
Господа, подскажите, можно ли из ISDone 6.0 убрать время и процент распаковки не в самом окне инсталла, а в рамочке на панеле задач (не знаю как это называется, а скрина нет под рукой)?
Автор: Dark_Delphin
Дата сообщения: 20.12.2012 20:04
Всем привет.

Помогите сделать, чтобы при распаковке файлов прогрес бар работал (Распаковка файлов, которые собраны компилятором)
ставил ssInstall и та же проблема.

Скачать
Автор: AtotIK
Дата сообщения: 21.12.2012 09:27
Всем привет! Давненько я тут не появлялся...
В общем прошу помощи. Нужен пример кода, где при запуске инсталлятора проходила проверка на нахождение ключа в реестре и его содержания и если значение отличается, то запускался деинсталлятор, путь до которого так же прописывается отдельно в реестре.
Автор: Apelsinn
Дата сообщения: 21.12.2012 10:35
AtotIK

Код: [Setup]
AppID=My_Game

[Code]
var
ResultStr:string;
ResultCode: Integer;

function InitializeSetup(): Boolean;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Game_is1', 'UninstallString', ResultStr)
if ResultStr='' then
begin
Result := True;
end
else
ResultStr:=RemoveQuotes(ResultStr);
Exec(ResultStr, '', '', SW_SHOWNORMAL, ewNoWait, ResultCode)
end;
Автор: AtotIK
Дата сообщения: 21.12.2012 11:17
Apelsinn
Спасибо, но у же сам всё написал.

Код:
function RegCheck(): Boolean;
var
ResultCode: Integer;
ResultStr, ResultReg: String;
begin
If RegQueryStringValue(HKLM, 'Software\MyProgram', 'Version', ResultStr) then
begin
If ResultStr<'1.0.8.26' then
begin
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\MyProgram','InstallPath', ResultReg)
If MsgBox('Обнаружена устаревшая версия!' #13#13 'Рекомендуется удалить её перед началом установки!' #13#13 'Мастер удаления запустится автоматически.', mbCriticalError, MB_OK)=IDOK then
if not Exec(ResultReg+'\Install_Update\unins000.exe', '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
MsgBox('Ошибка удаления!' #13#13 'Вероятно, деинсталлятор был перемещен, удален или переименован.' #13#13 'Установка продолжится в штатном режиме.', mbError, MB_OK)
end
else
begin
If ResultStr>'1.0.8.26' then
begin
MsgBox('Внимание!' #13#13 'Обнаружена установленная новая версия.' #13#13 'Данная версия не актуальна.', mbInformation, MB_OK)
end;
end;
end;
end;
Автор: R3Pa4eK
Дата сообщения: 21.12.2012 17:43
AtotIK
Я что то не заметил, чтоб твоя функция что то возвращала...
Автор: DEZMONDS
Дата сообщения: 21.12.2012 19:03
Доброе время суток назрел очень интересный вопрос.

Сделал репак программы в коде прописал что бы в хост блокировался оф сайт ... но вот в чем проблема программа все ровно проверяет файлы каким образом не знаю. Но что интересное нашел когда при выключенном инете в ручной активации на win 7 в директории C:\ProgramData создается папка моей проги и в ней кидается файл с лицензией и далее все работает ..даже с включеным инетом.

нужный процесс опишу: win 7
Пункты:

1.Запускаем установку выбираем директорию установки по умолчанию (диск "C:\Program Files (x86)") все программа устанавливается копируются ключи реестра и т.д. создается ярлык.
2.Помимо этого хотелось что бы в пути "C:\ProgramData" в которой создалась предварительно папка по пункту "1" еще установился нужный мне файл для активации программы. (файл присутствует в "скрипте" и в программе )

Нужно так что бы этот файл из установленной программы копировался или переместился в указанную мной директорию. "C:\ProgramData"

Я понимаю что это константа для win7 но так же хотелось и узнать код для ХР/Win 8/Vista

читал форум наткнулся на код константы для хр {pf} но так и не понял ....

надеюсь мысль правильно изложил потому как не знаю как это действие называется красиво.

Помогите пожалуйста подскажите код для константы программных файлов для win7/win8/xp/vista
Автор: Karbid87
Дата сообщения: 22.12.2012 16:20
Кто может поделиться примером скрипта, в котором на странице установки проигрывалось бы видео. Заранее спасибо.
Автор: Snoopak96
Дата сообщения: 23.12.2012 10:28
Karbid87
http://krinkels.org/showpost.php?p=11569&postcount=57
Выдёргивать в лом ну или скрипт htuos глянь - в принципе там так же реализовано.
Автор: CKILL
Дата сообщения: 23.12.2012 13:16
DEZMONDS
можно так попробовать

Код:
[Files]
Source: 1\*; DestDir: {sd}\ProgramData\1; Flags: ignoreversion recursesubdirs createallsubdirs
Автор: HEXEP
Дата сообщения: 23.12.2012 13:33
Подскажите, пожалуйста, как назначить label текст из языкового файла. Я хочу, чтобы моему созданному лэйблу назначалась, допустим, надпись WizardInfoBefore, в зависимости от языка инсталлятора.

И как еще менять язык инсталлятора по своей кнопке на форме инсталлятора?

И как еще перейти на свою страницу. Т.е. у меня есть своя созданная страница, и при нажатии на кнопку я должен перейти на нее, независимо от того, какой у нее номер.
Автор: Karbid87
Дата сообщения: 24.12.2012 08:17
Snoopak96
а не могли бы вы всё-таки выковырнуть содержимое скрипта видео. мне надо бы сделать проигрывание видео на странице установки файлов игры (во время распаковки файлов). подойдет пример на самом обычном скрипте сделанном в мастере создания в Инно. А то час времени убил так и не доковырял все нужные строки. одни ошибки у меня выдаёт. много чего я не пойму. и очень многое потерял походу. а вы в своём скрипте как рыба в воде. вам это дело 10 минут. был бы вам очень благодарен за помощь.
Автор: AlekSandrRuslanof
Дата сообщения: 24.12.2012 13:34
У меня такой вопрос. Может кто поможет.
как вот эту строку заставить работать.
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{99985899-9C0F-4AFD-810E-E155B1AD4852}}_is1,InstallLocation}

То бишь есть имя в реестре в фигурных скобках. Наведите на мысль!
Заранее спасибо!
Автор: Gnom3
Дата сообщения: 24.12.2012 18:00
AlekSandrRuslanof
из справки:

Цитата:
{reg:HKxx\SubkeyName,ValueName|DefaultValue}
Возвращает значение реестра.

HKxx - определяет корневой ключ. Для справки обратитесь к Секции [Registry]
SubkeyName - имя раздела
ValueName имя параметра. Пустой параметр = "По умолчанию".
DefaultValue - значение, возвращаемое, если параметр не существует или не строкового типа (REG_SZ или REG_EXPAND_SZ)
Если вы хотите вставить ",", "|", или "}" в константу, Вы должны ввести "%-шестнадцатиричный номер символа в кодировке". Например, запятая равна "%2c", "|" - "%7c", и "}" - "%7d". Если вы хотите вставить "%", введите "%25".
SubkeyName, ValueName, и DefaultValue могут содержать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:

Код: {reg:HKLM\Software\My Program,Path|{pf}\My Program}
Автор: kombat 77
Дата сообщения: 25.12.2012 07:04

HEXEP

Цитата:
Подскажите, пожалуйста, как назначить label текст из языкового файла.

[more=как-то так]
[Setup]
AppName=My Programma
AppVerName=My Programma
DefaultDirName={pf}\My Programma
OutputDir=userdocs:InnoSetupTest.

[Languages]
Name: def; MessagesFile: compiler:Default.isl;
Name: rus; MessagesFile: compiler:Languages\Russian.isl;

[no][Code][/no]
procedure InitializeWizard();
begin
with TLabel.Create(WizardForm) do
begin
Left := ScaleX(10);
Top := ScaleY(320);
Width := ScaleX(200);
Caption := SetupMessage(msgWizardInfoBefore);
Parent := WizardForm;
end;
end;
[/more]
Автор: HEXEP
Дата сообщения: 25.12.2012 09:45
kombat 77

Спасибо, а остальное не подскажете как сделать? Язык инсталлятора как поменять и как, если точно, сделать чтобы по нажатии кнопки закрыть в инсатлляторе отображалась своя страница.

Свою страницу создал после wpWelcome, и пропускаю ее через условие PageID=Моя страница и МояПеременная=True. Как я представляю, при нажатии кнопки закрыть, МояПеременная=False и нужно сделать как то переход на мою страницу, только вот как?

Я хочу сделать как в последнем скрипте от Catalyst. У них и язык кнопкой можно менять и по кнопке закрыть своя страница.
Автор: Karbid87
Дата сообщения: 25.12.2012 20:01
Ребята, помогите с видео в установщике. Вот http://rghost.ru/42511092 на что меня хватило. Самый простенький скрипт.
Хотел сделать:
1. Проигрывание видео во время распаковки файлов.
2. На странице завершения установки остановка (выключение) видео.
3. Если во время установки нажать Отмена, то видео встанет на Паузу.
4. После нажатия Нет в окошке отмены установки (вы действительно хотите прервать установку?) проигрывание видео продолжилоь бы с места остановки.

Третий и четвертый пункты для меня не подсилу. И первые два никак не получаются. Помогите пожалуйста.
P.S. Video.avi использовал из скрипта PSP, рекомендованный мне выше.
Автор: nik1967
Дата сообщения: 25.12.2012 21:11

Цитата:
Я хочу сделать как в последнем скрипте от Catalyst. У них и язык кнопкой можно менять и по кнопке закрыть своя страница.

Немного подскажу - у меня при выходе не своя страница, а создаётся панель на всю страницу. Ну а смена языка на лету - это ноу-хау Shegorat'а.
Автор: kombat 77
Дата сообщения: 25.12.2012 23:20
HEXEP

Цитата:
только вот как?

Ну, первое что приходит в голову, эту затею можно запилить через процедуру CancelButtonClick и свою страницу я бы непосредственно в этой процедуре
создавал, вот только со стандартным ExitSetupMessage придётся что-то делать, или
вовсе от него отказаться, или если он нужен, то заменить его своим
Автор: HEXEP
Дата сообщения: 26.12.2012 12:23
нет, я через панельку сделаю, так проще намного) как я раньше не подумал )
только вот переключение языков на лету сделать...
Автор: AtotIK
Дата сообщения: 26.12.2012 18:26
R3Pa4eK, тут этого не видно. Дописал уже в последствии.
Автор: albertanvar
Дата сообщения: 27.12.2012 11:52
А как все-таки русифицируется интерфейс для "Расширенная версия от китайских собратьев" (исполняемый файл Compil32Ex.exe)? Скачал по ссылке в шапке "Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva", куда только не помещал Russian_Ansi.lng и Russian_Unicode.lng (да и просто Russian.lng)... Все равно кнопка "Languages" программы в крайнем правом верхнем углу показывает только один язык "Built-in (English)". Присоединился к ветке (т.е., дошел до стадии установки своей программы) только вчера, так что не пеняйте строго...
Автор: nik1967
Дата сообщения: 28.12.2012 06:26
albertanvar, языковые файлы должны лежать в папке "ISLanguages".
Автор: Gnom3
Дата сообщения: 28.12.2012 06:57

Цитата:
языковые файлы должны лежать в папке "ISLanguages".

китайцы давно уже прикладывают русский язык. даже удивительно, где товарищ albertanvar умудрился найти без оного. Другое дело, что русский там косоват местами, но это дело уже исправлено - в следующем обновлении моей сборки будет русик от другого автора, эксклюзивно, и так далее, так сказать
Автор: albertanvar
Дата сообщения: 28.12.2012 14:40

Цитата:
языковые файлы должны лежать в папке "ISLanguages".
, сработало, спасибо.
Автор: Apelsinn
Дата сообщения: 29.12.2012 01:25
Господа, как сделать так чтобы при копировании файлов в "FlinameLabel" отображалось только название копируемого в данный момент файла?
Автор: sergey3695
Дата сообщения: 29.12.2012 12:55

Цитата:
Я хочу сделать как в последнем скрипте от Catalyst. У них и язык кнопкой можно менять и по кнопке закрыть своя страница.

Напрашивается вопрос: и нафига? смысла не вижу. Может ты nik1967 хоть скажешь че все пытаются под кого-то закосить. Смена языка, зачем вообще это надо? Понимаю до установки,но во время зачем?
Автор: nik1967
Дата сообщения: 29.12.2012 19:04

Цитата:
Может ты nik1967 хоть скажешь че все пытаются под кого-то закосить. Смена языка, зачем вообще это надо? Понимаю до установки,но во время зачем?

А фиг его не знает, почему. Может, для самоутверждения? Тогда и делать нужно самому.
Автор: HEXEP
Дата сообщения: 29.12.2012 20:57
Написать скрипт для самоутверждения? )))) Скорее от нечего делать во время сессии.
Я не такой задрот, как вы тут подумали, чтобы за счет ТАКОГО самоутверждаться. Просто интересная функция, и мне интересна ее реализация. Но раз ноу хау, то вопросов нет.
Автор: sergey3695
Дата сообщения: 30.12.2012 09:22
HEXEP
вот чисто для меня нету никого смысла делать данную смену языка. Во-первых больше двух языков не сделать . Во-вторых это геморойно и полностью к установшику не применить. Тоесть как это сделать, создать кнопку и повесить на нее смену каптионов (надписей) ну и все. Думаешь легко, ну чтоб тут сложно, но придется создавать сообщение отмены на своей форме и т.д. Причём некоторые сообщения на свою форму не поменять.

Цитата:
отчего-же. заменил кнопку комбобоксом и все дела.

ну да с помощью комбобокса хоть скоко душе угодно лижбы не надоело прописывать. я имел ввиду на кнопке.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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