PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 [95] 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

boss911
08-03-2017, 14:49
скажите как далеко ушла официальная версия 5.5.9 от официальной 5.5.1. »
http://www.jrsoftware.org/files/is5-whatsnew.htm
Не все золото что блестит! »
Эта поговорка больше подходит для MS. :)

ZVSRus
08-03-2017, 15:24
boss911, Ссылка http://www.jrsoftware.org/files/is5-whatsnew.htm

Инно установки юникод: Добавлен официальный перевод на армянский. Мелкие хитрости. (последняя строка машинного перевода)

Я думал что вы своими словами поясните те прекрасные нововведения, а так это относится к другой поговорке (или пословице как вам угодно) На заборе тоже написано.
И последнее, не в обиду, что вы ждёте от новых версий, расширенной или официальной, просто интересно.

boss911
08-03-2017, 17:36
своими словами поясните »
Мне достаточно того, что уже 5 лет нет ни каких обновлений, смотря на ченчлог официальной версии, тут сразу напрашивается вердикт, что проект заброшен, так как за 5 лет точно можно было бы найти время.
что вы ждёте от новых версий »
Того, чего вряд ли будет. 64-битный компилер и возможность создавать (без костылей) полностью silent инсталляторы, то есть без оконные. От расширенной версии ничего не жду, не пользовался я ей, хотя бы потому, что с секцией Code я все равно не дружу и мне нужна возможность распаковывать свои инсталлы анпакером.

ZVSRus
08-03-2017, 18:31
boss911,

По поводу первого пояснения, пусть даже и заброшен, но я думаю что больше половины репакеров сидят именно на расширенной версии, жаль конечно что вы не как не хотите осваивать расширенную, когда она попалась мне, то первое время тоже было сложновато, а сейчас ничего другого не надо. Как писать коды не обязательно знать, все уже давно написано другими, просто нужно знать что скопировать, и куда вставить, примеров на форумах хоть отбавляй.
По поводу второго пояснения, то что то припоминаю ту дискуссию на руборде. Так вот Inno Setup со встроенной функцией silent или verysilent как у sfx архива winrar вы не дождётесь, потому что это был бы не установщик программ а полное дерьмо.
Джордан Рассел написавший такую прекрасную программу не дурак что бы сделать данные функции вшитыми, хотя думаю для него это не сложно. Если бы у Inno Setup silent и verysilent были бы вшитыми, тогда заниматься плагиатом и вредительством было бы на раз, два. Создал свой установщик ничего не прописывая, запихнул в него репак проверенного автора, выбрал установку verysilent (ни чего не показывая конечному пользователю) и вуаля. Или помимо программы напихать разного хлама или вирусов (люди разные бывают).
Объясняю это потому что встречались пользователи задававшие вопрос по поводу кода, как запихнуть в свой установщик другой установщик, то есть через секцию RUN с ключом тихой установки, и чтобы конечный пользователь ни чего не видел.
Так что судите сами было бы это правильно или нет. Для вас это было бы автоматизация, для других плагиат.

Nordek
08-03-2017, 19:29
То есть любителей расширенной (не официальной) версии не смущает тот факт, что проект заброшен 5 лет тому назад »Не смущает.

о что не выходят новые расширенные версии ну скажем 5.5.9 это еще не говорит о том что проект заброшен. »Заброшен. Действительно, за уже довольно долгое время можно было бы что-то выпустить.

Мне достаточно того, что уже 5 лет нет ни каких обновлений, »Windows 10 перестала понимать Inno? Inno - это всего лишь инструмент для создания инсталляторов.
P.S Windows XP тоже не обновляется, но за ней ещё работают. А это не много не мало: Операционная система. Как многим известно: не обновляемая ОС - это большой удар по безопасности. Чувствуется разница.

возможность создавать (без костылей) полностью silent инсталляторы, то есть без оконные. »Для инсталлятора - это только плюс. Иначе при таком положении каждому желающему не составляло труда закриптовать "вирусню" и всё это включать в инсталлятор задавая тихую инсталляцию.
Если у пользователя появится необходимость использовать безоконный режим - выполнит инсталлятор с ключом.
NSIS чем не устраивает?

boss911, ZVSRus, Данная тема меняется в пользу Inno Setup. Прочие вопросы (http://forum.oszone.net/thread-148707.html).

boss911
08-03-2017, 22:05
ZVSRus, Nordek

Для вас это было бы автоматизация, для других плагиат. »
Для себя и нужно, а в итоге другие мешают. А я причем?

Nordek

Ваш ликбез мне понятен и не нова, но меня спросили, что я хочу, я ответил. Я прекрасно понимаю, что другие этим будут злоупотреблять, только мне не нужно это пояснять, не мальчик.

NSIS чем не устраивает? »
Не понятно. (с) А. Рева
Заканчиваем?

pist0n
09-03-2017, 21:36
вечер добрый - не подскажите, как применить патч xdelta для восстановления файла?
снял хдельтой разницу между двумя файлами - получил патч .diff и нужно восстановить файл - в ISDone вроде есть такая функция - прописал так
if not ISxDeltaExtract ( 0, 0, 0, 640, ExpandConstant('{app}\movies\en\se_1_3.vp6'), ExpandConstant('{app}\movies\en\se_1_3.diff'), ExpandConstant('{app}\movies\ru\se_1_3.vp6'), false, false) then break;
но появляется ошибка xdelta в конце распаковки - видимо что-то сделал не так(

UPD проблему решил

pist0n
11-03-2017, 11:10
а как переместить файлы из одной папки в другую с заменой в конце установки? кроме батника

saurn
11-03-2017, 16:09
а как переместить файлы из одной папки в другую с заменой в конце установки? кроме батника »
Проще всего посредством секции [Files]:
[Files]
Source: "исходная папка\*"; DestDir: "папка назначения"; Flags: external recursesubdirs createallsubdirs overwritereadonly ignoreversion;

pist0n
11-03-2017, 17:28
Source: "исходная папка\*" »
выдаёт ошибку в конце установки - не найдены файлы и папка - эта команда выполняется первичней чем моя по распаковке arc архива - у меня в isdone внизу функция стоит по распаковке
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
и ниже по хдельте
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\xdelta.exe'), '-d -s -f movies\en\se_1_3.vp6 movies\en\se_1_3.xdelta movies\en\se_1_3.vp6', ExpandConstant('{app}'), '...',false) then break;
поэтому и не находит - как сделать, чтобы после этих функций в самом конце шёл перенос файлов? мб есть функции как те выше

saurn
11-03-2017, 17:56
pist0n, выполните распаковку на шаге ssInstal, тогда секция Files будет обрабатываться после. Или выполняйте перемещение через секцию Code.
Здесь (http://forum.oszone.net/post-2258654-1474.html) пример.

pist0n
11-03-2017, 18:22
выполните распаковку на шаге ssInstal »
а это как сделать?
.
UPD вообщем решил конвертнуть в ехе батник с командой перемещения и сделать также как и дельту - прописав ниже
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\батник.exe'), ExpandConstant('{app}'), '...',false) then break;
ну или через секцию [Run] ещё можно

pist0n
16-03-2017, 20:13
как при выборе установки в ту же папку, убрать предупреждение "эта папка уже существует - всё равно установить в эту папку"?

ZVSRus
16-03-2017, 21:21
pist0n,
[Setup]
DirExistsWarning=no

pist0n
16-03-2017, 23:49
pist0n,
[Setup]
DirExistsWarning=no »
спс - уже нашёл только что - как грится справка и ещё раз справка :teeth:

pist0n
17-03-2017, 10:58
если прописать в секции [Run] флаг postinstall, то на финальном окне установки будет чекбокс о запуске нужного файла - есть возможность убрать этот чекбокс? чтобы его вообще не было, но файл также запустился при нажатии кнопки завершить

ZVSRus
17-03-2017, 13:45
pist0n,
Если нужно что бы чекбокс был не виден убери флаг postinstall. Что бы запустился файл из секции [Run] кнопкой завершить, тогда наверное нужно написать функцию к данной кнопке, но как это будет работать, вопрос, так как кнопка завершить, это кнопка Далее она одна для всех страниц, на странице готовности она выглядит Установить, на финишной странице Завершить.

saurn
17-03-2017, 15:23
есть возможность убрать этот чекбокс? чтобы его вообще не было, но файл также запустился при нажатии кнопки завершить »
Например, так:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
Compression=none
Uninstallable=no
CreateUninstallRegKey=no


[Run]
Filename: "{sys}\calc.exe"; Flags: postinstall nowait;


[Code]
procedure CurPageChanged( CurPageID: Integer );
begin
case CurPageID of
wpFinished: WizardForm.RunList.Hide;
end;
end;
Или, как предложили выше, запускать через секцию Code:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
Compression=none
Uninstallable=no
CreateUninstallRegKey=no


[Code]
function NextButtonClick( CurPageID: Integer ): Boolean;
var
_nErr: Integer;
begin
case CurPageID of
wpFinished: if FileExists( ExpandConstant( '{sys}\calc.exe' ) ) then
Result := Exec( ExpandConstant( '{sys}\calc.exe' ), '', '', SW_SHOW, ewNoWait, _nErr )
else Result := True;
else Result := True;
end;
end;

pist0n
17-03-2017, 18:29
Или, как предложили выше, запускать через секцию Code: »
о спс работает - а первый вариант что-то в код пытался вставить в эту же процедуру, но ошибку выдаёт
у меня просто в исдоне функции IS7ZipExtract и ISExec стоят с ssPostInstall, тк нужно выполнять их после распаковки из [Files] - поэтому через [Run] батник я не могу запустить в конце, тк он запускается после распаковки [Files] и удаляет лишние файлы которые нужны следующим функциям - короче лишние файлы нужно удалить в самом конце - также и через код пробовал это DelTree(ExpandConstant('{app}\***'), True, True, True) - тоже удаляет не в самом конце а после [Files] - теперь извращяюсь и думаю как удалить лишние файлы после установки - вот с этим вариантом выше норм через батник - а есть ещё разные вариаты без батника удалить в самом конце установки?

Dodakaedr
17-03-2017, 20:53
а есть ещё разные вариаты без батника удалить в самом конце установки? »
Кнопка завершить это этап ssDone, вот в нём и пишите удаление папок (DelTree) или файлов (DeleteFile).




© OSzone.net 2001-2012