PDA

View Full Version : Compiler warning GEN1086



tonisa
11-10-2010, 08:20 AM
Hi,
compiling a sb7-project with Developer Edition Version 7.2.3062 Trial I receive the following error:
Compiler warning GEN1086: Archive Integrity Verification signing process failed. Fatal Compiler Error [4][6]: Cannot create: ..myOutputExe..

The standard "Microsoft Windows" - errordialog appears and clicking con "Close programs" SetupBuilder 7.2 closes. I'm working on a Windows Vista PC, the OutputExe is created on a network-path (Server2008) with mapped drive (not UNC). This happens only if the OutputExe is clicked in an Vista-ExplorerWindow (it is not running). If I unselect it in the ExplorerWindow, the compiling process terminates without problems.
I hope you can reproduce the problem. Should you need further infos, let me know, please.
best regards
Toni

linder
11-10-2010, 08:33 AM
Toni,

I assume the mapped drive is not available in your non-elevated running SB7 compiler instance. That's why GetLastError (the second figure in "[4][6]") returns "6" (ERROR_INVALID_HANDLE).

Hope this helps.

Friedrich

linder
11-10-2010, 08:39 AM
I forgot to mention: this "Compiler warning GEN1086: Archive Integrity Verification signing process failed. Fatal Compiler Error [4][6]: Cannot create: ..myOutputExe." is reported if the CopyFile Windows API fails and so it cannot generate a valid setup.exe.

In the upcoming SetupBuilder 7.3, we'll terminate the compilation process immediately after the above error was reported. Thank you for the information.

Friedrich

tonisa
11-10-2010, 09:05 AM
Hi Friedrich,
I posted this issue to help make your SB just more stable. As said, with this error SB7 crashes. So you should put the step which creates the final output within an exception-handling routine. The drive / path is accessible since deleting first the contents of the outputpath (setup.exe and setup.html) it compiles without problems. When raising the error, in the outputpath I find a newly created Setup.exe of 24 Kb and a Setup.lsp of about 16213kb. When compiled without this error, the Setup.exe is 16236kb (sum). So the problem seems to occur when adding the setup.lsp-stream to the setup.exe.
Should you need further info, let me know. I can show you the problem with teamviewer, if you are interested.
best regards.
Toni

linder
11-10-2010, 09:15 AM
Toni,

Yes, thank you very much for this! We have changed the compiler now so it should not crash any longer in your situation. It will display the GEN1086 error and then terminate the compilation process immediately. Windows returns an invalid handle error in your case and the compiler did not catch this scenario. That's why it crased :(.

Thanks again for bringing this problem to our attention!

Friedrich

tonisa
11-11-2010, 05:20 AM
Friedrich,
another workaround could be to delete the .exe and .html just before the compile-build-process begins and interrupt the rest of the steps if this deletion generates an error. Just my 5 pence.
best regards
Toni

linder
11-11-2010, 05:43 AM
Hi Toni,

The compiler deletes the files. But in your environment, something seems to happen during the compilation process. As I understand it, you have a small .exe (the "stub" loader) and a .lsb file in this folder after it "crashed". That means, the compiler was able to write the files. But suddenly, something changes and the compiler has not write access any longer (the Windows API returns an "invalid handle" error) and is unable to manipulate the .exe.

"GEN1086: Archive Integrity Verification signing process failed" is reported because the compiler was unable to write data to the .exe (you have 'Enable Installer Integrity Check' enabled -- otherwise, it would not report this error). The CreateFile Windows API triggers an invalid handle error the compiler did not handle this scenario (bug in the compiler). As a result, it continued (executed some more functions, e.g. CopyFile) and then it crashed.

We have fixed this in our latest internal source codes and it should not crash any longer in the upcoming V7.3.

BTW, does it also crash if you have 'Enable Installer Integrity Check' disabled?

Thanks,
Friedrich

tonisa
11-12-2010, 01:40 AM
Hi Friedrich,
with "Enable Installer Integrity Check" it doesn't crash and the created setup.exe installs without problems.
The reason for the blocking is probably the following: in a Windows Explorer Window I had clicked the setup.exe. The Explorer shows some of the document properties in the bottom status-line. When the compiler creates the "stub" loader, properties or the file will change and the explorer notification-event accesses the file to update the info in the statusline and blocks it for a few time. Could be this is a problem of my Windows Vista.
best regards
Toni

linder
11-12-2010, 01:56 AM
Hi Toni,

Thank you for the information. Interesting question, we'll check this.

Friedrich