Войти

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


Страниц : 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

mariolast
08-03-2009, 18:23
Serega_,
Все получилось, спасибо :)

Теперь еще задача, надо поставить эмулятор, подойдет ли для этого InnoSetup?

Сначала запускаю
hinstall.exe -i
Далее в зависимости от выбора пользователя ((local or network) заношу значения в реестр
Dump_Multikey_net.reg или Dump_Multikey_loc.reg
Далее ставлю сам эмулятор коммандой
devcon install multikey.inf root\multikey

Все пожалуй, файлов для всего этого 24 штуки, наверное где то в темповой папке надо распаковать а после установки удалить.
Или лучше не заморачиваться и делать все в коммандной строке?

Serega
08-03-2009, 20:05
mariolast, сказать честно, я не знаю, что такое эмулятор, но запускать программы или установку других программ можно через секцию [Run]...

P.S.
Нашёл у себя в примерах скрипт, скорей всего это то, что вам надо[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DirExistsWarning=no
DefaultDirName={pf}\My Program
;devcon install RAMDriv.inf RAMDriv

[Files]
Source: Files\FStarForce.sys; DestDir: {tmp}
Source: Files\dev000.inf; DestDir: {tmp}
Source: Files\devcon.exe; DestDir: {app}

[Run]
Filename: {app}\devcon.exe; Parameters: -r install {tmp}\dev000.inf 0; Flags: runhidden waituntilterminated

[UninstallRun]
Filename: {app}\devcon.exe; Parameters: " remove 0"; Flags: runhidden waituntilterminated

bish
08-03-2009, 23:45
Vadikan » пора-бы обновить шапку:
на оффициале - 5.2.3 версия, и некоторые ссылки не рабочии.!

mariolast
09-03-2009, 01:16
Делаю так

[Files]
Source: U:\INSTALL\Liga\HASP.drv\*; DestDir: {app}\haspdrv; Flags: ignoreversion recursesubdirs createallsubdirs
Source: U:\INSTALL\Liga\Emul\*; DestDir: {app}\MultiKey32; Flags: ignoreversion recursesubdirs createallsubdirs; components: local32 network32
Source: U:\INSTALL\Liga\Emul\MultiKey64\*; DestDir: {app}\MultiKey64; Flags: ignoreversion recursesubdirs createallsubdirs; components: local64 network64
[Run]

Filename: {app}\haspdrv\hinstall.exe; Parameters: -i; WorkingDir: {app}
Filename: {app}\MultiKey32\install.cmd; components: local32 network32; WorkingDir: {app}
Filename: {app}\MultiKey64\install.cmd; components: local64 network64; WorkingDir: {app}

[UninstallRun]
Filename: {app}\MultiKey32\remove.cmd; components: local32 network32; WorkingDir: {app}; Flags: runhidden waituntilterminated
Filename: {app}\MultiKey64\remove.cmd; components: local64 network64; WorkingDir: {app}; Flags: runhidden waituntilterminated

[UninstallDelete]
Type: files; Name: {win}\system32\drivers\multikey.sys
Type: filesandordirs; Name: {app}

install.cmd и remove.cmd это батники, запускаются с папок MultiKey32\ или MultiKey64\

Не работает скрипт при вызове комманд из батника, видимо надо его запускать прямо из папки MultiKey32\. Можно как то это реализовать?

Вроде так получилось
....
Filename: {app}\haspdrv\hinstall.exe; Parameters: -i; WorkingDir: {app}\haspdrv
Filename: {app}\MultiKey32\install.cmd; components: local32 network32; WorkingDir: {app}\MultiKey32\
Filename: {app}\MultiKey64\install.cmd; components: local64 network64; WorkingDir: {app}\MultiKey64\
...

de_MAX
12-03-2009, 16:21
Может, кто знает или есть пример. В общем, задача следующая:
нужно сделать второй прогрессбар для отображения распаковки архивов freearc (возможно с использованием precomp). "RePack'ов" появляется очень много, а вот найти скрипт с использованием подобного не получается...

Serega
14-03-2009, 23:11
de_MAX, для freearc или precomp не встречал, а если для распаковки архивов 7z, то есть библиотека is7z.dll (http://narod.ru/disk/4472636000/is7z%20v1.01.rar.html), для показа хода распаковки 7z архивов во втором прогрессбаре. Инструкция и пример использования в архиве.

dissasminno
15-03-2009, 20:47
Если Вы хотите получить исходный текст секции Code установочного скрипта любого инсталлятора сделанного с помощью Inno Setup, присылайте инсталлятор (либо ссылку на него).
Исходные тексты Code готовы к немедленной компиляции и дают 100% совпадение с оригиналом exe.

katok888
15-03-2009, 21:06
dissasminno, интересно, а без мыла можно обойтись?

Serega
15-03-2009, 21:31
dissasminno, т.е. вы хотите сказать, что (скорей всего за небольшую сумму денег) вы готовы извлечь секцию [Code] в работоспособном состоянии? Есть программы с помощью которых можно узнать, что именно инсталлятор должен сделать из секции [Code], но это будет понятно только тому, кто разбирается в программировании... Поэтому извлечь работоспособный код невозможно, а поэтому лохотрон разводить не надо...

Diman19
16-03-2009, 02:18
Всем привет!Скажите пожалуйста как при создании выбора компонентов указать на один компонент несколько файлов?И если выбран компонент то эти файлы будут копироваться в указанную папку где они и должны быть?а если компонент не выбран при установке то они не будут копироваться.

Вот пример скрипта.

Source: "MyProg.exe"; DestDir: "{app}"; Components: program
Source: "MyProg.chm"; DestDir: "{app}"; Components: help
Source: "Readme.txt"; DestDir: "{app}"; Components: readme\en; Flags: isreadme
Source: "Readme-German.txt"; DestName: "Liesmich.txt"; DestDir: "{app}"; Components: readme\de; Flags: isreadme

Также хотелось бы узнать как на компонент установить на разные типы установки разные флаги?

Спасибо.

Serega
16-03-2009, 08:09
как при создании выбора компонентов указать на один компонент несколько файлов? »[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.

[Languages]
Name: russian; MessagesFile: compiler:Default.isl

[Types]
Name: full; Description: Полная установка
Name: custom; Description: Выборочная установка; Flags: iscustom

[Components]
Name: a; Description: Моя программа™; Types: full custom
Name: b; Description: Примеры скриптов; Types: full

[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Components: a
Source: compiler:Examples\MyDll.dll; DestDir: {app}; Components: a
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Components: a
Source: compiler:Examples\*.iss; DestDir: {app}; Components: b


Также хотелось бы узнать как на компонент установить на разные типы установки разные флаги? »в секции [Types], можно указать только один флаг - iscustom.
А что конкретно вы хотите сделать?

de_MAX
16-03-2009, 11:10
de_MAX, для freearc или precomp не встречал, а если для распаковки архивов 7z, то есть библиотека is7z.dll (http://narod.ru/disk/4472636000/is7z%20v1.01.rar.html), для показа хода распаковки 7z архивов во втором прогрессбаре. Инструкция и пример использования в архиве.
Про 7-Zip знаю, думал, знаете про технику с freearc'ом, но все ровно спасибо.

MrLD
18-03-2009, 14:57
Вопрос, существует ini файл такого вида
[***]
ConStr=Provider=***.1;Data Source=***;Initial Catalog=***

Мне необходимо изменить параметры Data Source и Initial Catalog при запуске инсталяции приложения. Создается окно с возможностью ввода этих параметров ( реализовано ). Теперь проблема: дело в том что inno setup понимает параметры записанные в каждой строке отдельно. Т.е. мне необходимо разбить строку на отдельные компоненты, изменить их и собрать снова а затем записать в ini. Как это сделать в [code] или существует другой путь?

Serega
18-03-2009, 16:09
MrLD, а нельзя ли просто сразу вводить данные в том виде, в котором затем записывать, чтоб не заморачиваться с разбиением строки?

MrLD
18-03-2009, 16:21
Нет, если я правильно понял о чем ты говоришь, дело в том что программа распознает только такую запись (строкой) в ini. А изменения в программу вносить нельзя. Так бы я сам изменил интерпретацию и все. а лезть в код запретили. А inno только с отдельными строками явно работает. Как это обойти.... ??

Serega
18-03-2009, 17:26
MrLD, а инишник обязательно сохранять, может просто заново создать текстовый файл, только с расширением .ini?
SaveStringToFile(ExpandConstant('{app}\main.ini'), 'текст.....' + #13, true);

tem000
18-03-2009, 23:44
Serega_, Подскажи как сделать. Есть программа и файлы которые должны с ней ассоциироваться, как сделать так чтобы сразу после установки проги в этих файлах отображалась иконка программы а не после перезагрузки компа?

Serega
19-03-2009, 00:20
tem000, добавьте в секцию [Setup]
.......
ChangesAssociations=yes
........

MrLD
19-03-2009, 09:57
Serega_, Можно конечно и создать. (уже пробовал).. только вот у меня задача при инсталяции изменить значение параметров в строке... а я не могу задать сразу несколько key для одного ini. Т.е. приходиться представлять для пользователя поле ввода куда ему надо записывать примерно следующее: Data Source=111;Initial Catalog=222
(ConStr=Provider=***;Data Source=111;Initial Catalog=222) а надо при установке (в появившемся окне) вносить изменения значения 111 и 222. Если бы data Source и initial catalog записывались каждый в своей строке вопроса не было бы. А вот как мне вытащить 111 и 222 (параметры data Source и initial catalog ) из строки а потом вставить их обратно измененными.... вот в чем вопрос.

Serega
19-03-2009, 10:14
MrLD, а разве нельзя сделать, несколько полей ввода, чтоб разделить данные? Просто я как понял данные 111 и 222 у всех должны быть разные, ну и сделайте отдельное поля для данных 111 и для 222...
В противном случае вам необходимо читать строку посимвольно, а как это делать я пока не знаю... я только учусь :wink:...




© OSzone.net 2001-2012