Inno Setup (создание инсталяционных пакетов). Часть 3

Статус
В этой теме нельзя размещать новые ответы.

EvilAlex

Старожил
Всем бобров !
Подскажите пожалуйста код. с помощью которого можно сделать вот такую форму отмены установки.?!

 

Snoopak96

Старожил
EvilAlex,
Код:
procedure MyExitMessage();
begin
MyExit := CreateCustomForm();
MyExit.Position := poScreenCenter;
IsDoneExit.ClientWidth := ScaleX(300);
IsDoneExit.ClientHeight := ScaleY(100);

//Тут рисуешь контролы на форме

end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm := False;
MyExitMessage();
if MyExit.ShowModal() = mrNo then
Cancel := False;
end;
Код:
procedure IsDoneExitMessage();
begin
IsDoneExit := CreateCustomForm();
IsDoneExit.Position := poScreenCenter;
IsDoneExit.ClientWidth := ScaleX(300);
IsDoneExit.ClientHeight := ScaleY(100);

//Тут рисуешь контролы на форме

end;

procedure CancelButtonOnClick(Sender: TObject);
begin
SuspendProc;
IsDoneExitMessage();
if IsDoneExit.ShowModal() = mrYes then ISDoneCancel:=1;
ResumeProc;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var Comps1,Comps2,Comps3, TmpValue:cardinal;
    FindHandle1,ColFiles1,CurIndex1,tmp:integer;
    ExecError:boolean;
    InFilePath,OutFilePath,OutFileName:PAnsiChar;
begin
  if CurStep = ssInstall then begin  //Если необходимо, можно поменять на ssPostInstall
    WizardForm.CancelButton.OnClick := @CancelButtonOnClick;
....
....
end;
 

Carlos

Участник
Модератор
Не знал в какой теме написать, поэтому пишу здесь и прошу не ругать если что.

Можно ли в настройках или в файлах конфигурации в Freearc прописать пароль, чтобы он сохранился и не писать его каждый раз при паковке?
Через окно настроек почему то не работает.

Так же перестала работать функция комментария из файла.
Прописываю путь и в комментарии отображается сам путь, а не комментарий.

Может я что-то не так делаю, не там ставлю галочки и т.д.?
 

Tolyak26

Новичок
Ребят, нужна ваша помощь. Мне нужно записать в INI файл строки, указанные в коде в зависимости от выбора мода, который пользователь захочет установить. Вся проблема состоит в том, что Inno Setup не может записывать одинаковые ключи в секции. Он просто напросто их перезаписывает... И в итоге записывает всего один ключ Можете помочь?

Вот код секции [INI]
Код:
[INI]
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/brutalv018a.pk3"; Tasks: Mods\HQMusic
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/DoomMetalVol3.wad"; Tasks: Mods\HQMusic
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/pk_doom_sfx_20120224.wad"; Tasks: Mods\HQSoundEffects
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/zdoom-dhtp-20121229.pk3"; Tasks: Mods\HDTextures
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/RealGoreForBrutalDoomV1.pk3"; Tasks: Mods\RealGore
Filename: "{app}\zdoom-{username}.ini"; Section: "Global.Autoload"; Key: "Path"; String: "./mods/BDMutator_v16zombiesounds.pk3"; Tasks: Mods\BDMutZombSounds
Вот результат после установки:
Код:
[Global.Autoload]
Path=./mods/BDMutator_v16zombiesounds.pk3
Выбор в инсталляторе такой
 
Последнее редактирование:

Mailchik

Старожил
Проверенный
Tolyak26, код...
 

Tolyak26

Новичок
Mailchik, прошу меня извинить, я совсем еще новичок в Inno Setup, но дело в том, что я использовал твой код и при установке инсталлятор извлекает только ini файл, остальные файлы игры пропускает и не извлекает.. Можно подправить? Спасибо, что помогаешь :)

Еще в содержимом INI файла есть только секция [Global.Autoload], я знаю, что можно сделать просто перезапись самой секции, а не полностью всего содержимого файла, но увы, я сам это сделать не в силах, можно тоже подправить?

# This file was generated by GZDoom 1.7.1 (r1526) / ZDoom 2.6.1 (r4129) on Wed Jun 05 02:06:44 2013

# These are the directories to automatically search for IWADs.
# Each directory should be on a separate line, preceded by Path=
[IWADSearch.Directories]
Path=.
Path=$DOOMWADDIR
Path=$HOME
Path=$PROGDIR
Path=wads

# These are the directories to search for wads added with the -file
# command line parameter, if they cannot be found with the path
# as-is. Layout is the same as for IWADSearch.Directories
[FileSearch.Directories]
Path=$PROGDIR
Path=$DOOMWADDIR

# Files to automatically execute when running the corresponding game.
# Each file should be on its own line, preceded by Path=

[Doom.AutoExec]
Path=$PROGDIR/autoexec.cfg

[Heretic.AutoExec]
Path=$PROGDIR/autoexec.cfg

[Hexen.AutoExec]
Path=$PROGDIR/autoexec.cfg

[Strife.AutoExec]
Path=$PROGDIR/autoexec.cfg

[Chex.AutoExec]
Path=$PROGDIR/autoexec.cfg

# WAD files to always load. These are loaded after the IWAD but before
# any files added with -file. Place each file on its own line, preceded
# by Path=
[Global.Autoload]
Path=./mods/brutalv018a.pk3
Path=./mods/pk_doom_sfx_20120224.wad
Path=./mods/zdoom-dhtp-20121229.pk3
Path=./mods/DoomMetalVol3.wad
Path=./mods/BDMutator_v16zombiesounds.pk3

# Wad files to automatically load depending on the game and IWAD you are
# playing. You may have have files that are loaded for all similar IWADs
# (the game) and files that are only loaded for particular IWADs. For example,
# any files listed under Doom.Autoload will be loaded for any version of Doom,
# but files listed under Doom2.Autoload will only load when you are
# playing Doom 2.

[Doom.Autoload]

[Doom1.Autoload]

[Doom2.Autoload]

[TNT.Autoload]

[Plutonia.Autoload]

[Freedoom.Autoload]

[Freedoom1.Autoload]

[FreeDM.Autoload]

[Heretic.Autoload]

[Hexen.Autoload]

[HexenDK.Autoload]

[HexenDemo.Autoload]

[Strife.Autoload]

[Chex.Autoload]

[Chex3.Autoload]

[UrbanBrawl.Autoload]

[Harmony.Autoload]

[LastRun]
Version=210

[GlobalSettings]
vid_tft=true
m_showinputgrid=false
m_show_backbutton=0
m_use_mouse=1
show_messages=true
mouse_sensitivity=1
gl_distfog=70
gl_light_ambient=20
gl_usevbo=2
gl_enhanced_nv_stealth=3
gl_billboard_particles=true
gl_billboard_mode=0
gl_particles_style=2
gl_sprite_blend=true
gl_spritebrightfog=false
gl_usecolorblending=true
gl_sky_detail=16
gl_usefb=false
gl_mask_sprite_threshold=0.5
gl_mask_threshold=0.5
gl_no_skyclear=false
gl_sort_textures=true
gl_clamp_per_texture=false
gl_texture_format=0
gl_texture_filter=2
gl_texture_filter_anisotropic=8
gl_texture_hqresize_targets=7
gl_texture_hqresize_maxinputsize=512
gl_texture_hqresize=0
gl_lights_additive=false
gl_light_particles=true
gl_light_sprites=true
gl_lights_size=1
gl_lights_intensity=1
gl_lights_checkside=true
gl_attachedlights=true
gl_dynlight_shader=false
gl_lights=true
gl_texture_useshaders=true
gl_glow_shader=true
gl_brightmap_shader=false
gl_colormap_shader=false
gl_fog_shader=false
gl_warp_shader=false
vid_contrast=1
vid_brightness=0
gl_render_precise=false
gl_plane_reflection=true
r_mirror_recursions=4
gl_vid_compatibility=false
gl_seamless=false
gl_render_segs=false
gl_mirror_envmap=true
gus_memsize=0
midi_dmxgus=true
gus_patchdir=
midi_timiditylike=false
midi_voices=32
midi_config=timidity.cfg
snd_midiprecache=false
opl_fullpan=true
opl_core=0
opl_numchips=2
timidity_frequency=22050
timidity_pipe=90
timidity_mastervolume=1
timidity_byteswap=false
timidity_8bit=false
timidity_stereo=true
timidity_reverb=0
timidity_chorus=0
timidity_extargs=
timidity_exe=timidity.exe
snd_mididevice=-1
spc_amp=1.875
fluid_chorus_type=0
fluid_chorus_depth=8
fluid_chorus_speed=0.3
fluid_chorus_level=1
fluid_chorus_voices=3
fluid_reverb_level=0.57
fluid_reverb_width=0.76
fluid_reverb_damping=0.23
fluid_reverb_roomsize=0.61
fluid_threads=1
fluid_samplerate=0
fluid_interp=1
fluid_voices=128
fluid_chorus=true
fluid_reverb=true
fluid_gain=0.5
fluid_patchset=
mod_autochip_scan_threshold=12
mod_autochip_size_scan=500
mod_autochip_size_force=100
mod_autochip=false
mod_interp=1
mod_volramp=0
mod_samplerate=0
mod_dumb=true
snd_sfxvolume=1
snd_output=default
snd_buffersize=0
snd_samplerate=0
snd_musicvolume=0.5
snd_waterlp=250
snd_midipatchset=
snd_output_format=PCM-16
snd_speakermode=Auto
snd_resampler=Linear
snd_waterreverb=true
snd_hrtf=false
snd_buffercount=0
snd_driver=0
r_columnmethod=1
map_point_coordinates=true
vid_maxfps=200
vid_adapter=1
vid_forceddraw=false
gl_vid_multisample=0
showendoom=0
joy_xinput=true
queryiwad_key=shift
joy_ps2raw=true
snd_movievolume=1
mouse_capturemode=1
in_mouse=0
m_filter=false
m_noprescale=false
use_mouse=true
k_mergekeys=true
norawinput=false
k_allowfullscreentoggle=true
joy_dinput=true
cd_drive=
cd_enabled=true
vid_winscale=1
fullscreen=true
vid_renderer=1
win_y=-1
win_x=-1
bgamma=1
ggamma=1
rgamma=1
vid_displaybits=8
vid_noblitter=true
vid_attachedsurfaces=false
vid_palettehack=false
vid_hwaalines=true
d3d_antilag=true
eaxedit_test=true
vid_aspect=0
vid_nowidescreen=false
vid_refreshrate=0
vid_vsync=false
vid_defbits=32
vid_defheight=600
vid_defwidth=800
Gamma=1
statfile=zdoomstat.txt
savestatistics=0
snd_flipstereo=false
snd_channels=32
cl_noprediction=false
telezoom=true
r_fakecontrast=1
chase_dist=90
chase_height=-8
gl_cachetime=0.6
gl_cachenodes=true
nomonsterinterpolation=false
png_gamma=0
png_level=5
screenshot_dir=
screenshot_type=png
screenshot_quiet=false
use_joystick=false
autosavecount=4
disableautosave=0
autosavenum=2
smooth_mouse=false
m_side=2
m_forward=1
m_yaw=1
m_pitch=1
lookstrafe=false
freelook=true
invertmouse=false
cl_run=false
demo_compress=true
save_dir=
longsavemessages=true
storesavepic=true
nofilecompression=false
cl_capfps=false
defaultiwad=doom
queryiwad=true
con_ctrl_d=

[GlobalSettings.Unknown]

[Doom.Player]
playerclass=Fighter
stillbob=0
movebob=0.25
neverswitchonpickup=false
gender=male
team=255
skin=base
colorset=0
color=40 cf 00
name=Player
autoaim=5000

[Doom.ConsoleVariables]
screenblocks=11
r_deathcamera=true
r_stretchsky=true
r_drawfuzz=1
vid_nopalsubstitutions=false
transsouls=0.75
menu_screenratios=-1
snd_menuvolume=0.6
show_obituaries=true
gl_lightmode=3
gl_fogmode=1
gl_brightfog=false
gl_enhanced_nightvision=true
gl_weaponlight=8
gl_fuzztype=0
gl_sclipfactor=1.8
gl_sclipthreshold=10
gl_spriteclip=2
gl_light_models=true
gl_interpolate_model_frames=true
gl_trimsprites=true
gl_precache=false
gl_texture_usehires=true
gl_aalines=false
snd_pitched=false
r_shadercolormaps=true
am_showmaplabel=2
crosshairgrow=false
crosshairscale=false
crosshairhealth=true
crosshaircolor=37 73 2b
crosshairforce=false
crosshair=0
st_scale=true
paletteflash=0
hudcolor_stats=3
hudcolor_statnames=6
hudcolor_xyco=3
hudcolor_ttim=5
hudcolor_ltim=8
hudcolor_time=6
hudcolor_titl=10
hud_berserk_health=true
hud_armor_green=100
hud_armor_yellow=50
hud_armor_red=25
hud_health_green=100
hud_health_yellow=50
hud_health_red=25
hud_ammo_yellow=50
hud_ammo_red=45
hud_showscore=false
hud_showstats=true
hud_showitems=true
hud_showmonsters=true
hud_showsecrets=true
hud_althud=false
hud_althudscale=2
st_oldouch=false
cl_maxdecals=1024
cl_spreaddecals=true
wi_noautostartmap=false
wi_showtotaltime=true
wi_percents=true
dimcolor=ff d7 00
dimamount=-1
hud_scale=false
allcheats=true
secretmessage=A Secret is revealed!
cl_bloodtype=0
cl_pufftype=0
addrocketexplosion=false
cl_missiledecals=true
cl_doautoaim=false
cl_bloodsplats=true
cl_showmultikills=true
cl_showsprees=true
r_maxparticles=4000
r_rail_trailsparsity=1
r_rail_spiralsparsity=1
r_rail_smartspiral=false
cl_rockettrails=1
dlg_musicvolume=1
sb_teamdeathmatch_headingcolor=6
sb_teamdeathmatch_enable=true
sb_deathmatch_otherplayercolor=2
sb_deathmatch_yourplayercolor=3
sb_deathmatch_headingcolor=6
sb_deathmatch_enable=true
sb_cooperative_otherplayercolor=2
sb_cooperative_yourplayercolor=3
sb_cooperative_headingcolor=6
sb_cooperative_enable=true
nametagcolor=5
displaynametags=0
language=auto
compatmode=0
vid_cursor=None
wipetype=1
chat_substitution=false
chatmacro0=No
chatmacro9=Yes
chatmacro8=I'll take care of it.
chatmacro7=Come here!
chatmacro6=Next time, scumbag...
chatmacro5=You suck!
chatmacro4=Help!
chatmacro3=I'm not looking too good!
chatmacro2=I'm OK.
chatmacro1=I'm ready to kick butt!
lookspring=true
con_midtime=3
msgmidcolor2=4
msgmidcolor=5
msg4color=3
msg3color=3
msg2color=2
msg1color=5
msg0color=6
msg=0
con_alpha=0.75
con_scaletext=1
con_centernotify=false
con_notifytime=3
con_notablist=false
cl_bbannounce=false
am_followplayer=true
am_textured=false
am_ovthingcolor_citem=e8 88 00
am_ovthingcolor_item=e8 88 00
am_ovthingcolor_monster=e8 88 00
am_ovthingcolor_friend=e8 88 00
am_thingcolor_citem=fc fc fc
am_thingcolor_item=fc fc fc
am_thingcolor_monster=fc fc fc
am_thingcolor_friend=fc fc fc
am_showtriggerlines=false
am_showkeys=true
am_drawmapback=true
am_map_secrets=1
am_ovsecretsectorcolor=00 ff ff
am_secretsectorcolor=ff 00 ff
am_interlevelcolor=ff 00 00
am_intralevelcolor=00 00 ff
am_ovtelecolor=ff ff 00
am_ovunseencolor=00 22 6e
am_ovotherwallscolor=00 88 44
am_ovthingcolor=e8 88 00
am_ovspecialwallcolor=ff ff ff
am_ovwallcolor=00 ff 00
am_ovyourcolor=fc e8 d8
am_lockedcolor=00 78 00
am_notseencolor=6c 6c 6c
am_xhaircolor=80 80 80
am_gridcolor=8b 5a 2b
am_thingcolor=fc fc fc
am_efwallcolor=66 55 55
am_cdwallcolor=4c 38 20
am_fdwallcolor=88 70 58
am_tswallcolor=88 88 88
am_specialwallcolor=ff ff ff
am_secretwallcolor=00 00 00
am_wallcolor=2c 18 08
am_yourcolor=fc e8 d8
am_backcolor=6c 54 40
am_colorset=0
am_showtotaltime=false
am_showtime=true
am_showitems=false
am_showmonsters=true
am_showsecrets=true
am_overlay=0
am_rotate=0

[Doom.LocalServerInfo]
maxviewpitch=90
sv_corpsequeuesize=64
forcewater=false
sv_smartaim=0
sv_disableautohealth=false
sv_dropstyle=0
compatflags2=0
compatflags=0

[Doom.UnknownConsoleVariables]

[Doom.ConsoleAliases]

[Doom.BrutalDoomActions.Bindings]
q=kickem
r=reloader

[Doom.BrutalDoomActions.DoubleBindings]

[Doom.BrutalDoomInteractions.Bindings]
f=brutaltaunt
v=wave1
x=wave2
j=advtaunt
k=oneliner

[Doom.BrutalDoomInteractions.DoubleBindings]

[Doom.BrutalDoomAdvMoves.Bindings]
z=roleft
c=roright

[Doom.BrutalDoomAdvMoves.DoubleBindings]

[Doom.Bindings]
1=slot 1
2=slot 2
3=slot 3
4=slot 4
5=slot 5
6=slot 6
7=slot 7
8=slot 8
9=slot 9
0=slot 0
-=sizedown
Equals=sizeup
tab=togglemap
w=+forward
e=+use
t=messagemode
LeftBracket=invprev
RightBracket=invnext
enter=invuse
ctrl=+crouch
a=+moveleft
s=+back
d=+moveright
`=toggleconsole
shift=+speed
\=+showscores
alt=+strafe
space=+jump
capslock=toggle cl_run
f1=menu_help
f2=menu_save
f3=menu_load
f4=menu_options
f5=menu_display
f6=quicksave
f7=menu_endgame
f8=togglemessages
f9=quickload
f10=menu_quit
f11=bumpgamma
f12=spynext
sysrq=screenshot
pause=pause
leftarrow=+left
rightarrow=+right
mouse1=+attack
mouse2=+altattack
mwheelup=weapprev
mwheeldown=weapnext
mwheelright=invnext
mwheelleft=invprev
dpadup=togglemap
dpaddown=invuse
dpadleft=invprev
dpadright=invnext
pad_start=pause
pad_back=menu_main
lshoulder=weapprev
rshoulder=weapnext

[Doom.DoubleBindings]

[Doom.AutomapBindings]
0=am_gobig
-=+am_zoomout
Equals=+am_zoomin
p=am_toggletexture
f=am_togglefollow
g=am_togglegrid
c=am_clearmarks
m=am_setmark
kp-=+am_zoomout
kp+=+am_zoomin
uparrow=+am_panup
leftarrow=+am_panleft
rightarrow=+am_panright
downarrow=+am_pandown
mwheelup=am_zoom 1.2
mwheeldown=am_zoom -1.2
 
Последнее редактирование:

Mailchik

Старожил
Проверенный
при установке инсталлятор извлекает только ini файл, остальные файлы игры пропускает и не извлекает.. Можно подправить?
У меня такого не наблюдается.

Еще в содержимом INI файла есть только секция [Global.Autoload], я знаю, что можно сделать просто перезапись самой секции, а не полностью всего содержимого файла, но увы, я сам это сделать не в силах, можно тоже подправить?
код...
 

urban

Старожил
как сделать теперь чтобы файлы распаковывались в precomp 0.38?пишет ошибку,кинул в скрипт файл прекомпа,и раскомментил строку и все равно http://rghost.ru/46583425
 

Tolyak26

Новичок
Mailchik, большое вам спасибо за помощь. Выручили!) На счет копирования файлов - это мой косяк в коде.
 

Mickey1s

Ветеран
Модератор
Всем привет. Можно ли переместить папку {tmp} чтоб временные файлы были например C:\Users\Admin\AppData\Local\Temp\Mickey1s\*
 

urban

Старожил
как сделать двойной прогресс бар, чтобы второй был маленький(у каталистов сейчас так)
 

Бахытжан

Новичок
помогите
я написал в скрипте DisablereadyPage=yes, и тут должен быть "установить" а не "далее"!!! Как быть ответьте
 

Adil

Старожил
Бахытжан
[SOURCE="inno"]#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

Код:
Procedure CurPageChanged(CurPageID: Integer);
Begin
  case CurPageID of
  wpSelectTasks:
  begin
    WizardForm.NextButton.Caption := ExpandConstant(SetupMessage(msgButtonInstall));
  end;
  end;
end;[/SOURCE][/SPOILER]
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху