Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
valyok666
20-09-2011, 16:11
Лександер, да ни чем она не плоха)просто узнать хотел
newmangor
20-09-2011, 17:22
Есть вопрос, упаковывал данные фриарком с параметрами -max -ld1024m, использую IsDone скрипт для распаковки, версия 0.6, при инсталяции инстал выдает следующее сообщение: "ERROR_ISARC_INVALID_COMPRESSOR"="Произошла ошибка при распаковке: Неизвестный метод сжатия архива!%nUnarc.dll вернул код ошибки: -2%n%s" Помогите кто сможет плз )))
insombia
20-09-2011, 17:28
newmangor я когда-то тоже так делал оно просто не распознает этот метод поэтому выбирай такой метод -mx -ld800m
newmangor
20-09-2011, 19:22
нет я согласен, но сжатие max гораздо лучше чем mx вот в чем дело и раз оно есть значит как то можно распаковать...
insombia
20-09-2011, 19:43
newmangor возможно оно не предусмотрено для исдона
newmangor, -max не предусмотрена ISDone и это факт.
А ещё мне кажется что ошибка кроется в arc.ini... Попробуй этот файл скопировать в папу исдона из папки фриарка или посмотреть справку.
Devil Mehanik
21-09-2011, 13:19
Новый сайт по InnoiSetup
http://innosetup.ucoz.net/
Devil Mehanik, не спамим пожалуйста.
insombia
21-09-2011, 17:08
Devil Mehanik Вы задолбали уже со своими говно-сайтами об инно.На юкозе любой может создать сайт а от сделать так как Лексантер никто не может чтобы наполнять не просто уже готовыми свороваными скриптами а ещё и свои придумать и впалять туда
P.S.Уже одного хватает спамера
Raf-9600
21-09-2011, 18:18
А возможно ли сделать, чтоб юзер смог поставить "птичку" напротив компонентов Version\107 и Version\108 только в случае если выбран компонент "GameLoD"?
Грубо говоря, нужно связать не дочерние компоненты.
Gnom_aka_Lexander
21-09-2011, 18:58
Raf-9600
Только в коде (компоненты невозможно сделать зависимыми друг от друга)
Вариант:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Components]
Name: text; Description: Язык субтитров; Types: full;
Name: text\rus; Description: Русский; Flags: exclusive;
Name: text\eng; Description: Английский; Flags: exclusive;
Name: voice; Description: Язык озвучки;
Name: voice\rus; Description: Русский; Flags: exclusive;
Name: voice\eng; Description: Английский; Flags: exclusive;
[Code]
var
OldEvent_ComponentsListClickCheck: TNotifyEvent;
procedure ComponentsListClickCheck(Sender: TObject);
begin
If IsComponentSelected('text') then
WizardForm.ComponentsList.ItemEnabled[3]:=False
else
WizardForm.ComponentsList.ItemEnabled[3]:=True;
OldEvent_ComponentsListClickCheck(Sender);
end;
procedure InitializeWizard();
begin
with WizardForm.ComponentsList do
begin
OldEvent_ComponentsListClickCheck := OnClickCheck;
OnClickCheck := @ComponentsListClickCheck;
ItemEnabled[3]:=False;
end;
end;
Raf-9600
21-09-2011, 20:04
Лександер, Спасибо, а вы могли бы подсказать, как сделать чтоб правило действовало не только на третий, но и на четвертый компонент? :)
Адаптированная версия вашего примера: [Components]
Name: "GameDiablo2"; Description: Diablo 2; Flags: fixed; Types: full compact custom;
Name: GameLoD; Description: Lord of Destruction; Types: full;
Name: Version; Description: Версия; Flags: fixed; Types: full compact custom;
Name: Version\107; Description: 1.07; Flags: exclusive;
Name: Version\108; Description: 1.08; Flags: exclusive;
Name: Version\109; Description: 1.09; Flags: exclusive; Types: full;
[code]
var
OldEvent_ComponentsListClickCheck: TNotifyEvent;
procedure ComponentsListClickCheck(Sender: TObject);
begin
If IsComponentSelected('GameLoD') then
WizardForm.ComponentsList.ItemEnabled[3]:=True
else
WizardForm.ComponentsList.ItemEnabled[3]:=False;
OldEvent_ComponentsListClickCheck(Sender);
end;
procedure InitializeWizard();
begin
with WizardForm.ComponentsList do
begin
OldEvent_ComponentsListClickCheck := OnClickCheck;
OnClickCheck := @ComponentsListClickCheck;
ItemEnabled[3]:=True;
end;
end;
Gnom_aka_Lexander
21-09-2011, 20:08
Спасибо, а вы могли бы подсказать, как сделать чтоб правило действовало не только на третий, но и на четвертый компонент? »
Логично:
procedure ComponentsListClickCheck(Sender: TObject);
begin
If IsComponentSelected('GameLoD') then begin
WizardForm.ComponentsList.ItemEnabled[3]:=True;
WizardForm.ComponentsList.ItemEnabled[4]:=True;
end else begin
WizardForm.ComponentsList.ItemEnabled[3]:=False;
WizardForm.ComponentsList.ItemEnabled[4]:=False;
OldEvent_ComponentsListClickCheck(Sender);
end;
end;
ISFont.dll
Библиотека позволяет загрузить свой шрифт в формате .ttf
P.S.: Облекчил работу загрузки шрифта =)
Скачать (http://rghost.ru/22503521)
leha---83
21-09-2011, 20:19
Всем привет.
Есть вопрос. можно ли сделать так что бы в конце установки сделать поля:
Введите ваш никнейм:
Введите ваш клан-тег:
Выбрите язык клиента: Русский, Английский.
Все эти параметры содержатся в текстовом файле (rev.ini)
[Emulator]
# CacheEnabled set to true to enable loading apps from GCF.
# If it is true, and a clientregistry.blob file is not supplied,
# then you must supply revApps.ini file with the correct cache requirements.
# See the example revApps.ini, however it is highly recommended that you use
# a clientregistry.blob file for maximum compatibility
#
# Default = False
#
CacheEnabled = false
# CachePath - set to the folder where your GCF files are located
#
# Default = (n/a)
#
CachePath = E:\Steam\SteamApps
# Language - rev emu will automagically load the correct language files.
# This can be English, French, Italian, German, Spanish, sChinese,
# Korean, Koreana, tChinese, Japanese, Russian, Thai, or Portugeuse
#
# revEmu will try to set the Language key in the following order:
# Use the Language key in the this rev.ini if it is present
# Use the Steam Language key in the registry if it is present
# Default the Language to English
#
#Language = English
Language = Russian
# Change Logging to True to enable/disable log file output for steam.dll
#
# Default = False
#
Logging=False
# Change SteamDll to point to your official Steam client DLL.
# This setting is required for Steam UserID Validation functions
# to support legit Steam IDs. Otherwise, all clients would get
# IDs generated from their IP addresses.
# Also make sure you uncomment the line below (remove "#")
# if you want to use this setting!
# Note that this setting only applies to games using SteamGameServer
# up to version 003. (e.g. CS: Source, Team Fortess 2, Garry's Mod)
#
# Default = (n/a)
#
SteamDll=.\bin\Steam\Steam.dll
# Change SteamClient to True if you want to use the steamclient emulator.
# This setting is recommended to be true for both clients \ game servers
# and for all games, except games which use SteamClient006 interface
# (e.g. CS: Source, Half-Life 2: Deathmatch)
# To see if the game is using this old interface, enable SteamClient,
# enable Logging and you will notice a log line "Using SteamClientXXX".
# If 007, leave the option ON, otherwise, it is recommended not to use it.
#
# Default = False
#
SteamClient = True
# Change SteamUser to the steam username that you wish to use with revEmu
# Defaults to revCrew if not specified
#
SteamUser = SteamPlayer
[Log]
# If Logging is set to True, choose which functions would you like to log.
#
# Default = False
#
FileSystem=False
Account=False
UserID=False
[steamclient]
################################### NOTE ####################################
# These settings may apply even if you don't choose to use steamclient.dll! #
#############################################################################
#
# Change the setting below to set your PlayerName (used in src2007 engine)
# not use ""
#
# Default = REVOLUTiON
#
PlayerName=
# Change the setting below to enable/disable log file output for steamclient.dll
#
# Default = False
#
Logging=False
# Change ClientDLL to point to the original steamclient.dll
# This setting will enable VAC for your server and your server will be listed
# on Valve master server! Also, Steam clients will have their regular Steam IDs
# Please use the steamclient.dll from Steam folder!
#
# Default = (n/a)
#
#ClientDLL=.\bin\Steam\steamclient.dll
#
#
#SteamExe=E:\Steam\Steam.exe
# DisableUnlockedItems enables you to choose whether to use the new weapons in
# Team Fortress 2. This setting applies to you only if you are a regular player,
# or to all your clients if you are a server hoster.
#
# Default = False
#
#DisableUnlockedItems = True
# If you use in Ultimate SSDK change the setting below to True
# use only Ultimate SSDK enable else disable.
# Default = False
#
#EnableSDK = True
#Change the setting to set masterserver, from where serverlist will be got.
#No support Setti masterserver.....
#Default = 72.165.61.136:27015 only for HL2
#Friends tab in serverbrowser shows another masterserver for VIP server ($)
#
#HL1 servers
#MasterServer = 188.40.40.201:27010
#MasterServer = 69.28.158.131:27010
#MasterServer = 209.197.20.34:27010
#MasterServer = 69.28.140.247:27010
#
#HL2 servers
#
MasterServer = 72.165.61.153:27015
#MasterServer = 63.234.149.83:27011
#MasterServer = 63.234.149.90:27011
#
#rdkf
#MasterServer = 68.142.72.250:27012
#Search game version in MasterServer.
#Default search all version.
#
#GameVersion = 1.0.0.64
#Add rename ClanTag maximum 12 symbol UTF-8 or 24 symbol ANSI
#ex. ClanTag = revcrev
ClanTag=[No-Steam]
[GameServer]
# GameServer policy rules
# Allow (v9.73 < revEmu < 9.83) clients to join your server
#
# Default = True
#
AllowOldRev74=False
# Allow revEmu v9.63 ~ 9.73 clients to join your server
# revEmu v9.62 and below will be rejected nevertheless
#
# Default = True
#
AllowOldRev=False
# Allow unknown clients to join your server
#
# Default = True
#
AllowUnknown=False
# Allow cracked Steam clients to join your server
#
# Default = True
#
AllowCracked=False
# Allow legitimate Steam clients to join your server
#
# Default = True
#
#AllowLegit=False
#Allowed any count connect Unknown client with one IP (25 Unknown clients 1 IP default true)
#
AllowedAnyCountConnectUnknownClientWithOneIP = false
[GameServerNSNet]
#EnableNSNetSvc = [False/UDP/TCP/BOTH]
#NSNetDedicatedPort = Порт(Только для Slave серевров)
#AdditionalSlaveServer = IP:PORT
#AdditionalSlaveServer = IP:PORT
#AdditionalSlaveServer = IP:PORT
#AdditionalSlaveServer = IP:PORT
Raf-9600
21-09-2011, 20:21
Лександер, http://i25.fastpic.ru/big/2011/0725/ac/bae6b5acb4bc439f5ddf6c309166bcac.gif
insombia
21-09-2011, 20:40
leha---83 если захотеть можно все найти :cool:
вот (http://forum.oszone.net/post-1584641-430.html)
Выбрите язык клиента: Русский, Английский.
только через компоненты
leha---83
21-09-2011, 20:57
insombia, Спасибо огромное, но хотелось бы немного не так!
Нужно в самом окне завершения установки
insombia
21-09-2011, 21:00
leha---83 блин когда-то делали что есть выбор ника нормальный код но нигде не могу найти
Gnom_aka_Lexander
21-09-2011, 21:06
ссылка (http://rghost.ru/3857708) Пример сложной работы с *.ini-файлами, с созданием файла полностью и вводом множества данных из окна инсталлятора, а также создание подпапки по имени одного из параметров, на примере инсталлятора клиента чата Коммфорт.
Может, комуто этот пример поможет избежать множества мучений. Огромное спасибо Shegoratу за помощ на последнем этапе. Делал давно, можно сделать короче и проще, Все руки не дойдут переделать, никак :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC