View Full Version : Isexec (ISdone)
How to use this?
I want to use oggdec.exe to decode *.wav file..
example:
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\001.arc" "{app}\"'), ExpandConstant('{tmp}'), '...',false) then break;
Razor12911
22-04-2013, 22:08
include the program along with setup then extract it to tmp
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\oggdec.exe'), ExpandConstant('Parameter'), ExpandConstant('{tmp}'), '...',false) then break;
can you give me some example of the parameter
Razor12911
22-04-2013, 22:46
hmm,:confused:, I don't even know oggdec.exe
danswano
23-04-2013, 08:52
oggdec.exe code part is included inside ISDone iss project and i think it starts decoding ogg files automatically once they are found in the game files, i had to remove the whole code related to it from the project once because i didn't want to encode or decode any ogg files.
The game was SWFU2
pakrat2k2
23-04-2013, 10:02
Look for this section in your script & insert the OGG Decode subsection as indicated ( section between dashes ( ----- ) ).
ISDoneError:=true;
if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin
repeat
//if ActiveLanguage = 'English' then ChangeLanguage ('English'); / / if selected at the start English.ini
ChangeLanguage('English');
//if not SrepInit('',512,0) then break;
//if not PrecompInit('',128,PCFVer) then break;
if not SrepInit(ExpandConstant('{app}\'),512,0) then break;
if not PrecompInit(ExpandConstant('{app}\'),128,PCFVer) then break;
if not FileSearchInit(true) then break;
if not ISArcExtract (0, 0, ExpandConstant ('{src}\*.arc'), ExpandConstant ('{app}\'),'', false,'', ExpandConstant ('{tmp}\arc.ini' ), ExpandConstant ('{app} \'), notPCFonFLY {PCFonFLY}) then break;
// OGGDecode subsection between dashes ( ----- )
--------------------------------------------------------------
// unpacking of files using an external application
FindHandle1:=ISFindFiles(0,ExpandConstant('{app}\* .ogg'),ColFiles1);
ExecError:=false;
while not ExecError and ISPickFilename(FindHandle1,ExpandConstant('{app}\' ),CurIndex1,true) do begin
InFilePath:=ISGetName(0);
OutFilePath:=ISGetName(1);
OutFileName:=ISGetName(2);
ExecError:=not ISExec(0, 0, 0, ExpandConstant('{tmp}\oggdec.exe'), '"'+InFilePath+'" -w "'+OutFilePath+'"',ExpandConstant('{tmp}'),OutFileName,false);
end;
ISFindFree(FindHandle1);
if ExecError then break;
------------------------------------------------------------
ISDoneError:=false;
until true;
ISDoneStop;
end;
HideControls;
WizardForm.CancelButton.Visible:=true;
WizardForm.CancelButton.Enabled:=false;
end;
above was found in isdone6f archive script.
danswano
25-04-2013, 05:34
I've encoded some wave files to ogg and i was trying the decode function but i got this error, any one knows why?
Razor12911
25-04-2013, 06:52
maybe oggdec.exe wasn't found in temp folder or parameter is incorrect.
danswano
25-04-2013, 06:55
i think there is no other parameter to decode ogg to wav, it's only -w
i'm trying to reduce the size of the L4D2 sound folder size, it's about 3.5 gigz of wav files.
with ogg i think it will be reduced to 500 megz
couldn't find anything on google :/
Razor12911
25-04-2013, 07:04
hmm, Interesting, 3.5Gb - 500Mb, I guess I will start investigating. :D
I use this parameter but my problem is the .ogg files is not deleted after decoded..
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\oggdec.exe'), ExpandConstant('"{app}\data\sounds\*.ogg"'), ExpandConstant('{tmp}'), '...',false) then break;
any solution?
sorry my bad english
danswano
26-04-2013, 08:11
It's not working for me, can you give me your sample project or at least the whole code related to ogg decoding?
Add this to script..
[Files]
Source: oggdec.exe; DestDir: {tmp}; Flags: dontcopy
.
.
.
.
[Code.]
ExtractTemporaryFile('oggdec.exe');
.
.
.
.
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\oggdec.exe'), ExpandConstant('"{app}\data\sounds\*.ogg"'), ExpandConstant('{tmp}'), '...',false) then break;
danswano
26-04-2013, 09:40
How did you set the progress percentage value? after decoding starts the progress bar percentage becomes like 531561%
danswano
26-04-2013, 09:57
What you mean? explain further please.
Change like this..
example:
if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin
repeat
ChangeLanguage('English');
if not SrepInit('',512,0) then break;
if not PrecompInit('',128,PCFVer) then break;
if not FileSearchInit(true) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data1.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\*.srep'),ExpandConstant('{ap p}\~data0000.pcf'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\*.pcf'), ExpandConstant('{app}\data.arc'), true) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data.arc'), ExpandConstant('{app}\'), '', true, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
Compile and run setup until finished.. then add records.inf(can be found on source folder) to your script
#define records
.
.
[Files]
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
Compile and run setup again..
danswano
26-04-2013, 10:15
The records.inf is already there and the percentage of the arc file extraction is fine, the problem is when the ogg decoding starts.
Did you set a percentage value for your isexec ogg decoding line?
danswano
26-04-2013, 10:19
Got this error:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.