Войти

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


Страниц : 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 127 128 129 130 131 132 133

Henry_Townsend
04-10-2010, 22:14
1я проблема отпала, огромное спасибо чуваку,что делал установку хитмана!

А вот 2я и 3я... особенно 3я...

komsomolets
06-10-2010, 00:29
Народ, есть скрипт для распаковки FreeArc архива, а есть такой же, чтобы он создавал иконку на рабочем столе, а не только в меню пуск, и как сделать, чтобы он добавлял информацию с reg файла приложения, и куда все это добро кидать (reg-файл и файл иконку)

R.i.m.s.k.y.
06-10-2010, 08:29
Интересно, здесь хоть кто-нибудь читает справку/FAQ в шапке темы перед тем как задавать вопросы?

создавал иконку на рабочем столе »
Name: {commondesktop}\Total Commander XP; Filename: {app}\TOTALCMD.exe; WorkingDir: {app}\; IconFilename: {app}\icon.ico;

добавлял информацию с reg файла приложения »
Filename: reg.exe; Parameters: " import ""{tmp}\0.reg"""; StatusMsg: Импорт файла реестра; Flags: runhidden waituntilterminated

куда все это добро кидать (reg-файл и файл иконку) »
[Files]
Source: icon.ico; DestDir: {app};
Source: 0.reg; DestDir: {tmp};

komsomolets
06-10-2010, 23:09
Вставил строку кода в скрипт для установки DirecrX, а он устанавливается в начале установки приложения. Что я сделал неправильно: не в том месте вставил код или еще что то?

[Run] Filename: "{src}\Redist\directx\DXSETUP.exe"; WorkingDir: "{src}\Redist"; Flags: waituntilterminated;

И куда вставлять код с рег-файлом, не пойму.
Для иконки я понял, что под [Icons]

Sotonisto
07-10-2010, 03:37
komsomolets, не проще было б, если бы изменения в реестре вносил сам инсталл (через [Registry])?
А по поводу DirecrX - точно такой вопрос уже звучал ранее. Полистай эту тему (лично я FreeArc не часто использую, так что больше
ничего посоветовать не могу) :) Да и псолушай совет, который дал R.i.m.s.k.y. - скачай для начала руководство и примеры скриптов,
а потом уже задавай вопросы :)

Henry_Townsend, если у тебя все еще проблемы с скриптом - кинь мне его в личку :) Посмотрим что там :)

R.i.m.s.k.y.
07-10-2010, 08:31
И куда вставлять код с рег-файлом, не пойму »
Потому что не стараешься! ;-) В секцию RunВставил строку кода в скрипт для установки DirecrX, а он устанавливается в начале установки приложения »
Секция Run запускается в конце установки, когда зеленая колбаса доползает до конца. Ты все ставишь в секции Run? Тогда расставляй правильно порядок строк, инсталлер идет по ним сверху вниз. Я кстати и давал пример скрипта на DirectX в этой теме, юзай поиск.

Если почитать справку то там можно найти такую бесполезную информацию как порядок выполнения скрипта: сначала копируются файлы, потом реестр, потом иконки создаются, потом секция Run. Деинсталляция в обратном порядке.
Это на табуреточном уровне. Еще вклиниваются CurPageChanged и CurStepChanged и секции InstallDelete и UninstallDelete, служебные InitializeWizard/InitializeSetup. В секции Files можно заюзать BeforeInstall/AfterInstall. В общем ключевые слова для поиска я написал, можно поилстать темку на 8-10 страниц назад - кое что из этого было.

Henry_Townsend
07-10-2010, 08:38
Товарищи,ответьте,пожалуйста,на простой(или не очень,раз задаю его второй раз) вопрос:можно ли вообще текстурировать кнопку если она вынесена на передний план?А если можно,то как?

R.i.m.s.k.y.
07-10-2010, 09:05
Товарищи,ответьте,пожалуйста,на простой(или не очень,раз задаю его второй раз) вопрос:можно ли вообще текстурировать кнопку если она вынесена на передний план?А если можно,то как? »
Можно. А можно для общего развития скачать и полистать коллекцию скриптов. Подсказка - Button, папка там такая есть. Твой случай.
И вообще зачем камрад Serega создавал эту тему и собирал в одну кучку ништячки в шапке темы?

Больше всего удивляет детская наивность анонимусов - ща как задам вопрос и не потратив ни одной калории получу ответ на свои вопросы. Можете еще в форточку покричать "Халява ловись". Между человеком, который ищет ответы на вопросы, но не врубается в данном пространственно-временном континууме по разным причинам, и человеком, ищущим халяву, разницу видно сразу уже по характеру написания постов. Первым стараются помочь не только в этом форуме, вторым не помогут даже здесь.
Мораль - юзайте FAQ, поиск и оба-два полушария мозга. Всегда и везде. Ведь вам еще жить да жить!

R.i.m.s.k.y.
07-10-2010, 09:48
если у тебя все еще проблемы с скриптом - кинь мне его в личку »
А результаты сюда можно? Вдруг пригодится.

Sotonisto
07-10-2010, 12:16
А результаты сюда можно? Вдруг пригодится. »
Ну эт если он мне его кинет :)

P.S.: Я не уверен, но вроде бы за основу он использует скрипт Черного инсталла (http://forum.oszone.net/showpost.php?p=1277643)? :)

R.i.m.s.k.y.
07-10-2010, 12:18
Я не уверен, но вроде бы за основу он использует скрипт Черного инсталла »
Легенда о "ч0рном инсталле" ;) Я по оформлениям не очень...

komsomolets
07-10-2010, 18:20
Спасибо что помогаете, ну а насчет FAQ, то там не все работает, а то что есть, не отвечает на мои вопросы. Прийдется листать форум и юзать поиск. Спасибо еще раз. Секцию [Run] последней ставить?

-S.S.V.-
08-10-2010, 01:12
Здравствуйте, подскажите пожалуйста возможно ли как встроить архив FreeArc в инсталятор, чтобы было одним файлом.
Заранее благодарю.

shao
08-10-2010, 03:06
Использую в скрипте код для изменения названия файла деинсталляции:
unins000.exe на uninstall.exe
unins000.dat на uninstall.dat

Вот сам код :

[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
RenameFile(ExpandConstant('{app}\unins000.exe'), ExpandConstant('{app}\uninstall.exe'))
RenameFile(ExpandConstant('{app}\unins000.dat'), ExpandConstant('{app}\uninstall.dat'))
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','UninstallString', ExpandConstant('{app}\uninstall.exe'))
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','QuietUninstallString', ExpandConstant('{app}\uninstall.exe /SILENT'))
end;

В результате при компиляции вот такая вот штука получается :
http://i073.radikal.ru/1010/79/8dab96f732b6t.jpg (http://radikal.ru/F/i073.radikal.ru/1010/79/8dab96f732b6.jpg.html)


http://img69.imageshack.us/img69/1976/69224795.th.jpg (http://img69.imageshack.us/i/69224795.jpg/)


В чем дело, подскажите пожалуйста ?

R.i.m.s.k.y.
08-10-2010, 08:41
Секцию [Run] последней ставить »
Секцию Run без разницы где в скрипте ставить - инно сам порядок расставляет. А вот порядок строчек внутри Run уже имеет значение, в секции Run инно идет сверху вниз.

В чем дело, подскажите пожалуйста »
Инно ясно говорит - "Хачу точку_с_запятой". Код Инно - это Паскаль. А в Паскале каждая строчка должна заканчиваться ";" (без кавык). Если стоит препроцессор из шапки темы - то по барабану, но по скринам видно - не установлен. И не понял юмора - зачем один скрин выкладывать два раза?


[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
RenameFile(ExpandConstant('{app}\unins000.exe'), ExpandConstant('{app}\uninstall.exe'));
RenameFile(ExpandConstant('{app}\unins000.dat'), ExpandConstant('{app}\uninstall.dat'));
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','UninstallString', ExpandConstant('{app}\uninstall.exe'));
RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя Прога_is1','QuietUninstallString', ExpandConstant('{app}\uninstall.exe /SILENT'));
end;

Krinkels
08-10-2010, 13:45
Друзья, накатал сборник скриптов с часто спрашиваемыми вопросами. Вот (http://www.krinkels.ru/load/raznoe/inno_faq_chm/2-1-0-12) ссылка для скачивания.

R.i.m.s.k.y.
08-10-2010, 14:13
Друзья, накатал сборник скриптов с часто спрашиваемыми вопросами. Вот ссылка для скачивания »
Мне кажется или там половина из сборника скриптов?
Без комментариев очень тяжело разобраться - расставьте комментарии, пожалуйста.
И моя личная ИМХА - в связи в возросшим кол-вом "базовых" вопросов стоит расписать как работает инно и скрипты - порядок запуска, значения секций и параметров, общие правила синтаксиса инно.

Что за символы & a p o s в chm?
с разделе "Ассоциация файлов" ошибка в строчке Root: HKLM; Subkey: SOFTWARE\Classes\MP64; ValueType: string; ValueData: My Program; Name: uninsdeletekey
uninsdeletekey - это флаг

В общем причешите файлик.

Задумка хорошая, после пары релизов, если не будете относится спустя рукава, получится хороший хелп. Спасибо за начинание!

Krinkels
08-10-2010, 16:29
R.i.m.s.k.y.
Без комментариев очень тяжело разобраться - расставьте комментарии, пожалуйста. »
Ну это проект одного человека, и я не могу просто все успеть. Да и честно говоря Inno и паскаль порядочно подзабыл.
И моя личная ИМХА - в связи в возросшим кол-вом "базовых" вопросов стоит расписать как работает инно и скрипты - порядок запуска, значения секций и параметров, общие правила синтаксиса инно. »
Это все можно узнать из стандартной справки.
Что за символы & a p o s в chm? »
Апостроф будь он не ладен, исправлю.
с разделе "Ассоциация файлов" ошибка в строчке Root: HKLM; Subkey: SOFTWARE\Classes\MP64; ValueType: string; ValueData: My Program; Name: uninsdeletekey
uninsdeletekey - это флаг »
Скрипты писал не я а собирал с разных ответов, по этому они поставляются "как есть".
Задумка хорошая, после пары релизов, если не будете относится спустя рукава, получится хороший хелп. Спасибо за начинание! »
Благодарю за критику. :)

shao
08-10-2010, 16:43
Благодарю за критику »
Это очень хорошо , что есть такая критика и , что Вы её правильно воспринимаете !

Я полностью согласен с R.i.m.s.k.y., в том , что нужно доработать (если уж Вы занялись таким делом :) )

Krinkels
08-10-2010, 17:16
shao
Я и не собираюсь бросать, и естественно буду дорабатывать




© OSzone.net 2001-2012