I am using ISTool and Inno Setup and I have a strange behaviour with ISTool that I can’t explain.
My script is "Inno Setup correct" and a setup is correctly generated.
When finished to generate, I use the ISTool section called [_ISToolPostCompile] to call an external binary to update version of the generated setup. The command line is:
"..\..\PatchVer.x32.exe -P 3 -F 3 -t PatchVer.inf -r ..\WinAgentLog_Setup.exe"
where PatchVer.x32.exe is the tool to update version, PatchVer.inf is a configuration file of the tool and WinAgentLog_Setup.exe the setup to update. This setup is generated by Inno Setup (called by ISTool).
I can’t explain why but some times it works and some time it does not work. It is like the generated setup was locked (by ISTool ?) and I can’t patch it.
The error code is 110 (returned by GetLastError()) and it means “Unpossible to open the specified device or file). In my case, the specified file is the file to patch. The error always occurs when I perform EndUpdateResource() call.
The patch program performs the following actions in that order:
o Copy resource memory buffer
o Internal stuff (display buffer, modify buffer, …)
Be sure that I have tested my command line from outside of ISTool and it works 100% of the time.
o So I don’t think it is a problem in my patch tool.
o I don’t think it is a problem with Inno Setup.
o The only thing I see is a sort of “lock” on the generated setup by ISTool. Do you think it is possible?
Kind regard (and sorry for my english)