Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
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 штуки, наверное где то в темповой папке надо распаковать а после установки удалить.
Или лучше не заморачиваться и делать все в коммандной строке?
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
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\
...
Может, кто знает или есть пример. В общем, задача следующая:
нужно сделать второй прогрессбар для отображения распаковки архивов freearc (возможно с использованием precomp). "RePack'ов" появляется очень много, а вот найти скрипт с использованием подобного не получается...
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, интересно, а без мыла можно обойтись?
dissasminno, т.е. вы хотите сказать, что (скорей всего за небольшую сумму денег) вы готовы извлечь секцию [Code] в работоспособном состоянии? Есть программы с помощью которых можно узнать, что именно инсталлятор должен сделать из секции [Code], но это будет понятно только тому, кто разбирается в программировании... Поэтому извлечь работоспособный код невозможно, а поэтому лохотрон разводить не надо...
Всем привет!Скажите пожалуйста как при создании выбора компонентов указать на один компонент несколько файлов?И если выбран компонент то эти файлы будут копироваться в указанную папку где они и должны быть?а если компонент не выбран при установке то они не будут копироваться.
Вот пример скрипта.
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
Также хотелось бы узнать как на компонент установить на разные типы установки разные флаги?
Спасибо.
как при создании выбора компонентов указать на один компонент несколько файлов? »[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, для freearc или precomp не встречал, а если для распаковки архивов 7z, то есть библиотека is7z.dll (http://narod.ru/disk/4472636000/is7z%20v1.01.rar.html), для показа хода распаковки 7z архивов во втором прогрессбаре. Инструкция и пример использования в архиве.
Про 7-Zip знаю, думал, знаете про технику с freearc'ом, но все ровно спасибо.
Вопрос, существует ini файл такого вида
[***]
ConStr=Provider=***.1;Data Source=***;Initial Catalog=***
Мне необходимо изменить параметры Data Source и Initial Catalog при запуске инсталяции приложения. Создается окно с возможностью ввода этих параметров ( реализовано ). Теперь проблема: дело в том что inno setup понимает параметры записанные в каждой строке отдельно. Т.е. мне необходимо разбить строку на отдельные компоненты, изменить их и собрать снова а затем записать в ini. Как это сделать в [code] или существует другой путь?
MrLD, а нельзя ли просто сразу вводить данные в том виде, в котором затем записывать, чтоб не заморачиваться с разбиением строки?
Нет, если я правильно понял о чем ты говоришь, дело в том что программа распознает только такую запись (строкой) в ini. А изменения в программу вносить нельзя. Так бы я сам изменил интерпретацию и все. а лезть в код запретили. А inno только с отдельными строками явно работает. Как это обойти.... ??
MrLD, а инишник обязательно сохранять, может просто заново создать текстовый файл, только с расширением .ini?
SaveStringToFile(ExpandConstant('{app}\main.ini'), 'текст.....' + #13, true);
Serega_, Подскажи как сделать. Есть программа и файлы которые должны с ней ассоциироваться, как сделать так чтобы сразу после установки проги в этих файлах отображалась иконка программы а не после перезагрузки компа?
tem000, добавьте в секцию [Setup]
.......
ChangesAssociations=yes
........
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 ) из строки а потом вставить их обратно измененными.... вот в чем вопрос.
MrLD, а разве нельзя сделать, несколько полей ввода, чтоб разделить данные? Просто я как понял данные 111 и 222 у всех должны быть разные, ну и сделайте отдельное поля для данных 111 и для 222...
В противном случае вам необходимо читать строку посимвольно, а как это делать я пока не знаю... я только учусь :wink:...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.