Archived Forum Post

Index of archived forum posts

Question:

chilkatzip decompress problem

Nov 07 '12 at 10:12

Hi, I'm a developer working on Delphi 7, and I have the following problem.

The problem occurs when decompressing, when the file to decompress is running.

I need to hide the error when decompressing fails.

I tried OverwriteExisting property, but doesn't work because it shows the same error message.

This is the log (translated into English is: "The process cannot access the file because it is being used by another process"):

ChilkatLog>
WriteExe>
DllDate>Jan 19 2012 /DllDate>
UnlockPrefix>AXONIDZIP /UnlockPrefix>
Username>AXON14:Mirame 2 /Username>
Architecture>Little Endian; 32-bit /Architecture>
Language>ActiveX /Language>
error>Failed to open file (2) /error>
filename>C:ProyectosRemotoAdmin 2012binremoto.exe /filename>
currentWorkingDirectory>C:ProyectosRemotoAdmin 2012bin /currentWorkingDirectory>
osErrorInfo>El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso. /osErrorInfo>
Filename>C:ProyectosRemotoAdmin 2012binremoto.exe /Filename>
/WriteExe>
/ChilkatLog>
Thanks.


Answer

I wonder if this error is because your 2012binremoto.exe is in use OR one of the files it is trying to create is in use.

You may want to exclude the directory in your virus-scanner while testing.


Answer

Thanks for the reply.

That's what happens, the file "remoto.exe" is in use. What I need is that when "remoto.exe" in use and try to decompress, not display the error message.


Answer

I have no idea but look at the documentation for "AutoTemp": http://www.chilkatsoft.com/refdoc/vcCkZipDoc.html#prop003

Note: To create a self-extracting EXE with no user-interaction, set the following properties to these values:
    ExeSilentProgress = false
    ExeNoInterface = true
    ExeFinishNotifier = false


Answer

I generate the executable with the following parameters:

ChilkatZip21.AutoRun := dirAUX+'eye2eye.exe';
ChilkatZip21.ExeTitle := 'eye2eye';
ChilkatZip21.ExeUnzipCaption := 'Iniciando eye2eye';
ChilkatZip21.ExeSilentProgress:=1;
ChilkatZip21.OverwriteExisting:=0;
ChilkatZip21.AutoTemp := 1;
ChilkatZip21.ExeNoInterface := 1;
ChilkatZip21.ExeUnzipDir:='%TEMP%';

I tried also to change the values​​, but always gives the same result.

Thanks.


Answer

This is really a Windows operating system question. The question is: Can a .exe be overwritten while running? To answer it, Google "windows overwrite exe while it is running". There are many good results on the topic.


Answer

I don't want to replace the executable running (I really don't care), what interests me is that no error, or the error isn't visible (since I can't know if one of my clients will run multiple sometimes the self-extracting).

Thanks.